部署Telegraf+Influxdb+Grafana 架构来监控 MySQL

前段时间小编写了一篇:使用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...

image

你可能感兴趣的:(grafana,mysql,后端,运维,程序员)