前段时间小编写了一篇:使用Nginx+Telegraf+Influxb+Grafana构建高逼格Nginx集群监控系统!文章,详细了介绍了 采集器telegraf, 时序数据库influxdb , 数据展现Grafana的部署以及系统主机侧的监控添加,图表的展现。mysql
本文就接着介绍使用 Telegraf+Influxdb+Grafana架构来快速监控MySQL。sql
首先 ,咱们先看下效果图:shell
由于咱们在前面已经部署好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 表示名称后缀
[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
[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的表。json
查看表中有哪些字段:vim
> 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
更多的监控模板,你们能够到https://grafana.com/grafana/d...。网络
由于以前作了个主机侧的监控,因此为了方便区分,咱们此次再添加一个influxdb数据源。架构
点击Configuration ,选择 Data Sources ,点击 Add data source数据源名称:MySQL (我监控模板里的数据源是这个名称,最好和我一致,否则模板导入会报错)app
点击左侧+号 ,选择import ,—— > 点击Upload.json file, 上传模板文件。到此模板就导入成功了tcp
来源: https://www.toutiao.com/i6859...