open-falcon推荐使用采集脚本redis-monitor或者 redismon来做,其中redis-monitor支持哨兵的监控,redismon并不支持哨兵,但是因为前者对一些字段的监控,不能友好的支持,所以这里我采用了redismon。

一、准备环境
操作系统: Linux
Python > 2.6
PyYAML > 3.10
redis-py > 2.10
python-requests > 0.11

open-falcon感觉还是用的人少啊,GitHub上redismon最后一次修改都是四年前,所以我第一次尝试用python3来运行,出了问题。但是我线上的服务器python的版本是2.6,没有达到它大于2.6的要求,因此先安装2.7版本的python

cd /usr/local/src/
tar xf Python-2.7.11.tar.xz
cd Python-2.7.11
./configure --prefix=/usr/local/python27
make && make install
cd /usr/local/python27/
bin/python get-pip.py
bin/python -m pip -V
bin/python -m pip install PyYAML
bin/python -m pip install redis
bin/python -m pip install requests

二、部署redismon
1 目录解压到/path/to/redismon
2 配置当前服务器的Redis多实例信息,/path/to/redismon/conf/redismon.conf 每行记录一个实例: 集群名,密码,端口
{cluster_name: cluster_1, password: '', port: 6379} 这里的cluster_name会在metric后面加上,比如:aof_enabled/redis=16379__cluster_1
3 配置crontab, 修改redismon_cron文件中redismon安装path; cp redismon_cron /etc/cron.d/
4 查看日志文件/path/to/redismon/log/redismon.log, 如无异常信息,表示采集正常;几分钟后,可从open-falcon的dashboard中查看redis metric
5 endpoint默认是hostname

三、grafana+open-falcon
grafana有个open-falcon的插件,grafana open-falcon。但是也3、4年没维护了。只支持到grafana5.4版本,所以下载安装一个5.4版本的grafana。

tar -zxf grafana-5.4.0.linux-amd64.tar.gz
cd grafana-5.4.0/data/plugins/
git clone https://github.com/open-falcon/grafana-openfalcon-datasource
cat conf/defaults.ini
nohup bin/grafana-server &> grafana.log &

添加数据源,因为我这里open-falcon是0.2版本,没有query组件了,所以这里要配置的url是api的http监听端口:/api/v1/grafana