Zabbix-agent部署

写在前面的话

  • 我在独立部署zabbix的时候遇见了许多问题,感谢网络上各位前辈的无私分享,单人的力量确实很狭窄,但是我们在共享,在互相学习,在不断前进,我们汇聚了大家的力量,来克服一个个小小的问题,踏上一阶阶小台阶,最后成为高山、大厦!

  • 如果本文解决了一个读者的小问题,我会很欣慰,同时我也期待着大家能在遇见问题后分享,期待我们一同拓宽道路!

  • 总结起来就是大家都来写博客吧,大家一起分享一下嗷!


一些部署的问题

  • Zabbix Server 需要运行在CentOS、RedHat Linux、Debain等Linux系统上。我们生产系统也许还涉及到AIX或者HP-UX,所以别百度如何在AIX/HP-UX上部署Zabbix Server了!
  • Zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
  • 端口:Zabbix-agent主机默认端口为10050,zabbix-server端口为10051,如果部署成功后发现server和agent关联不上,也许就是防火墙端口没开的问题!
  • 用户权限:对于所有 Zabbix 守护进程,需要至少为非特权用户。 如果从非特权用户帐户启动 Zabbix 守护程序,它将以该用户身份运行,比如使用monitor用户启动zabbix agent,则进程所有者是monitor。没有要求你一定要建一个用户叫zabbix,当然,你想用root启动zabbix agent/server 还是新建一个吧!
  • 批量部署agent 推荐使用ansible,但是要求目标主机环境具备python,没有这个环境的就想一下其他的吧,毕竟生产环境比较复杂!(至少我200台是手动配的.
  • zabbix版本 这个是需要大家知道的,高版本基本兼容低版本,比如zabbix3.4.15的server,那么agent不要求一定完全适应版本,而应该是适应目标主机系统。
  • 配置文件夹:官方下载包里,有些包中无conf文件夹,这个拷贝一下其他的conf就行,冲突的是命令不是配置文件!
  • 给新同学的一些重要建议 在部署agent/server的时候,网上有叫修改/lib64下库文件的软连接,这个方法一定要慎重,/lib64是重要的系统依赖库,该软连接修改后可能导致主机无法运行基础命令,无法重启,如果搞在生产环境上,那么后果非常严重,如果一定要修改,也不能你自己来,协调相关厂商作调整!别问我怎么知道的,问就是天赋。

AIX agent部署

1.创建zabbix文件夹

以monitor用户登陆目标主机,在$HOME目录下创建zabbix agent 文件夹

mkdir $HOME/zabbix_agent
2.查看操作系统版本

#oslevel -s
显示当前系统版本,比如显示5300-08-01-xxxx,指的就是系统是AIX5.3。technology level是08,sp版本是01,最后的4位,前2位标识年份,后2位表示周。

3.下载对应系统版本的agent包并解压到zabbix_agent文件夹下
  • 方法1:
    到官网下载对应操作系统版本的包https://www.zabbix.com/download_agents#tab:20,然后发布到目标主机上。
gzip -d zabbix*.tar.gz
tar xvf zabbix*.tar
  • 方法2:(推荐使用)
    对相同的AIX系统及版本,若已安装过了zabbix agent目标主机可直接拷贝已部署zabbix_agent的AIX服务器上的完整目录:
rm –rf $HOME/zabbix_agent
scp -r [email protected]:/monitor/zabbix_agent $HOME/

该环境下conf 中 Server、ServerActive都已修改好,需修改配置文件的Hostname和ListenPort,这个方法需要的是已配置好了一台AIX的zabbix agent,直接拷贝文件夹,然后修改配置文件,直接启动就OK。

4.查看端口是否可用,并修改zabbix_agentd.conf 文件
# netstat –Aaon | grep 10050
# ifconfig –a                  #查看ip
# vi $HOME/zabbix_agent/conf/zabbix_agentd.conf
*修改字段 :
Server=xxx.xxx.xxx.xxx           #zabbix服务器ip
ServerActive=xxx.xxx.xxx.xxx      #zabbix 服务器ip
Hostname=xxx.xxx.xxx.xxx       #zabbix_agent客户端主机的ip地址
*若10050端口已被占用,修改ListenPort为其他的就好。
5 启动zabbix_agent,查看进程及端口
# $HOME/zabbix_agent/sbin/zabbix_agentd –c $HOME/zabbix_agent/conf/zabbix_agentd.conf
# ps –ef | grep zabbix_agent
# netstat –Aaon | grep 10050
*进程存在则启动成功
*一定要使用绝对路径启动,否则会报错
*查询问题可去zabbix日志中查看  
# cat/tmp/zabbix_agentd.log

到这一步,zabbix-agent进程就启动成功了。


HP-UX

1 创建zabbix文件夹

以monitor用户登陆目标主机,在$HOME目录下创建zabbix agent 文件夹

# mkdir $HOME/zabbix_agent
2 查看操作系统版本
OS 版本
# uname –r
B.11.31  *表示Unix版本为11.31
# model 
ia64 hp server rx5670
* ia64为hardware标识
3 下载对应系统版本的agent包并解压到zabbix_agent文件夹下
  • 方法1:
    到官网下载对应操作系统版本的包https://www.zabbix.com/download_agents#tab:20,然后发布到目标主机上。
gzip -d zabbix*.tar.gz
tar xvf zabbix*.tar
  • 方法2:(推荐使用)
    对相同的HP-UX11.31系统,目标主机可直接拷贝已部署zabbix_agent的HP-UX服务器上的完整目录:
# scp -r [email protected]:/home/monitor/zabbix_agent $HOME/

对相同的HP-UX11.11系统,目标主机可直接拷贝已部署zabbix_agent的HP-UX服务器上的完整目录:

# scp -r [email protected]:/home/monitor/zabbix_agent $HOME/
*该环境下conf 中 Server、ServerActive都已修改好,需修改配置文件的Hostname和ListenPort
4 查看端口是否可用,并修改zabbix_agentd.conf 文件
# netstat –an | grep 10050
# netstat -in               #显示所有接口(方便查询ip)
# ifconfig lan1               #查看ip(忘了ip的时候可查),lan1为接口名称
# vi $HOME/zabbix_agent/conf/zabbix_agentd.conf
修改字段 :
Server=xxx.xxx.xxx.xxx        #zabbix服务器ip
ServerActive=xxx.xxx.xxx.xxx   #zabbix 服务器ip
Hostname=xxx.xxx.xxx.xxx   #zabbix_agent主机的ip地址
*若10050端口已被占用,查看10049端口,若10049端口可用,则同样在zabbix_agentd.conf 中修改
ListenPort
5 启动zabbix_agent,查看进程及端口
# $HOME/zabbix_agent/sbin/zabbix_agentd –c $HOME/zabbix_agent/conf/zabbix_agentd.conf
# ps –ef | grep zabbix_agent
# netstat –an | grep 10050

*进程存在则启动成功,
*一定要使用绝对路径启动,否则会报错!
*查询问题可去zabbix日志中查看

# cat/tmp/zabbix_agentd.log

到这一步,zabbix-agent就启动成功了。
其实AIX和HPUX部署很简单,步骤差不多相同!


Linux

1 查看操作系统版本
# cat cat /etc/redhat-release
# uname -a
2 下载对应系统版本的agent包并解压到zabbix_agent文件夹下
  • 方法1:
    到官网下载对应操作系统版本的包https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/,然后发布到目标主机上。
  • 方法2:
    如果确实是4系及以下linux,同样去
    https://www.zabbix.com/download_agents#tab:20 网站下载对应版本!
# sudo rpm –ivh $HOME/zabbix-agent-3.4.15-1.el7.x86_64.rpm

Rpm包配置环境都很全面,他会给你创建zabbix用户、将文件归类放到系统对应位置,比如配置文件放入/etc/zabbix/下。所以,用rpm包安装,需要向负责人申请sudo权限。

4 查看端口是否可用,并修改zabbix_agentd.conf 文件

# netstat –an | grep 10050
# ifconfig                #查看ip
# sudo chown -R zabbix:zabbix /etc/zabbix
# sudo chmod a+w /etc/zabbix/zabbix_agentd.conf

修改/etc/zabbix/zabbix_agentd.conf文件中字段 :

Server=135.0.64.153        #zabbix服务器ip
ServerActive=135.0.64.153   #zabbix 服务器ip
Hostname=xxx.xxx.xxx.xxx   #zabbix_agent主机的ip地址
*若10050端口已被占用,查看10049端口,若10049端口可用,则同样在zabbix_agentd.conf 中修改
ListenPort=10049
5 启动zabbix_agent,查看进程及端口

#sudo systemctl start zabbix-agent #(红帽5命令为:#sudo service zabbix-agent start )

# ps –ef | grep zabbix_agent
# netstat –an | grep 10050

*进程存在则启动成功,
*一定要使用绝对路径启动,否则会报错
*查询问题可去zabbix日志中查看

# cat /var/log/zabbix/zabbix_agentd.log

到这一步,zabbix-agent就启动成功了。


最后我将我遇见的一些问题分享一下

  • 系统及zabbix对应版本
系统 版本
AIX6.1 zabbix_agents_2.0.14.aix6100.powerpc.tar.gz
HP-UX hpux11_31.ia64 zabbix_agents_1.8.19.hpux11_31.ia64.tar.gz
HP-UX hpux11_23.ia64 zabbix_agents_1.8.19.hpux11_23.ia64.gz
Linux RedHat-7 zabbix-agent-3.4.15-1.el7.x86_64.rpm
Linux RedHat-5 i386 zabbix-agent-3.4.15-1.el5.i386.rpm
Linux RedHat-5 x86_64 5.3/5.4(tikanga) zabbix-agent-3.4.15-1.el5.x86_64.rpm
Linux RedHat-6 x86_64 zabbix-agent-3.4.15-1.el6.x86_64.rpm
RedHat 4(NahantUpdate 5) zabbix_agents_1.8.19.linux2_6.i386.tar.gz
RedHat 4(Santiago) zabbix_agents_1.4.4.linux2_6.x86_64.tar.gz
AIX5.3 zabbix_agents-1.8.3.aix5300-10.powerpc.tar.gz

Linux 4以下的版本可能需要各位再斟酌一下!

  • 问题
  1. zabbix_agents_1.8.19.hpux11_31.ia64.tar.gz 这个包下载自官方路径,但是缺少conf文件夹,若要使用该包,可拷贝其他包中的conf文件,zabbix_agentd启动命令只要有zabbix_agent.conf文件就行,可拷贝主机10.229.3.12的conf文件,该文件不同系统兼容!
  2.  zabbix前台报错(红底ZBX):
     Get value from agent failed: cannot connect to [[135.0.97.206]:10050]: [111] Connection refused
     经排查,可能是前台配置的IP填写错误,也可能是zabbix服务没有启动成功。
  3.  Zabbix前台报错(红底ZBX):
     Get value from agent failed: cannot connect to [[192.168.1.205]:10050]: [113]No route to host
     可能是防火墙没有开启端口10050的权限,也可能是修改后没重启防火墙
    4. 启动时报错(找不到进程时):
     cannot open log: cannot create semaphore set: [28] No space left on device
     随排查原因,可能是kernel.sem参数设置过小,查看设置

你可能感兴趣的:(运维,zabbix)