相关内容原文地址:

51CTO博客:元婴期:Grafana+influxdb+telegraf初探-快速监控主机与mysql

博客园:东山絮柳仔:通过官网模板轻松实现Grafana的可视化界面配置(以MySQL监控项为例)



一、安装

这个地方,我在看许多教程的时候,一直没看明白,走了一个误区,将Influxdb,telegraf,Grafana全部安在了一台服务器A上,而我需要监控的Mysql安装在服务器C上,当我使用InfluxDb监控Mysql时,始终监控不到数据,后来,我将Influxdb和Telegraf安装在装有mysql的服务器上,然后通过服务器A的Grafana去配置,数据完美出来。

1.1安装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.2启动服务,添加开机启动

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.3查看grafana界面

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

http://localhost://3000

二、数据采集之telegraf

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

三、数据存储之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)。每种数据源都有相应的文档,可以将多个数据源的数据合并到一个单独的仪表板上。

4.1通过官网模板轻松实现Grafana的可视化界面配置(以MySQL监控项为例)

  1. 可以通过访问 https://grafana.com/dashboards 来查看已有仪表盘模板,选取合适的使用。
  2. 根据实际情况,进行刷选:

  3. 选中,双击,获取详情。

  1. 获取模板详情后,需要记下(或直接点击Copy ) ID

  2. 回到自己的Grafana节点,打开Import界面

  1. 在Import 界面输入之前查询得到的IP

  2. 为导进去的模板命令,并指定将模板放在那个文件下和绑定已有的数据源

  3. 导入成功,查看已导入的界面。

五、配置监控主机状态及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,添加需要的数据源。

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

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展示

连接数据源。

Grafana+Influxdb+Telegraf监控mysql的更多相关文章

  1. grafana + influxdb + telegraf

    grafana + influxdb + telegraf , 构建性能监控平台http://www.cnblogs.com/Scissors/p/5977670.html https://docs. ...

  2. [转]Jmeter + Grafana + InfluxDB 性能测试监控

    https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错

  3. 搭建Jmeter + Grafana + InfluxDB性能测试监控环境

    背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...

  4. docker-compose(grafana influxdb) + telegraf 快速搭建简单监控

     灵活实现方案:   1:     telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB   influxdb ------------------------&qu ...

  5. grafana+influxdb+telegraf监控服务器cpu,内存和硬盘

    随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了. 监控服务器状态是运维必不 ...

  6. 【Linux】【Services】【SaaS】Docker+kubernetes(12. 部署prometheus/grafana/Influxdb实现监控)

    1.简介 1.1. 官方网站: promethos:https://prometheus.io/ grafana:https://grafana.com/ 1.2. 架构图 2. 环境 2.1. 机器 ...

  7. 【Prometheus+Grafana系列】监控MySQL服务

    前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务.当时实现了监控服务器指标数据,是通过 node_exporter.Prometheu ...

  8. grafana + influxdb + telegraf , 构建性能监控平台

    1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...

  9. 性能监控扩展篇(grafana + influxdb + telegraf)

    之前已经说过了自己写sh脚本监控,我看有人评论了说用telegraf进行数据收集,于是乎去研究了下,感觉还可以,不过磁盘io的的表个人感觉有些美中不足,并未直接给出读写速率的情况,可能是研究时间太短, ...

随机推荐

  1. 相对于Statement,PreparedStatement的优点是什么?

    优点: 1.PreparedStatement有助于防止SQL注入,因为它会自动对特殊字符转义. 2.PreparedStatement可以用来进行动态查询. 3.PreparedStatement执 ...

  2. tcp上传学习二--文本文件上传

    //暮雪超霸.加油!!!package tcp文本上传; import java.io.BufferedReader; import java.io.FileReader; import java.i ...

  3. 发起一个开源项目:基于 .NET 的博客引擎 fluss

    今天我们发起一个开源项目,它的名字叫 fluss,fluss 是 river 的德语. 百川归海,每一个博客就如一条河流,输入的是文字,流出的是知识,汇入的是知识的汪洋大海. 川流不息,fluss 是 ...

  4. JVM——GC(垃圾回收)算法

    一.垃圾回收的基本概念 垃圾回收(GC,Garbage Collection),指内存中不会再被使用的对象清理掉. 垃圾回收有很多种算法:如引用计数法.标记压缩法.复制算法.分代/分区的思想 二.垃圾 ...

  5. Miller Rabin素数检测与Pollard Rho算法

    一些前置知识可以看一下我的联赛前数学知识 如何判断一个数是否为质数 方法一:试除法 扫描\(2\sim \sqrt{n}\)之间的所有整数,依次检查它们能否整除\(n\),若都不能整除,则\(n\)是 ...

  6. kafka-spark偏移量提交至redis kafka1.0版本

    kafka版本 1.0.0 spark版本 spark-streaming-kafka-0-10_2.11/** * @created by imp ON 2019/12/21 */class Kaf ...

  7. 杭电OJ2007----平方和与立方和(易错题)

    Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和. Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成. Out ...

  8. 值得推荐的C#不同版本语言特性

    C#语言在不断地版本升级中,为我们提供了很多新的语言特性.其中,有很多使用的语言特性,我觉得在实际开发中用起来很方便,能够简化我们的代码,增强可读性,提高开发效率. 小编不才,在这里给大家整理了一些实 ...

  9. 任意文件下载漏洞的接口URL构造分析与讨论

    文件下载接口的URL构造分析与讨论 某学院的文件下载接口 http://www.****.edu.cn/item/filedown.asp?id=76749&Ext=rar&fname ...

  10. .netcore 急速接入第三方登录,不看后悔

    新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢. 如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下: https://oauthlogin.net/ 前言 此次带来得这个小 ...