zabbix监控MySQL日志文件的例子
zabbix是一个不错的监控工具了,今天我们来介绍zabbix监控mysql数据库的一个日志文件了,希望下面文章对各位会带来帮助.
一般情况下,日志最先反映出应用当前的问题,在海量日志里面找到我们异常记录,然后记录下来,并且根据情况报警,大家可以监控系统日志、nginx、Apache、业务日志。这边我拿常见的MySQL日志做监控,大家看演示.
监控日志key
首先要了解key,log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]
file:文件名,写绝对路径
regexp:要匹配内容的正则表达式,或者直接写你要检索的内容也可以,例如我想检索带ERROR关键词的记录.
encoding:编码相关,留空即可
maxlines:一次性最多提交多少行,这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,我们也可以留空.
mode:默认是all,也可以是skip,skip会跳过老数据
output:输出给zabbix server的数据。可以是1、2一直9,1表示第一个正则表达式匹配出得内容,2表示第二个正则表达式匹配错的内容。
备注:我极力推荐大家使用第二个参数,看到网上一些zabbix监控日志的教程,几乎只有第一个参数,这样将会导致日志文件里的内容统统丢给zabbix_server记录,我想,这一定不是大家想看到的。
日志文件权限配置,给日志文件加上读取权限,为了演示方便,我直接给777.
# chmod 777 /data/mydata/mydata_3306/li220-237.err
如果权限给的不到位,zabbix agent日志有类似如下报错:
- 4780:20150311:135742.401cannotopen'/data/mydata/mydata_3306/li220-237.err':[13]Permissiondenied
- 4780:20150311:135742.401activecheck"log[/data/mydata/mydata_3306/li220-237.err,ERROR,,,,]"isnotsupported
- 4779:20150311:135742.402cannotopen'/data/mydata/mydata_3306/li220-237.err':[13]Permissiondenied--phpfensi.com
- 4779:20150311:135742.402activecheck"log[/data/mydata/mydata_3306/li220-237.err,ERROR,,,,]"isnotsupported
zabbix配置
Host>>目标主机>>item>>create item
说明:
1.type必须选择zabbix agent(active),因为数据是zabbix被监控的主动提交给server
2.key:log[/data/mydata/mydata_3306/li220-237.err,ERROR,,,,],我不多说了,细心的人会说,还有一个叫logrt得key,有什么区别,等会儿讲.
3.log time format:yyMMddphh:mm:ss,对应日志的行头150311 11:47:09,y表示年、M表示月、d表示日、p和:一个占位符,h表示小时,m表示分钟,s表示秒。
zabbix监控MySQL日志查看
切换到最新日志里面,找到相应数据,接下来便是触发器,大家可以根据自己的情况来创建触发器,例如日志中包含某个字符串等等,我们可以触发执行mysql表修复.
热门评论