telegraf输出MySQL_Grafana+influxdb+telegraf初探-快速监控主机与mysql

一、安装

1.1、配置influxdb yum源

[root@node ~]# cat /etc/yum.repos.d/influxdb.repo

[influxdb]

name = InfluxDB Repository - RHEL \$releasever

baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable

enabled = 1

gpgcheck = 1

gpgkey = https://repos.influxdata.com/influxdb.key

1.2、安装Grafana+influxdb+telegraf

安装influxdb

yum install influxdb

安装telegraf

yum install telegraf

安装grafana

wget https://dl.grafana.com/oss/release/grafana-6.1.3-1.x86_64.rpm

yum localinstall grafana-6.1.3-1.x86_64.rpm

1.3、软件版本

InfluxDB version: 1.7.4

Telegraf version: 1.10.2

Grafana version: 6.1.3

1.4、启动服务,添加开机启动

systemctl start influxdb.service

systemctl start telegraf.service

systemctl start grafana-server.service

systemctl enable influxdb.service

systemctl enable telegraf.service

systemctl enable grafana-server.service

1.5、查看grafana界面

grafana默认监听在3000端口,默认用户名admin,密码admin

034c2f41a27ea4c4dd49c69c01e9ea27.png

二、数据采集之telegraf

Telegraf是用Go写的代理程序,可以用于收集系统和服务的统计数据,是TICK技术栈的一部分。它具备输入插件,可以直接从系统获取指标数据,从第三方API获取指标数据,甚至可以通过statsd和Kafka获取指标数据。它还具备输出插件,可以将采集的指标发送到各种数据存储,服务和消息队列。比如InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等,目前Telegraf尚不支持Oracle数据库统计数据的实时监控。

f5f9686c490d279cc9c5f40a841d4b10.png

三、数据存储之InfluxDB

InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载,主要用于存储系统的监控数据

InfluxDB有三大特性:

• Time Series (时间序列):可以使用与时间有关的相关函数(如最大,最小,求和等)

• Metrics(度量):你可以实时对大量数据进行计算

• Eevents(事件):它支持任意的事件数据

特点

• Schemaless(无结构),可以是任意数量的列

• Scalable(可扩展):min, max, sum, count, mean, median 一系列函数,方便统计

• Native HTTP API, 内置http支持,使用http读写

• Powerful Query Language 类似sql

• 自带压力测试工具等,功能强大

四、数据展示之Grafana

Grafana是一个开源指标分析和可视化套件,常用于可视化基础设施的性能数据和应用程序分析的时间序列数据。也可以应用于其他领域,包括工业传感器,家庭自动化,天气和过程控制。但请注意,我们使用Grafana最关心的是如何把数据进行聚合后进行展示。

Grafana支持多种不同的时序数据库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。它支持下面几种数据源:Graphite、Elasticsearch、CloudWatch、InfluxDB、OpenTSDB、Prometheus、MySQL、Postgres、Microsoft SQL Server (MSSQL)。每种数据源都有相应的文档,可以将多个数据源的数据合并到一个单独的仪表板上。

五、配置监控主机状态及mysql运行状态

5.1、创建数据库

[root@node ~]# influx

> create user "mysql-server"with password '123456'

> create database myserverDB

5.2、配置本机的influxdb数据库为期望的输出源-output

[root@node ~]# vim /etc/telegraf/telegraf.conf

[[outputs.influxdb]]

urls = ["http://127.0.0.1:8086"]

database = "myserverDB"

5.3、配置监控项-input

配置基本监控项

[root@node ~]# cat /etc/telegraf/telegraf.d/telegraf.conf

[[inputs.net]]

interfaces = ["eth0,eth1,lo"]

[[inputs.cpu]]

##Whether to report per-cpu stats or not

percpu = true

##Whether to report total system cpu stats or not

totalcpu = true

## Iftrue, collect raw CPU time metrics.

collect_cpu_time = false

# Read metrics about disk usage by mountpoint

[[inputs.disk]]

## Bydefault, telegraf gather stats for all mountpoints.

##Setting mountpoints will restrict the stats to the specified mountpoints.

#mount_points = ["/"]

##Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually

##present on /run, /var/run, /dev/shm or /dev).

ignore_fs = ["tmpfs", "devtmpfs"]

# Read metrics about disk IO by device

[[inputs.diskio]]

[[inputs.kernel]]

[[inputs.mem]]

[[inputs.processes]]

[[inputs.swap]]

[[inputs.system]]

[[inputs.netstat]]

配置mysql监控项

[root@node ~]# cat /etc/telegraf/telegraf.d/telegraf_mysql.conf

[[inputs.mysql]]

interval = "5m"

servers = ["tcp(127.0.0.1:3306)/"]

perf_events_statements_digest_text_limit = 120

perf_events_statements_limit = 250

perf_events_statements_time_limit = 86400

table_schema_databases = [""]

gather_table_schema = false

gather_process_list = true

gather_info_schema_auto_inc = true

gather_slave_status = true

gather_binary_logs = false

gather_table_io_waits = false

gather_table_lock_waits = false

gather_index_io_waits = false

gather_event_waits = false

gather_file_events_stats = false

interval_slow = "30m"

5.4、配置grafana界面

选择Data Sources,添加需要的数据源

9209ca6b6dafe7915216950b1bccee9f.png

创建主机仪表盘

44f7b10153676a6228fd21589f3c5a0a.png

可以通过访问https://grafana.com/dashboards 来查看已经由其他用户共享的仪表盘,选取合适的使用,缩短上手时间

将合适的模版import导入,我这里用的是https://grafana.com/dashboards/1443, 注意模版与telegraf input配置一致。

777b46c32560433f5311a0ad9afafbe2.png

可以看到如下界面

8b98396b871d78ddc6013b5f415326ad.png

六、通过自定义脚本采集监控数据

6.1、在influxdb数据库创建mysql_run_status库

create user "admin" with password '123456'

create database mysql_run_status

6.2、在被监控主机上创建监控脚本,并开启mysql

通过influxDB数据库http接口上传数据,0为up,1为down

[root@node2 local]# systemctl start mariadb

[root@node2 local]# cat mysql_status.sh

#!/bin/bash

systemctl status mariadb.service |grep running &>/dev/null

if [ $? -eq 0 ];then

echo "mysql_status=0" > temp_mysql_run

else

echo "mysql_status=1" > temp_mysql_run

fi

IP=192.168.143.131

test=`cat temp_mysql_run`

curl -i -XPOST 'http://192.168.143.130:8086/write?db=mysql_run_status' --data-binary "mysql_run_status,ip=$IP,$test count=1"

6.3、执行监控脚本,查看入库情况

./mysql_status.sh &> /dev/null

> select * from mysql_run_status

name: mysql_run_status

time count ip mysql_status

---- ----- -- ------------

1556267694277201332 1 192.168.143.131 0

6.4、grafana展示

连接数据源

387df4e00523d3a7be49111b6ef44214.png

7184138beda5eace33a49a1d6a676da1.png

创建仪表盘

62fd50ad427ba094839519e24024e3d3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新能源汽车产业深度研究报告:从2.0迈入3.0时代(113页)

来源:华西证券1.现状:发展节奏加快 电动化趋势明朗1.1.全球:新能源汽车加速渗透 中国占比持续提升 全球新能源汽车销量保持高速增长,十年 CAGR 达 99.4%。2008年新能源汽车 销量仅有 0.5 万辆,2011 年增至 4.9 万辆&am…

linux清除configure文件_在Linux操作系统下自动生成Makefile的方法

在Linux操作系统下进行开发,编写Makefile似乎是不可缺少的事情。但是对于一个比较大的工程,编写一个符合规范的Makefile并非易事。而且由于Makefile的各种显式,隐式规则,加之平时并不经常编写Makefile,导致我们写一个M…

mysql工作台安装使用_如何安装MySQL工作台?

问题描述在10.04或10.10上安装MySQL工作台不是问题,因为deb软件包可以在MySQL的网站上找到。但是没有11.04 deb包。那么,如何在11.04上安装MySQL工作台并在通过apt-get update向ubuntu提供更新时自动更新它。最佳解决办法从MySQL Workbench downloads页面…

华为轮值董事长郭平:打造VR/AR信息高速公路,支撑产业繁荣

来源:华为10月19日,以“VR让世界更精彩——VR5G开启感知新时代”为主题的2019世界VR产业大会在江西省南昌市举行。华为轮值董事长郭平发表了《打造VR/AR 信息高速公路,支撑产业繁荣》的主题演讲。郭平认为:VR/AR将成为5G时代的首批…

使用Ping命令解析主机名解析出来的是IPv6

如果你经常使用ping命令,并身处局域网,那么你肯定会有这样一个疑问:Ping计算机名为何是IPv6地址?问这个问题的人很少见,大多都是对网络知识稍有了解的人,所以才会闻到关于ping的问题,而且在这之…

cstring判断包含字符串_作为java程序员要知道的大厂常见的算法面试题:字符串的包含...

1.2 字符串的包含题目描述给定一长字符串a和一短字符串b。请问,如何最快地判断出短字符串b中的所有字符是否都在长字符串a中?请编写函数bool StringContain(string &a, string &b)实现此功能。为简单起见,假设输入的字符串只包含大写…

数字双胞胎技术和物联网如何帮助企业取得成功

来源:物联之家网(iothome.com)到2023年,全球数字双胞胎市场预计将达到150亿美元,2017年至2023年的复合年增长率(CAGR)为37%。通用电气、IBM和微软等主要公司正在使用数字双胞胎技术来…

武汉凭什么被列为国家超大城市?

2014年11月,国务院发布国发2014第51号文件《关于调整城市规模划分标准的通知》,新标准将城市划分为五类七档,其中规定:城区常住人口1000万人以上的城市为超大城市。 根据该标准,此前北京、上海、天津、重庆、广州、深圳…

sql中排序序号_SQL 和 SPL 的有序运算对比

【摘要】 有序运算是指按照一定的次序对有序集合的成员进行计算。SQL 和 SPL 是大家比较熟悉的程序语言,本文将探讨对于有序运算问题,这两种语言的解决方案和基本原理。如何简便快捷的处理有序运算,这里为你全程解析,并提供 SQL 和…

前方高能!AI 大牛 LeCun 设想下一个新前沿:摈弃深度学习的所有概率技巧,改而掌握不断转变的能量值...

来源:云头条据深度学习界的领军人物Yann LeCun声称,AI的下一个发展阶段可能是摈弃深度学习的所有概率技巧,改而掌握不断转变的能量值。据说工程师(以及一些科学家,但以工程师为主)早在坐到板凳上搞设计之前…

2019年中国智能制造发展现状及趋势分析报告

来源:前瞻产业研究院未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网…

元学习—Meta Learning的兴起

来源:专知【导读】元学习描述了训练深度神经网络相关的更高级别的元素。在深度学习文献中,“元学习”一词经常表示神经网络架构的自动化设计,经常引用“ AutoML”,“少量学习”或“神经架构搜索”。OpenAI的魔方机器人手的成功源于…

python3 rid1.7.4.2 控制台中文乱码_TL;DR - 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解...

TL;DR 问题背景: 相信很多用 Sublime Text 来写 Python 2 的同学都遇到过以下这个问题(例如这位同学 /t/100435 和这位同学/t/163012 ): 在 Sublime Text 里用 Cmd (Ctrl) B 运行代码 print u中文,想要打印出 unicode…

服务器行业深度解析:服务器未来需求知多少

来源:国盛证券一、 全球公有云加速渗透叠加企业上云大趋势来临1. 全球云领军收入增速维持高位,Q2 CAPEX 出现恢复信号全球云计算进入甜蜜点,IaaS 市场主导增长。1)2017 年 6 月,Morgan Stanley 认为全球云计算行业进入…

海上瓶子下有东西吗_洗衣液瓶子我从来不扔,瓶身这样剪几刀,解决了很多家庭的大烦恼...

洗衣液瓶子相信家家户户都会有,每次用完的空洗衣液瓶你都扔掉了吗?那就太可惜了,卖废品也卖不了几毛钱,我们可以将废弃的洗衣液瓶简单剪几刀,就能够变废为宝了,能够解决很多家庭生活中的大烦恼。今天就教大…

光耦继电器

光耦继电器(光电继电器) AQW282SX 282SZ 280SX 280SZ 284SX 284SZ 212S 212SX 21 2SZ 文章目录 光耦继电器(光电继电器)前言一、光耦继电器是什么二、光耦继电器的类型三、光电耦合器的应用总结前言 光耦继电器在工业控制、通讯、医疗设备、家电及汽车电子等领域得到广泛应…

媒体查询响应式布局的几个尺寸_媒体查询实现响应式布局

本文主要介绍 media 查询的使用。通过媒体查询,在不同的屏幕尺寸下,可以设置不同的样式。以此,可以完美解决不同屏幕适配的问题。话不多说,先来看看效果:CSSmedia screen and (max-width: 400px) {.btn {background-co…

为什么说,我们可能是宇宙中唯一的智慧生命?

来源:原理我们在宇宙中是孤独的吗?这个问题可归结为:智慧究竟是自然选择的一种可能结果,还是一种不太可能的侥幸?显而易见的是,可能的事件可以经常发生;不太可能的事件很少发生,或者…

jeecg输入中文查询导表为空_学术利器—SCI期刊影响因子查询/中文核心期刊查询系统更新...

吐槽想起自己第一次投中文期刊的情形:当时学校最低要求是发表一篇核心级别的期刊论文,但是哪些期刊是核心期刊呢?完全不知道!都怎么投稿呢?也完全不知道!只能问问周围的同学或者师兄师姐。他们也就知道谁谁…

Python 学习随笔1

在一个列表中,找出重复数组的位置。 比如在列表name [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]中,找出2的位置。 方法1: 流程为: 找到第一个2的位置,然后在2之后的一个数后面切片&…