zabbix4.0学习二:在Linux和windows上安装zabbix-agent客户端程序

前言

zabbix能够支持支持通讯方式:

  1. agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
  2. ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。
  3. IPMI:通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
  4. JMX:通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),监控JVM虚拟机时,使用这种方法也是非常不错的选择。
    参考zabbix从放弃到入门(1):zabbix概念

zabbix agent的运行模式有以下两种:

  1. 被动模式:此模式为zabbix默认的工作模式,由zabbix server 向zabbix agent 发出指令获取数据,zabbix agent被动地去获取数据并返回给zabbix server,zabbix server会周期性地向agent索取数据。此模式的最大问题就是会增加zabbix server的工作量,在大量的服务器环境下,zabbix server不能及时获取到最新的数据。
  2. 主动模式:即由zabbix agent 主动采集数据并返回给zabbix server,不需要zabbix server 的另行干预,因此使用主动模式能在一定程序上减轻zabbix server的压力。
    这两种模式都在zabbix_agentd.conf里配置
    不管是主动模式还是被动模式,都是对于agent端来说的,而且,主动模式与被动模式可以同时存在,并不冲突。

下面是在centos7上安装zabbix-agent4.0版本

windows安装agent

下载

windows-agent下载地址.选择
在这里插入图片描述

安装

将压缩包解压到d:\zabbix里。打开conf\zabbix_agentd.win.conf文件,配置如下

LogFile=D:\zabbix\zabbix_agentd.log
Server=192.168.2.33
ServerActive=192.168.2.33
Hostname=Windows_A

logfile: zabbix日志存放地址
Server:用于被动模式,指定允许哪台服务器拉取当前服务器的数据,当agent端工作于被动模式,则代表server端会主动拉取agent端数据,那么server端的IP必须与此参数的IP对应,此参数用于实现基于IP的访问控制,如果有多个IP ,可以使用逗号隔开。

ServerActive:用于主动模式,此参数用于指定当agent端工作于主动模式时,将信息主动推送到哪台server上,当有多个IP时,可以用逗号隔开。
Hostname:主机名,等会要在zabbix-server上配置。

配置Windows_A客户机

打开zabbix-web界面,配置->主机->右上脚创建主机,配置上面写的Hostname,名称和上面保存一致
在这里插入图片描述

服务器开放10051端口

这点要注意,如zabbix-server那台服务器没对外开放10051端口,会连接不上。

firewall防火墙

firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload

iptables防火墙

iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
#保存上述规则
service iptables save
#重启服务
systemctl restart iptables.service

注册windows服务并启动

在管理身体打开cmd,如果是windows10用户,按windows+x出面的界面选择Windows PowerShell(管理员)(A)。这点要注意,必需以管理员运行,不然会报执行错误
注册服务命令:D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -i
结果如下

PS D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -i
zabbix_agentd.exe [557628]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [557628]: event source [Zabbix Agent] installed successfully

启动服务:D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -s
结果如下

PS D:\> D:\zabbix\bin\zabbix_agentd.exe -c D:\zabbix\conf\zabbix_agentd.win.conf -s
zabbix_agentd.exe [536552]: service [Zabbix Agent] started successfully

查看D:\zabbix\zabbix_agentd.log日志如下

563728:20190130:104738.021 using configuration file: D:\zabbix\conf\zabbix_agentd.win.conf
563728:20190130:104738.026 agent #0 started [main process]
529528:20190130:104738.027 agent #1 started [collector]
541516:20190130:104738.028 agent #2 started [listener #1]
559776:20190130:104738.028 agent #4 started [listener #3]
563896:20190130:104738.029 agent #3 started [listener #2]
563780:20190130:104738.029 agent #5 started [active checks #1]

总结

2点注意

  1. 以管理员身份运行注册服务命令
  2. 服务器开放10051端口

centos7上安装zabbix-agent4.0

centos7上安装zabbix-agent更简单了。

rpm -ivh https://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm
yum install -y zabbix-agent

配置文件在/etc/zabbix/zabbix_agentd.conf,配置和windows一样。
如果上面报 file /etc/yum.repos.d/zabbix.repo from install of zabbix-release-4.1-1.el7.noarch conflicts with file from package zabbix-release-4.0-1.el7.noarch则使用
rpm -Uvh httpxxx这是一个更新命令。不仅安装了软件包,同时更新了cat /etc/yum.repos.d/zabbix.repo
刚才我们提到yum会从一个资源库(repository)中下载并安装软件包,zabbix.repo</kbd,指的就是资源库。

2种工作模式

主动模式和被模式。2种工作模式都相对于agent而言
优缺点:

  1. 被动模式
    工作模式简单易用,但 server 端压力较大,需要定期向管理范围内的所有 agent 端主机发送请求信息,如果监控的主机过多时,可能无法及时获取到所有被监控主机的最新数据,被动模式仅适用于监控项目较少的小规模集群
  2. 主动模式
    1. 不使用代理
      可以减轻 server 端同时发出多个请求的压力,但 server 端需要被动接受管理范围内的所有 agent 端主机的所有采集的数据信息并将数据写入数据库,导致 Server 端的写压力较大,同样不适合大规模的主机集群监控

    2. 使用代理
      使用代理来分散 server 端的同时接收大量数据的压力,适合用于大规模集群的监控工作

zabbix4.x默认2种模式都支持。

  1. 纯主动模式配置
    编辑/etc/zabbix/zabbix_agent.conf
StartAgents=0

纯主动模式下的zabbix agent,只能支持Zabbix Agent (Active)类型的监控项
StartAgents
其它默认即可

  1. 纯被动模式配置
    注释掉ServerActive即可。

建议2个都开启

Logo

更多推荐