6

我有一个项目设置来监控致命错误,我想添加另一个项目,以便它计算致命错误的计数并绘制它们。

使用这个键:log["/d2/httpd/logs/myDomain-error_log","PHP Fatal","UTF-8",100]

它正确地获取了我想要的数据,但是它不会绘制这个,我想我必须计算条目并将格式作为整数,但这不起作用:

count(log["/d2/httpd/logs/myDomain-error_log","PHP 致命","UTF-8",100], 60)

关于我的密钥应该是什么的任何想法,或者我将如何绘制这些数据以查看随着时间的推移有多少错误?

动作和触发器工作正常,做应该做的事,但无法从中创建图表。

4

3 回答 3

2

什么对我有用:

创建用于解析日志中的某些字符串的项目。

  • log["C:/Logs/log.log",ERROR]
  • 类型Zabbix agent (active)
  • 信息类型Log

此项应显示日志中带有指定字符串“ERROR”的所有行。

其次,使用转义引号创建计算项:

  • 钥匙my.special.app.error.count
  • 类型Calculated
  • 公式count("log[\"C:/Logs/log.log\",ERROR]", 60)

这将计算 60 秒内日志中重复“错误”的次数。

现在这个项目可以被绘制、触发等。

我不太确定为什么需要解析项目,但没有它,这个计算项目不起作用。

于 2014-08-18T15:01:18.667 回答
0

下面是通过 Zabbix 监控日志文件的步骤。

1)创建一个批处理文件,例如。

//test.bat

@echo off

or /F %%x in ('findstr /r /n "ERROR" C:\test.log ^| find /C ":"') do echo %%x

2)用你的日志文件替换“test.log”

3) 在 Zabbix_agentd.config 文件中进行以下更改

EnableRemoteCommands=1

DisableActive=0

UnsafeUserParameters=1

UserParameter=key.in.zabbix.frontend,c:/temp/test.bat

4) C:/temp/test.bat 是批处理文件的路径

5)使用以下详细信息在 Zabbix GUI 中创建一个项目

Key= key.in.zabbix.frontend // This is any name but the name in GUI and abbix_agentd.config file must be same.

Type=Zabbix_Agent or Zabbix_Agent(Active)

Type of Information= Numeric(Unsigned)

其余的都是一样的。

6)重启Zabbix代理。并检查监控-> 最新值。

7)为了测试,我们也可以通过命令检查服务器上的输出

Go to root->zabbix 1.8.6->src->zabbix_get

于 2011-11-28T07:54:23.487 回答
0

@NginxNotOK这将计算自上次签入文件后新日志记录中正则表达式的匹配,该文件的名称在宏中定义{$NGINX_ACCESS_LOG_FILE}

log.count[{$NGINX_ACCESS_LOG_FILE},@NginxNotOK,,,skip]

于 2018-10-19T11:48:41.040 回答