Zabbix监控进程日志的配置过程

监控日志是运维人员日常生活里必不可少的一个环节,而且日志是一个进程执行的重中之重,由于日志记录了程序运行的吃喝拉撒所有事件,所以在故障排除的时候,结合日志找障碍点是必不可少的!而且我们也会要主动去被提醒日志里的几个重点词语,比如“ERROR!”,比如“WARINIG!”,比如“Alarm!”,比如“女排姑娘好样的你们真给国家争气,看这些女排妹子真喜欢一个个都是大长腿美颜外加D罩杯”。而zabbix作为一个优秀的监控软件,就可以当以上几个关键词出现在日志的第一时间或报警或记录。

举个例子,假设我们要监控一个进程日志,这个进程叫mrs,不用浪费时间去baidu这个mrs,这个是我公司内部用的是一个程序。而目标就是当这个mrs.log日志里出现ERROR的时候,就要报警,通知悲摧的运维和开发pl们。

首先我们先建立一个item,如图:

注意一下,这里的type是active,因为被监控的服务器是需要主动把日志送给server端的。而key写的是log[/mnt/hswx/mrs/logs/mrs.log,ERROR,,,,],我这里详细说一下。

log这个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表示第二个正则表达式匹配错的内容。

由于在这里我们只需要挑出ERROR的语句,后面的那些七七八八都用不上,所以就直接写log[/mnt/hswx/mrs/logs/mrs.log,ERROR,,,,]就好了。

日志的格式选择“log”,每10秒钟一次更新,保存90天,这些都是老话常谈。至于Log time format写成yyyy-MM-dd hh:mm:ss是规范了纪录时间的格式,我们采用的格式就是“年-月-日:小时-分钟-秒”,一会就会看到效果。

写完之后,保存,返回到Monitoring---lastest Data,找到我们刚刚建立的这个item,

点击右侧的history,就可以看到这样的内容了。

这里的local time就是我们设置item时候的那个log time format,它也的确是按着“年-月-日:小时-分钟-秒”这个格式记录的。

我们可以看到value里说18:39:53有一个ERROR日志,那么登陆到这台服务器上,去服务器的mrs.log里看一下是否有这样一模一样的日志内容呢?

可以看到内容是一模一样的,就这样,我们达到了监控日志的目的!

然后就是根据这个item设定trigger和action,这些东西看个人具体需求我也就不赘述了。

当然有人会有提问,日志文件在实际生产的时候是常常需要被切割的,比如这个mrs.log,总不会永无止境的保存下去,而是会按时间/大小切成mrs.log.1、mrs.log.2...,既然这样怎么办?那么就要用logrt这个key,这个key是支持正则表达式的,针对上面这个情况我们只需要把原来的key改成“logrt[/绝对路径/mrs.log.*,ERROR,,,,]”就可以啦。

但是要注意哦,logrt只能给文件增加正则表达式,对路径是不支持的~~

时间: 2024-10-01 06:07:53

Zabbix监控进程日志的配置过程的相关文章

zabbix监控windows日志脚本

zabbix监控windows日志脚本     脚本用于监控windows服务器上日志,查看日志文件的末尾N行,如果N行中包含某字段,则输出0,否则输出1,然后再zabbix的配置文件空定义kye,进行监控. 文本文件的换行符是"\n" 编辑脚本log.py import sys import re def last_lines(filename, lines = 1):     lines = int(lines)     block_size = 1024     block = 

Zabbix监控系统二:配置邮件报警

在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段.这样才能保证服务的稳定运行.报警的方式是多种多样的,微信.短信和邮件报警是我们比较常见的方式. 邮件报警的配置主要划分为一下几个步骤: 1.在zabbix服务端配置邮件发送脚本和修改zabbix服务端配置文件; 2.在zabbix前端控制台进行相关设置: 实验环境 Zabbix监控服务器.客户端都已经部署完成,

原来zabbix监控进程与端口是如此的简单!

使用zabbix自带key监控进程与端口 每个公司都有自己的程序,自己的进程名与端口监听,对于nagios来说,这些都经常需要自己去写插件,但是zabbix不需要,它自己就有监控进程与端口的key. 在使用zabbix的key来监控进程与端口前,我也自己写了插件,但用起来很不爽,因为需要在所有agent上都要进行配置与维护.如果用zabbix自带的功能,只需要在server端维护就可以了.简直就是操十分心与操一分心的区别啊,为什么我就没有早点发现这功能呢. 开始正题...... 1.监控端口 监

Ansible-playbook批量添加zabbix监控项目、同步配置信息(二)

前言 在上一篇教程中我们已经实现了使用ansible-playbook批量在远程主机上部署zabbix客户端并正常运行,现在我们再次通过ansible-playbook给客户端主机批量增加zabbix监控项目配置(创建监控项目示例:自动发现远程主机监听的TCP端口.监控远程主机的TCP连接数状态). Ansible-playbook 配置 在原有的基础目录上创建一个configure角色以及ansible的各个模块任务目录列表,通过ansible-playbook调用入口文件zabbix_con

Zabbix监控网络设备日志文件及字段报警

一.首先就是配置网络设备日志传送到zabbix存放日志的指定目录,一般目录为/var/log/需要配置rsyslog.conf根据需求添加tcp或者udp或者都添加字段 # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514添加定义存放目录文件字段:# Save Debug Messa

zabbix监控进程

参考http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看"文件在后台运行数量"所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下: <name>:进程名称,默认为"all processes": <user>:用户名,默认 "all

zabbix监控钉钉报警配置

下载golang编写的钉钉插件(附件中已上传,可直接下载): 修改zabbix server配置文件: vi /usr/local/zabbix/etc/zabbix_server.conf AlertScriptsPath=/usr/local/zabbix/etc/alertscripts 把下载好的golang插件上传至/usr/local/zabbix/etc/alertscripts目录下: cd /usr/local/zabbix/etc/alertscripts chmod +x 

zabbix监控进程的CPU和内存占用量

由于需要对公司特定服务进行监控,于是,通过编写脚本获取各个进程占用系统资源的信息,从而使用zabbix采集到这些数据进行特定进程的基础监控. 我这主要需要监控的程序如下: nginx redis mysql tomcat sentinel mongodb openfire kafka zookeeper twemproxy mycat  首先,在agent端编写监控脚本,脚本内容如下: [[email protected] ~]$ cat zabbix-2.4.4/scripts/process

zabbix监控(三)配置邮件报警

配置邮件报警: zabbix服务端 1.编辑/etc/mail.rc set from=[email protected] set smtp=smtp.163.com set smtp-auth-user=[email protected] set smtp-auth-password=wang4335399 set smtp-auth=login 2.邮件报警脚本 cd /usr/lib/zabbix/alertscripts #!/bin/bash [ $# -ne 3 ] && ex