mymon(MySQL-Monitor) 是 Open-Falcon 用来监控 MySQL 数据库运行状态的一个插件,采集包括 global status, global variables, slave status 以及 innodb status 等 MySQL 运行状态信息。
工作原理
mymon是一个cron,每分钟跑一次,配置文件中配置了数据库连接地址,mymon连到该数据库,采集一些监控指标,比如global status, global variables, slave status等等,然后组装为open-falcon规定的格式的数据,post给本机的falcon-agent。falcon-agent提供了一个http接口,使用方法可以参考数据采集中的例子。
比如我们有1000台机器都部署了MySQL实例,可以在这1000台机器上分别部署1000个cron,即:与数据库实例一一对应。
安装# Build
go get -u github.com/open-falcon/mymon
cd $GOPATH/src/github.com/open-falcon/mymon
make
# Add to crontab
echo '* * * * * cd ${WORKPATH} && ./mymon -c etc/mymon.cfg' > /etc/cron.d/mymon
配置
配置文件采用INI标准。[default]
basedir = . # 工作目录
log_dir = ./fixtures # 日志目录,默认日志文件为myMon.log,旧版本有log_file项,如果同时设置了,会优先采用log_file
ignore_file = ./falconignore # 配置忽略的metric项
snapshot_dir = ./snapshot # 保存快照(process, innodb status)的目录
snapshot_day = 10 # 保存快照的时间(日)
log_level = 5 # 日志级别[RFC5424]
# 0 LevelEmergency
# 1 LevelAlert
# 2 LevelCritical
# 3 LevelError
# 4 LevelWarning
# 5 LevelNotice
# 6 LevelInformational
# 7 LevelDebug
falcon_client=http://127.0.0.1:1988/v1/push # falcon agent连接地址
[mysql]
user=root # 数据库用户名
password=1tIsB1g3rt # 您的数据库密码
host=127.0.0.1 # 数据库连接地址
port=3306 # 数据库端口
指标
采集的metric信息,请参考./metrics.txt。该文件仅供参考,实际采集信息会根据MySQL版本、配置的不同而变化。