使用zabbix进行日志监控


3

我正在尝试监视日志文件并根据正则表达式获取警报。

使用zabbix 2.4.5

这是我创建的日志项

项目

这就是触发器

触发

正如您所看到的,我根据需要将项目创建为zabbix代理(活动),并且已正确启用。但我仍然没有收到我正在搜索的日志消息的任何警报。

监控

有任何想法吗?

Answers:


2

更好的替代方案是使用专门的插件。与许多其他现代监控应用程序一样,Zabbix允许用户实现自定义插件。在您的情况下,您需要的自定义插件将是专门用于检查,监视和警告日志文件的工具。

这种工具的一个例子是autoresolve.kl.sh

安装过程很简单:

  1. 登录到要监视日志文件的主机
  2. wget(the-url-link-of-zip-file-of-autoresolve.kl.sh)
  3. cd / tmp; 解压缩(下载后的zip文件)
  4. ./install.sh /var/tmp/KINGLAZY/SHIELDX-autoresolve.kl.sh / home / jserver -force

将'/ home / jserver'替换为zabbix插件目录。此外,除非您正在测试,否则请确保以普通用户身份运行上述安装命令,而不是root用户。

完成上述步骤后。您现在可以开始监控日志:

./autoresolve.kl.sh localhost / var / tmp / logXray,fixer,0n-1y-2y,0-uname,1-who,2-uptime autonda / var / log / syslog 60m'app。* error''。 “ 1 2 app_err_monitor -ndshow

为了简单起见,您需要更改的最重要参数是:

  1. / var / log / syslog - 这是您正在监视的日志文件
  2. app。* error - 这是您在日志文件中查找的字符串
  3. app_err_monitor - 这是您为此特定日志检查分配的名称/标记。稍后,如果您愿意,此标记可用于帮助您在受监视日志上生成图形。

有关每个参数含义的详细说明,您可以直接访问帮助页面

在同一个帮助页面上,您还将找到有关如何使此工具与Zabbix一起使用的分步说明...即您需要更新哪些zabbix配置文件...以及您需要在zabbix上进行哪些设置网络界面。


4

确保在受监视主机上的代理配置文件中:

“Hostname”参数与前端中的主机名匹配“ServerActive”参数中的服务器是为处理活动检查而指定的。例:

/etc/zabbix/zabbix_agentd.conf:

Hostname=game.bingodrive.com
ServerActive=10.1.1.1

然后检查zabbix Unix用户是否具有读取文件的访问权限:

# su - zabbix -c "tail $YOUR-FILE"

注意,如果找到字符串,“regexp”触发器函数返回true(1),所以如果第二个屏幕截图上的消息是错误,那么应该是= 1,而不是= 0。


感谢您的回复,我将正则表达式更改为eq 1.我的监控主机中没有zabbix可执行文件。我该怎么办 ?
ufk 2015年

您的主机上不会有“zabbix”可执行文件。“su - zabbix -c ...”只是帮助您检查zabbix代理是否具有读取文件权限的命令。
弗拉基米尔

嗯,你说得对。无论如何我检查和zabbix用户有权访问该日志文件。
ufk 2015年

那么,检查您的日志监视器项是否不受支持状态。
弗拉基米尔2015年

su - zabbix -c "tail $YOUR-FILE"不适用于没有shell的用户。你可以用runuser -u zabbix tail $YOUR-FILE它。
user3132194

1

对于Zabbix使用log项目监视UNIX日志文件,有关主机可以使用主动检查至关重要。这通常意味着:

  1. 必须ServerActive=使用此主机配置的代理和zabbix服务器或代理的主机名配置代理。

  2. Zabbix服务器配置的主机名与目标(受监控)主机的FQDN或系统主机名匹配。

  3. 或者,如果不是这种情况,则配置代理HOSTNAME=和相应的Zabbix服务器配置的主机名。

  4. 正如其他人所指出的,代理(作为Zabbix用户运行)必须能够访问日志文件,这su zabbix -c "tail -1 logfile"是测试它的好方法。如果禁用zabbix帐户,请使用runuser -u zabbix tail -1 logfile。(替换logfile为要监视的文件)。

重新启动代理时,请检查其日志文件中是否有任何错误消息,例如

no active checks on server [127.0.0.1:10051]: host [Zabbix server] not found

这表示上述类型的配置错误。

如果在服务器上您看到此项目“不支持”,则可能是文件权限有问题。

如果您仍然没有看到您的消息,则可能发送的消息太多。默认情况下,Zabbix每秒只发送100个左右,并且每30秒只能“赶上”(参见你的项目)。

您已将触发器配置为仅查看最后一项(regexp(...,#1))。我认为这是正确的,但通常情况下,你只是省略了,#1

编辑:替换sudorunuser。看评论


1
Sudo是可选包。最好使用runuser -u zabbix tail $YOUR-FILE
user3132194
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.