influxdb+Grafana监控mysql

client = InfluxDBClient(host=‘192.168.124.10’, port=8086, username=‘test’, password=‘123456’, database=‘devops’)

创建influx用户并授权

MariaDB [(none)]> CREATE USER 'influxdb'@'%' IDENTIFIED BY 'influxdb';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'influxdb'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

监控点
当前连接数
每秒钟增、删、改、查的数量
每秒钟的连接量

from influxdb import InfluxDBClient
import pymysql

# 创建 InfluxDB 客户端连接
client = InfluxDBClient('192.168.124.10', 8086, 'test', '123456', 'devops')

# 连接到 MySQL 数据库
conn = pymysql.connect(host="192.168.124.10", user="influxdb", password="influxdb", db="test")
cur = conn.cursor(pymysql.cursors.DictCursor)

# 执行查询以获取全局状态
cur.execute('SHOW GLOBAL STATUS')
fetch_results = cur.fetchall()

# 遍历查询结果
for result in fetch_results:
    # 过滤感兴趣的变量
    if result['Variable_name'] in ['Threads_running', 'Com_select', 'Com_update', 'Com_delete', 'Com_insert',
                                   'Connections']:
        # 准备要写入 InfluxDB 的数据点
        data_point = [{
            'measurement': 'mysql_status',
            'tags': {'item': f"mysql.{result['Variable_name']}"},
            'fields': {'value': int(result['Value'])}
        }]

        # 将数据点写入 InfluxDB
        client.write_points(data_point)

# 关闭数据库连接
cur.close()
conn.close()

执行上面的脚本
查询influxdb

> show measurements
name: measurements
name
----
mysql_status
nginx_status
> select * from mysql_status;
name: mysql_status
time                item                  value
----                ----                  -----
1722845268612605404 mysql.Com_delete      2
1722845268638297877 mysql.Com_insert      0
1722845268682797024 mysql.Com_select      13
1722845268725191672 mysql.Com_update      1
1722845268775473471 mysql.Connections     17
1722845268820819296 mysql.Threads_running 1

influxdb已经采集到了结果

在这里插入图片描述

grafana里面已经获取到了mysql.Com_delete 的结果

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Grafana是一款开源的大数据分析和可视化平台,它可以将来自多个数据源的数据进行收集、过滤、汇总和展示。要进行Grafana监控配置,首先需要安装Grafana软件,然后在其上进行添加数据源、创建仪表盘和面板等配置操作。 添加数据源是Grafana监控配置的第一步,它使用户能够从不同的数据源中获取数据并可视化展示。常用的数据源有Prometheus、InfluxDB、Elasticsearch、MySQL等,用户可以根据实际需求选择相应的数据源,具体操作可以在Grafana界面的左侧导航栏中找到“Data Sources”进行配置。 创建仪表盘是Grafana监控配置的关键步骤,它将不同的图表组合在一起,完整地展示所监控的数据。用户可以利用Grafana的可视化编辑器来创建自己的仪表盘,根据不同的需求添加监控指标、调整布局、选择样式等,最终展示效果能够满足监控要求。 面板是仪表盘中的基本单元,一个仪表盘可以包含多个面板,用户可以按需添加或删除,同时也可以对面板进行编辑和调整。面板中通常包括监控指标的图表、可变周期的时间范围、自动刷新的时间等参数,用户可以根据实际需求来自定义这些参数。 总之,Grafana监控配置是一个复杂且灵活的过程,需要用户具备一定的技术和知识储备,但只有充分把握和利用Grafana的功能和优势,才能够达到良好的监控效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值