【老张监控技术】详谈Zabbix Agent被动模式配置

2021-02-03 11:32:27 浏览数 (1)

社区作家专栏《老张监控技术》

详谈Zabbix Agent被动模式配置

当代张思德

张世宏:2013年开始使用Zabbix,2014-2016年负责Zabbix二次开发及架构设计,目前从事PaaS平台及微服务的开发和运维工作。

Zabbix实践爱好者,Cactifans作者,golang爱好者,Zabbix中国社区专家、Zabbix中国大会优秀讲师

接上期

点击查看上期:

#1详谈Zabbix Agent主动模式配置

长久以来对于安装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=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分执行了脚本,初步实现了简单故障的“自愈”。

注意事项

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

0 人点赞