zabbix主动模式总是没有数据?啥情况?附有日志报错。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix主动模式总是没有数据?啥情况?附有日志报错。相关的知识,希望对你有一定的参考价值。

active check configuration update from [10.10.1.77:10051] started to fail (cannot connect to [[10.10.1.77]:10051]: Connection refused.)

参考技术A 这两天做agent自动发现遇到一个问题,虽然在界面配置了Action-Auto registration中配置了主机上报的策略

但是zabbix-agent死活上报不上来。从日志来看是server没有接收到agent上报的信息。

no active checks on server [xxxx:10051]: host [xxxxxx] not found

经过排查,有三个可能的原因。

zabbix 主动模式监控日志(多关键字)

zabbix3.4.7

需求:监控tomcat日志/data/Application/tomcat-etl-platform/logs/catalina.out日志文件,出现关键字OutOfMemoryError则告警 。

日志监控原理

1、Zabbix Server和Zabbix Agent会追踪日志文件的大小和最后修改时间,并且分别记录在字节计数器和最新的时间计数器中。

2、Agent会从上次读取日志的地方开始读取日志。

3、字节计数器和最新时间计数器的数据会被记录在Zabbix数据库,并且发送给Agent,这样能够保证Agent从上次停止的地方开始读取日志。

4、当日志文件大小小于字节计数器中的数字时,字节计数器会变为0,从头开始读取文件。

5、所有符合配置的文件,都会被监控。

6、一个目录下的多个文件如果修改时间相同,会按照字母顺序来读取。

7、到每个Update interval的时间时,Agent会检查一次目录下的文件。

8、Zabbix Agent每秒发送日志量,有一个日志行数上限,防止网络和CPU负载过高,这个数字在zabbix_agentd.conf中的MaxLinePerSecond。 


log文件的item解释

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]

file - 日志文件的全路径。

regexp - 过滤日志的正则表达式。

encoding - 字符编码,默认为英文单字节SBCS(Single-Byte Character Set)。

maxlines - agent每秒发送给server(或proxy)的数据的最大行数,这个参数会覆盖掉zabbix_agentd.conf配置文件里的’MaxLinesPerSecond’参数。

mode - 可填参数:all(默认),skip(跳过旧数据)。

output - 自定义格式化输出,默认输出regexp匹配的整行数据。转义字符’\0’表示regexp。

maxdelay-The ‘maxdelay’ parameter in log items allows ignoring some older lines from log files in order to get the most recent lines analyzed within the ‘maxdelay’ seconds.(这一句我翻译不准,所以上上英文~)


备注:我推荐大家使用第二个参数,如果只使用第一个参数,将会导致日志文件里的内容统统丢给zabbix_server记录。加上第二个参数时,过滤后的日志内容才会传给zabbix server,大大减少了日志内容占用的空间。 

创建监控项

在zabbix后台管理页面中,选中主机添加监控项。


创建触发器


#注意zabbix运行用户对要监控日志文件的读权限。

以上是关于zabbix主动模式总是没有数据?啥情况?附有日志报错。的主要内容,如果未能解决你的问题,请参考以下文章

zabbix 主动模式监控日志(多关键字)

青蛙学Linux—Zabbix Agent的主动模式和被动模式

zabbix主动模式和被动模式的区别

Zabbix的配置和使用

监控错误日志关键字

Zabbix主动模式和被动模式