5月 312019
 

长久以来对于安装Zabbix Agent,文章介绍基本都是需要修改一下几个地方

Server=172.16.66.20
ServerActive=172.16.66.20
Hostname=node201

启动Zabbix Agent即可监控。对于具体为什么是这样配置,这样配置是主动模式还是被动模式?很少提起。本文主要介绍Zabbxi Agent的几个关键配置。

主动模式VS被动模式

Zabbix Agent这二种模式,用通俗易懂的讲:
主动模式:Zabbix Agent启动之后,把采集的数据主动发给Zabbix Server或者Zabbix Porxy。
被动模式:Zabbix Server或者Zabbix Proxy被动找Zabbix Agent拿监控数据。

这二种模式在使用过程中有所不同,各有优势,主要有以下区别

模式Server压力远程命令日志监控
主动不支持支持
被动支持不支持

鉴于以上不同,根据实际需求,选择对应模式。

被动模式配置

要配置被动模式,只需要配置以下几个参数即可

Server=172.16.66.20

Server 配置为Zabbix Server或Zabbix proxy的地址,这里可以配置域名/ip,如需配置多个地址,多地址之间用英文逗号隔开即可,如:192.168.1.100,10.10.1.100。这里可以理解为ACL功能,即允许那些Zabbix Server及Zabbix Proxy访问Zabbix Agent,因此可以配置网段和配置成所有IP,如:192.168.1.0/24 或0.0.0.0/0,纯被动模式下只需要配置Server即可Hostname不配置。
配置好之后重启Zabbix Agent查看进程如下

主机配置

被动模式配置之后,启动zabbix agent,需要在Zabbix Server添加主机

Host name 可随意配置,建议按照一定规则,不与其他机器重复即可
Visible name 配置为可见名称,这里可配置为中文,主机列表会显示此名称
Agent interfaces agent所在机器的IP和端口,这里一定要配置成agent真实的IP,默认zabbix agent端口为10050,可以通过配置文件进行修改

模版配置

zabbix 自带模版大多数为被动模式,因此直接关联模版即可进行监控。

远程命令

与主动模式不同,被动模式支持zabbix agent执行远程命令。在出现告警后,发送邮件的同时,可以配置远程命令实现故障“自愈”,如重启服务等

Zabbix Agent 配置

在Zabbix Agent配置文件中开启

EnableRemoteCommands=1
LogRemoteCommands=1

EnableRemoteCommands 配置开启远程命令
LogRemoteCommands 在日志中记录远程命令
配置之后重启Zabbix Agent

系统配置

由于zabbix执行命令默认是以zabbix 系统用户执行,因此需要在操作系统上为zabbix用户配置sudo。
输入

visudo

添加

zabbix ALL=NOPASSWD: ALL

配置为ALL,这里也可以配置成具体的命令

zabbix ALL=NOPASSWD: /etc/init.d/nginx restart

Zabbix Server配置

以下举例配置一个Nginx自动恢复,使用zabbix agent远程命令实现nginx停止自动启动。
配置如下Item,监控Nginx的80端口

并配置一个Trigger 端口不存在时告警

配置一个Action,条件为Trigger名称,端口down之后,执行脚本重启Nginx

为Action配置Operations,添加一个远程执行命令

配置命令和执行主机

配置好之后,查看下目前Nginx的状态为启动状态

启动时间为14:27
手动停止Nginx服务,一分钟之后在Zabbix Problems查看

看到44分故障45分已经恢复
查看历史数据

可以看到44分Nginx端口为down,45分恢复正常
查看Nginx状态

Nginx运行正常,启动时间为44分
查看Zabbix Agent日志

可以看到44分执行了脚本,初步实现了简单故障的“自愈”。

可以看到44分执行了脚本,初步实现了简单故障的“自愈”。

注意事项

被动模式远程命令,是以zabbix用户执行,注意配置sudo及权限,命令后可跟参数,参数可以使用zabbix的内置宏。

如果觉得我的文章对您有用,请关注我的公众号,有更多技术干货!

微信
打赏

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)