您的位置:首页 > 运维架构 > Linux

zabbix3.0 监控linux主机(二)

2017-04-21 15:33 369 查看

zabbix

前面已经讲了zabbix监控系统的搭建和zabbinx监控linux主机的一些简单操作。

Item key:

命名要求:只能使用字母,下划线,数字,点号,连接符

接收参数:system.cpu.load[<cpu>,<mode>]

注意:每个key背后应该有一个命令或者脚本来实现数据的收集,此命令或脚本调用传递给key的参数,调用方式为$1,$2......

  在zabbix中定义item时调用某个key,还需要额外采集频率,历史数据的保存时长等等信息。

trigger:

触发器表达式:{<Server>:<key>.<function>(<parameter>)}<operator><constant>

{node1:net.if.in[eth1,bytes].last(#10)}>5000

<function>:评估采集到的数据是否在合理范围内所使用的函数,其评估过程可以根据采集到的数据、当前时间或其他因素去判断。

avg:平均值。

count:几次

delta:差,或速率

diff:差别

max:最大值

nodata:没数据

sum:求和

change:改变

regexp:检查最后一次采样的数据是否能被指定的模式所匹配,1表示匹配,0表示不匹配。

now:返回时间戳

<operator>:做算术逻辑运算的,

>,<,=,#(这个是不等于的意思)

/,*,-,+

&,|  (与操作和或操作)

Action:

Action由三部分组成(message,condition,operation)。send message,remote command。

zabbix_server.conf :配置文件中的参数。

 放置于特定目录中的: AlterScriptsPath =报警脚本的路径。

脚本中的$1表示收件人,$2表示Default Subject,$3表示Default Messages。

当action执行时,有发邮件和远程命令两种。

同样是需要更改配置文件的。默认不支持,EnableRemoteCommand=1

要编辑visudo。给zabbix用户添加特权,并且 注释 Defaults   reqiretty (这个是说,执行命令的用户必须有个tty)

现在演示一下监控一台linux主机上的web服务。

首先建立一个application。



再创建一个item。内容是监控80端口是否开启。



添加触发器。



创建Action。



编辑visudo 
zabbix  ALL=NOPASSWD: /etc/init.d/httpd restart

注释 # Defaults    requiretty

编辑被监控主机的zabbix_agentd.conf文件
LogRemoteCommands=1

好了,当80端口没开放时,会触发触发器去执行远程命令去重启httpd服务。
[root@localhost ~]# service httpd stop

Stopping httpd:                                            [  OK  ]

[root@localhost ~]# service httpd status

httpd (pid  2963) is running...

[root@localhost ~]# 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: