前段时间小编写了一篇:应用 Nginx+Telegraf+Influxb+Grafana 构建高逼格 Nginx 集群监控零碎!文章,具体了介绍了 采集器 telegraf, 时序数据库 influxdb , 数据展现 Grafana 的部署以及零碎主机侧的监控增加,图表的展现。
本文就接着介绍应用 Telegraf+Influxdb+Grafana 架构来疾速监控 MySQL。
首先,咱们先看下效果图:
一、增加 telegraf 收集 MySQL 的配置文件
因为咱们在后面曾经部署好 telegraf 了,也曾经采集了主机侧的一些 CPU,内存,磁盘,网络流量等信息,当初收集 Mysql 监控信息,最好还是与之前的 telegraf.conf 配置文件分来到。
[root@fxkj ~]# vim /etc/telegraf/telegraf.d/telegraf_mysql.conf
[[outputs.influxdb]]
database = "mysql_metrics"
urls = ["http://127.0.0.1:8086"]
namepass = ["*_mysql"]
username = "fxkj"
password = "123456"
[[inputs.mysql]]
servers = ["root:123456@tcp(localhost:3306)/?tls=false"]
name_suffix = "_mysql"
#database 示意数据库名称,采集的数据都放在此库中
#urls 示意 influxdb 数据库地址
#servers 外面蕴含 了 MySQL 受权用户的 用户名,明码 以及连贯 mysql 的地址
#name_suffix 示意名称后缀
二、重启 telegrag 采集器,查看日志刷新
[root@fxkj ~]# systemctl restart telegraf.service
[root@fxkj ~]# tail -n 10 /tmp/telegraf.log
2020-08-11T01:37:20Z E! [outputs.influxdb] when writing to [http://localhost:8086]: Post
2020-08-11T01:37:42Z I! Loaded processors:
2020-08-11T01:37:42Z I! Loaded outputs: influxdb influxdb
2020-08-11T01:37:42Z I! Tags enabled: host=fxkjnj.com
2020-08-11T01:37:42Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"fxkj", Flush Interval:10s
三、登录到 Influxdb 中查看 Mysql 监控数据
[root@aly mysql]# influx -username fxkj -password '123456'
Connected to http://localhost:8086 version 1.8.1
InfluxDB shell version: 1.8.1
> show databases;
name: databases
name
----
_internal
telegraf
mysql_metrics
> use mysql_metrics;
Using database mysql_metrics
> show measurements;
name: measurements
name
----
mysql_mysql
能够看到有一个 mysql_metrics 的库以及一个叫 mysql_mysql 的表。
查看表中有哪些字段:
> show field keys from mysql_mysql;
name: mysql_mysql
fieldKey fieldType
-------- ---------
aborted_clients integer
aborted_connects integer
access_denied_errors integer
busy_time integer
bytes_received integer
bytes_sent integer
commands_admin_commands integer
commands_create_index integer
commands_create_procedure integer
commands_drop_db integer
commands_drop_event integer
commands_drop_function integer
commands_drop_index integer
commands_stmt_reprepare integer
handler_mrr_key_refills integer
handler_read_rnd integer
handler_read_rnd_deleted integer
handler_read_rnd_next integer
handler_rollback integer
handler_savepoint integer
handler_savepoint_rollback integer
innodb_buffer_pool_pages_free integer
innodb_buffer_pool_pages_made_not_young integer
innodb_buffer_pool_pages_made_young integer
innodb_dblwr_writes integer
innodb_deadlocks integer
innodb_descriptors_memory integer
innodb_dict_tables integer
innodb_ibuf_merges integer
innodb_ibuf_segment_size integer
innodb_x_lock_spin_waits integer
key_blocks_not_flushed integer
not_flushed_delayed_rows integer
open_files integer
open_streams integer
open_table_definitions integer
open_tables integer
threads_connected integer
threads_created integer
threads_running integer
uptime integer
uptime_since_flush_status integer
四、登录 Grafana 增加数据源,import 导入监控模板
更多的监控模板,大家能够到 https://grafana.com/grafana/d…。
因为之前做了个主机侧的监控,所以为了不便辨别,咱们这次再增加一个 influxdb 数据源。
点击 Configuration,抉择 Data Sources,点击 Add data source数据源名称:MySQL (我监控模板里的数据源是这个名称,最好和我统一,不然模板导入会报错)
- URL:Influxdb 地址
- Database:mysql 监控信息寄存在 influxdb 数据库中的名称点击 Save & Test 验证增加是否有问题 数据源筹备好了 就能够导 mysql 监控模板了。
点击左侧 + 号,抉择 import ,—— > 点击 Upload.json file, 上传模板文件。到此模板就导入胜利了
五、图标展现
起源:https://www.toutiao.com/i6859…