[原创] zabbix学习之旅三:agent安装

  部署完zabbix server后,自然要部署zabbix agent。在官方描述中,agent是部署在被监控的机器上,用于采集CPU、内存、磁盘等统计信息,并上报给server用于进一步处理。agent的采集信息方式也非常高效,是通过本机操作系统的系统调用完成。

  agent主要通过被动和主动两种方式上报本机信息,顾名思义,被动方式意味着server下达采集命令时,agent才会去收集信息;而主动方式意味着agent会在第一次时就从server处获取要采集的items,并定期将每个item的新值发送给server端。那问题来了,agent是通过被动模式还是主动模式采集信息呢?答案是取决于当你在server的监控界面设计这个item时采用哪种模式,默认为被动模式。

  agent能部署到几乎所有的操作系统上,在本系列中,我们仅以centOS和windows两种操作系统来进行说明。

部署在centOS上

  具体的操作系统版本为centOS6.5。

  首先要做的第一件事就是添加zabbix账号,zabbix agent和server一样,默认都是运行于zabbix账号下。

groupadd zabbix
useradd –g zabbix zabbix

  具体安装时,又可分为yum安装和源码安装,下面分别介绍。

yum安装

  yum安装很简单,几乎两行就搞定。

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yum -y install zabbix-agent

源码安装

  • 下载源码并安装
cd /usr/local/src
tar xvf zabbix-2.4.7.tar.gz
cd zabbix-2.4.7
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
  • 设置随机启动
cp /usr/local/src/zabbix-2.4.7/misc/init.d/fedora/core/zabbix_agentd /etc/init.d
vi /etc/init.d/zabbix_agentd
#修改BASEDIR
BASEDIR=/usr/local/zabbix
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

  无论是哪种安装方式,都需要修改下配置文件。

#日志最大值,默认1M,超出会rotate
LogFileSize=1
#被动模式下服务器地址,可以是ip或者hostname
Server=192.168.0.1
#主动模式下服务器地址,可以ip或者hostname
ServerActive=192.168.0.1
#被监控机的ip或hostname,注意的是该值必须和你在server的监控界面中定义的server name要保持一致
Hostname=192.168.0.2

  最后,启动agent,并查看是否正确启动。

service zabbix_agentd start
#默认的log路径
cat /tmp/zabbix_agentd.log
#启动正常的话应该能看到类似如下内容:
9604:20151229:091802.672 Starting Zabbix Agent [192.168.0.64]. Zabbix 2.4.7 (revision 56694).
9604:20151229:091802.673 using configuration file: /usr/local/zabbix/etc/zabbix_agentd.conf
9604:20151229:091802.673 agent #0 started [main process]
9607:20151229:091802.675 agent #3 started [listener #2]
9608:20151229:091802.676 agent #4 started [listener #3]
9606:20151229:091802.677 agent #2 started [listener #1]
9605:20151229:091802.677 agent #1 started [collector]
9609:20151229:091802.678 agent #5 started [active checks #1]

  但出现"no active checks on server [192.9.199.132:10051]: host [192.168.0.139] not found"的错误,意思是做active检查时没有发现server。解决办法是先在server的“主机”中添加监控机,记得取名必须和你在agent的配置文件中定义的hostname一致,再重启agent即可。

  默认情况下agent运行在10050端口,注意防火墙要打开此端口。

#以下命令看见zabbix agent运行在10050端口
netstat -tlnp|grep zabbix
#注意防火墙设置
vi /etc/sysconfig/iptables
#添加对10050的端口开放
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
#重启防火墙
service iptables restart

部署在windows上

  windows版本的agent为zabbix_agents_2.4.4.win.zip,将其解压缩如C盘下,进入配置文件目录,修改配置文件如下:

#日志最大值,默认1M,超出会rotate
LogFileSize=1
#被动模式下服务器地址,可以是ip或者hostname
Server=192.168.0.1
#主动模式下服务器地址,可以ip或者hostname
ServerActive=192.168.0.1
#被监控机的ip或hostname,注意的是该值必须和你在server的监控界面中定义的server name要保持一致
Hostname=192.168.0.3

  将agent添加为windows开机启动服务,进入命令行模式。

#32位操作系统进入以下路径
cd c:zabbixinwin32
#64位操作系统进入以下路径
cd c:zabbixinwin64
#设置成windows服务
zabbix_agentd.exe -c c:zabbixconfzabbix_agentd.win.conf –i

  windows下agent的启动和停止。

#启动
zabbix_agentd.exe -s 
#停止
zabbix_agentd.exe -x

  同centOS类似,日志可在默认的c:zabbix_agentd下查看。若有windows防火墙限制,请设置相应的入站规则和出站规则,这里不再赘述。

原文地址:https://www.cnblogs.com/hutao722/p/5176773.html