本文共 1489 字,大约阅读时间需要 4 分钟。
安装mysql服务器
yum install mariadb-server mariadb-devel -y
启动和开机启动
systemctl restart mariadb
systemctl enable mariadb
Mysql给只读权限,验证只读权限能否获取数据
grant usage on *.* to 'influxdb'@'127.0.0.1' identified by 'influxdb';
mysql -uinfluxdb -pinfluxdb -h 127.0.0.1 -e 'show global status\G'
监控点
当前连接数
每秒钟增、删、改、查的数量
每秒钟的连接量
Python安装mysql扩展
pip install pymysql -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
Python获取Mysql信息入库(/data/influxdb/mysql_status.py)
import pymysql
from influxdb import InfluxDBClient
client = InfluxDBClient('127.0.0.1', 8086, 'shijiange', '123456', 'shijiange')
conn = pymysql.connect("127.0.0.1","influxdb","influxdb","test" )
cur = conn.cursor(pymysql.cursors.DictCursor)
cur.execute('show global status')
fc = cur.fetchall()
for oneresult in fc:
if oneresult['Variable_name'] in ['Threads_running','Com_select','Com_update','Com_delete','Com_insert', 'Connections']:
data_list = [{'measurement': 'mysql_status', 'tags': {'item': 'mysql.%s' % oneresult['Variable_name']}, 'fields': {'value': int(oneresult['Value']) }}]
client.write_points(data_list)
加入crontab,然后图表展示观察
* * * * * root python /data/influxdb/mysql_status.py >/dev/null 2>/dev/null
使用以下语句观察
while true;do mysql -uroot -h 127.0.0.1 mysql -e 'select user from user;'; sleep 1; done #实际统计出来每秒2次
use test;create table test (id int) #创建一个测试表
while true;do mysql -uroot -h 127.0.0.1 test -e 'insert into test values (1); update test set id = 2;delete from test;'; sleep 1; done #运行insert、update、delete观察
转载地址:http://vattf.baihongyu.com/