开发人员学Linux(13):CentOS7安装配置IT设备监控系统Zabbix
1.前言
在前一篇讲述了如何安装Memcached和Redis,在这一篇主要讲述如何安装企业级IT设备监控系统Zabbix。本人曾在某大型集团公司信息化部门工作,公司在多个城市以及一个城市的多个区有办公区,在那里不仅会开发软件系统,还需要对大量的软件系统、操作系统及IT设备进行监控,以保证IT基础设施能够7×24小工作。在没有实施系统之前,经常接到电话被告知网络中断了或是某个应用程序无法使用了,每次接到电话之后首先要排除是否误报,然后再分析是哪里出了问题,最终找出解决办法。每次处理事情的周期很长,也很麻烦,于是本人在网上寻找类似软件,最终在smokeping、cacti、nagios、zabbix、ntop等众多软件中选择了Zabbix。Zabbix的官方网站为:https://www.zabbix.com,由于发展了很多年,所以在官方网站上有大量的文档和监控模板。
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。Zabbix Server必须安装在Linux系统上,但Zabbix agent则有适应各种操作系统的版本。
当然,如果是个人或小组简单应用,可以考虑自己开发一些小工具来实现,比如在Windows上可以利用PerformanceCounter之类的工具(在Linux上也有类似的工具)来实现部分功能,本人以前曾尝试过,也见过别人做过类似的工作,但毕竟应用面比较窄,要想全面监控,还是用企业级IT设备及系统开源监控工具比较好。
2.准备
Zabbix相关的资源下载页面为https://www.zabbix.com/download,可以在此安装个人需要下载。
2.1zabbix服务器端
提供了针对各种类型操作系统的Zabbix Server安装包和已经在虚拟机配置好的虚拟机文件,同时还提供了源代码供动手能力强的人自己编译安装,在这里我们就自己编译安装,下载最新版本Zabbix server版本,为3.4.3,下载地址:https://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz
2.2zabbix Linux客户端
这里就直接下载已经编译好的客户端即可,下载地址:
2.3zabbix Windows客户端
这里就下载编译好的客户端,下载地址:https://www.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip。
3.编译安装
3.1Zabbix server编译安装
首先将Zabbix Server源代码上传到服务器(可以上传也可以在Linux服务器上用wget下载),假定放在/root路径下。
首先创建zabbix运行时的账户:
groupadd zabbix
useradd -g zabbix zabbix
接着解压zabbix源代码:
tar -zxvf zabbix-3.4.3.tar.gz
cd /root/zabbix-3.4.3
可以查看zabbix的编译配置参数:
./configure –help
其中有几个比较重要的参数:
--prefix=PREFIX 指定安装位置
--enable-server 启用服务器功能
--enable-agent 启用客户端功能
--enable-java 启用Java gateway功能
--enable-ipv6 启用IPv6
--with-mysql 支持MySQL
--with-libxml2 支持xml
--with-net-snmp 支持net-snmp
--with-ssh2 支持ssh2
--with-libcurl 支持cURL
在我们进行编译之前,我们需要安装一些库,主要是编译和运行过程中需要,安装命令如下:
[code=bash;toolbar:false">yum install net-snmp net-snmp-devel net-snmp-utils libssh2 libssh2-devel openldap openldap-devel unixODBC unixODBC-devel OpenIPMI OpenIPMI-devel libevent libevent-devel -y如果不安装这些库,可以在运行下面的configure命令时出现如下错误:
configure: error: net-snmp library not found
configure: error: SSH2 library not found
configure: error: unixODBC library not found
configure: error: SSH2 library not found
因为在本系列之前的文章中我们已经安装了MySQL、PHP及Java,所以我们这里只需要指定路径即可,如:
--with-mysql=/usr/local/mysql-5.7.18/bin/mysql_config
我们现在安装Zabbix Server的服务器是CentOS7,Linux内核版本为3.10,我们已经安装了MySQL5.7及PHP5.6.30,因此我们的编译配置为:./configure --prefix=/usr/local/zabbix\
--enable-server\
--enable-agent\
--enable-ipv6\
--enable-java\
--with-mysql=/usr/local/mysql-5.7.18/bin/mysql_config\
--with-net-snmp=/usr/bin/net-snmp-config\
--with-libcurl\
--with-libxml2\
--with-openipmi\
--with-unixodbc\
--with-ldap\
--with-ssh2\
如无意外则会编译成功。
题外话:在本系列上一篇在讲编译安装Memcached的时候讲了编译安装libevent的,当时指定libevent安装在/usr/local/libevent,我本着能少一事就少一事的态度,通过参数指定libevent的位置,不再安装libevent,结果编译报错,说是找不到event.h,我的configure参数如下:./configure --prefix=/usr/local/zabbix\ --enable-server\ --enable-agent\ --enable-ipv6\ --enable-java\ --with-mysql=/usr/local/mysql-5.7.18/bin/mysql_config\ --with-net-snmp=/usr/bin/net-snmp-config\ --with-libcurl\ --with-libxml2\ --with-openipmi\ --with-unixodbc\ --with-ldap\ --with-ssh2\ --with-libevent=/usr/local/libevent\ --with-libevent-include=/usr/local/libevent/include/event2\ --with-libevent-lib=/usr/local/libevent/lib在这里折腾了很长时间,自己多次尝试,包括在官网和网上寻找答案均无结果,最终无奈之下选择yum install libevent libevent-devel来解决问题。
3.2Zabbix-agent编译安装
对于Zabbix的客户端也可以编译安装,也可以直接安装已经编译好的安装包,在Linux下使用yum install方式来安装,也可以像在Windows下一样下载压缩包后解压缩安装。
其中介绍下Windows下安装过程:
按照前文提及的下载地址下载压缩包,将其解压到带安装的Windows主机的C盘下,解压后的路径为:C:\zabbix_agents_3.4.0.win,在C:\zabbix_agents_3.4.0.win\bin目录下有win32和win64两个目录分别对应x86和x64架构,因本人的机器为Win7 X64,因此在命令窗口下安装的命令为:
cd C:\zabbix_agents_3.4.0.win\bin\win64
zabbix_agentd.exe -c C:\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf –i
上述命令执行成功后你会在Windows系统的服务中多了一个Zabbix Agent的服务。
启动zabbix_agentd的命令为:
zabbix_agentd.exe -c C:\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf –s
- 开发人员学Linux(13):CentOS7安装配置IT设备监控系统Zabbix
- 开发人员学Linux(13):CentOS7安装配置IT设备监控系统Zabbix
- linux监控系统_Zabbix安装步骤及配置V1.1(3)
- 开发人员学Linux(12):CentOS7安装配置Memcached和Redis
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube
- 开发人员学Linux(2):VirtualBox中安装CentOS7系统设置
- 开发人员学Linux(2):VirtualBox中安装CentOS7系统设置
- 开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
- 开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins
- 开发人员学Linux(2):VirtualBox中安装CentOS7系统设置
- 开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins
- 开发人员学Linux(12):CentOS7安装配置Memcached和Redis
- 开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8并配置为service
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
- CentOS 6.5 中安装与配置JDK-7 (Linux系统)
- linux下ubuntu系统安装及开发环境配置
- Linux基本操作系列(二):在CentOS 6.8系统上安装Tomcat并配置自动启动
- 如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash
- centos7/rhel7下配置PXE+Kickstart自动安装linux系统