11 grafana监控Redis

实验环境:
106.12.88.74 ---> influxdb 1.7.6 Redis5.05 Centos 7.5
106.12.88.228 ---> Grafana 6.2.2.1 Centos 7.5
+++++++++++++++++++++++++++++++++
redis 安装,参考:http://www.xchinagroup.top/?p=2977
redis监控点(使用info命令可以查看)
used_memory_rss #实际占用内存
used_memory #理论占用内存
mem_fragmentation_ratio #内存碎片化率used_memory_rss/used_memory
connected_clients #连接客户端数
total_commands_processed #总共运行命令数
total_connections_received #总共接收连接数
python安装redis扩展(106.12.88.74 上操作)
pip install redis -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

运行程序,登录influxdb,查看数据。




监控redis的python代码
vim /data/influxdb/redis_status.py #(106.12.88.74 上操作)

import redis
from influxdb import InfluxDBClient
client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange')
r=redis.Redis(host='127.0.0.1', port=6379, password=' sy23ui', db=0)
redisinfo = r.info()
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.used_memory_rss'}, 'fields': {'value': float(redisinfo['used_memory_rss']) }}]
client.write_points(data_list)
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.used_memory'}, 'fields': {'value': float(redisinfo['used_memory']) }}]
client.write_points(data_list)
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.mem_fragmentation_ratio'}, 'fields': {'value': float(redisinfo['mem_fragmentation_ratio']) }}]
client.write_points(data_list)
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.connected_clients'}, 'fields': {'value': float(redisinfo['connected_clients']) }}]
client.write_points(data_list)
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.total_commands_processed'}, 'fields': {'value': float(redisinfo['total_commands_processed']) }}]
client.write_points(data_list)
data_list = [{'measurement': 'redis_status', 'tags': {'item': 'redis.total_connections_received'}, 'fields': {'value': float(redisinfo['total_connections_received']) }}]
client.write_points(data_list)

(106.12.88.74 上操作)加入crontab,然后图表展示观察
vim /etc/crontab


添加监控图形:(Grafana 服务器106.12.88.228上操作)
使用的面板还是先前创建的业务面板,复制 mysql 连接数 监控图形,进行修改









添加redis 内存监控图形:
复制 redis连接的客户端数量 监控图形,进行修改。










添加redis 每秒接收的命令数和运行的命令数:
复制 redis内存 监控图形,进行修改。








添加redis 内存碎片率 监控图形
复制 redis 占用内存监控图形,进行修改。










++++++++++++++++++++++++


106.12.88.74:测试脚本
while true;do /usr/local/redis/bin/redis-cli -a "wxw.7..890" info; sleep 1; done
运行一分钟左右


while true;do /usr/local/redis/bin/redis-cli -a "wxw.7..890" info; /usr/local/redis/bin/redis-cli -a "wxw.7..890" set name shijiange; sleep 1; done


python操作redis测试(/tmp/test.py)
import redis
r=redis.Redis(host='127.0.0.1', port=6379, password='', db=1)
r.set('name', 'shijiange')
print(r.get('name'))
测试脚本while true;do python /tmp/test.py; sleep 1; done