zabbix 简介

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 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 server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。


zabbix的主要特点:

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

等等



Zabbix主要监控功能:

- CPU负荷

- 内存使用

- 磁盘使用

- 网络状况

- 端口监视

- 日志监视


上面简单介绍了zabbix,,下面就来在服务器上安装体验一下zabbix的强大功能吧,首先是在服务器上安装,安装方法如下:


一、服务器端,也就是监控端(这里采用源码安装)

1、添加zabbix服务的运行用户

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin

2、下载源码包

 zabbix的最新包目前是2.2.1版本,现在就来下载2.2.0稳定版本。

 下载地址 http://www.zabbix.com/

 安装方法:

cd /usr/local/src
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
tar zxvf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix  --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make
make install
cd ../

 参数说明:

 --prefix=/usr/local/zabbix   #zabbix的安装目录

 --enable-server  #作为服务器端

 --enable-agent  #作为客户端

 --with-mysql  # 支持mysql zabbix也运行ladp,oracle,postgresql,sqlite3等数据库

 --with-net-snmp  # 支持snmp

 --with-libcurl  # 是用来监控web页面的

 编译过程的错误:

 数据库错误:在这里数据库是编译安装的所以要把环境变量导出:

 vim /etc/profile

 添加如下行export PATH=$PATH:/usr/local/mysql/bin

 然后执行:source /etc/profile    即可

 net-snmp错误:

 yum install net-snmp-devel -y   即可

3、创建数据库,并导入初始数据

 连接到mysql数据库,并创建数据库


mysql -uroot -p****
mysql> create database zabbix character set utf8;
导入数据 下面的导入顺序不能变,,
cd zabbix-2.2.0/database/mysql
mysql -uroot -p***** zabbix < schema.sql
mysql -uroot -p***** zabbix < images.sql
mysql -uroot -p***** zabbix < data.sql

 这里说明下,zabbix这个数据库,可以添加个用户用来单独访问zabbix所有权限这样做是为了安全。

4、配置zabbix的服务端,并启动服务


cd /usr/local/zabbix/etc/
vim zabbix_agentd.conf   ##指定sever地址
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server#Hostname是唯一的,不能重复 默认是Zabbix Server  可以不用修改
/usr/local/etc/zabbix_server.conf   指定数据库用户名、密码、主机名、端口号
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
启动服务:
cp /usr/local/zabbix/sbin/zabbix_server /etc/init.d/
service zabbix_server start
或者:
/usr/local/zabbix/sbin/zabbix_server

5、在web端安装

 配置nginx和网页

 cd /usr/local/src/zabbix-2.2.0/frontends/

 cp -r php /data/www/zabbix

 /data/www/zabbix 是网页目录

 在nginx的配置文件中加入能正常访问即可。

6、在web端安装

 如下图:

wKiom1LM4MXgbXyNAAB4AYTRj1I066.jpg

wKioL1LM4LnSoyi_AADO-vQDMGU351.jpg

这个地方会出现错误,如果php编译安装时没有加载gettext这个模块支持多语言,解决方法如下:

可以到源码php编译目录下去重新加载这个模块。

cd /usr/local/src/php-5.3.0/ext/gettext
/usr/local/php/bin/phpize    #执行此命令
./configure --with-php-config=/usr/local/php/bin/php-config #重新编译php
make && make install

wKiom1LM4MfzNnA2AAC76MVFkDM953.jpg

 配置好数据库后就安装完成了,登录:

wKioL1LM5yCQ_omlAABSTjtNuqE407.jpg

初始用户名:admin 密码:zabbix


 下面是配置后的zabbix图片

wKiom1LM4cuBCMHMAAEriEIkrDI115.jpg


到此,服务端已安装完成,下面来安装一下客户端,也就是被监控端。

同样使用之前下载的源码,安装如下:

安装客户端:用到agentd工作模式

添加用户:

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
tar zxvf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install

修改配置文件

cd /usr/local/zabbix/etc/
vim zabbix_agentd.conf
修改以下内容:
Server=服务端ip地址,也就是监控端ip地址
ServerActive=服务端ip地址,也就是监控端ip地址
其他的并不需要修改
下面来启动
cp /usr/local/zabbix/sbin/zabbix_agentd /etc/init.d/
service zabbix_agentd start
或者
/usr/local/zabbix/sbin/zabbix_agentd

启动后就可能在web端添加监控主机了。

启动报错:

/etc/init.d/zabbix_agentd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解决方法:

vim /etc/ld.so.conf

添加:

/usr/local/lib

保存退出

执行:

ldconfig

然后再启动


启动后可以查看端口是否已启动。这样zabbix的服务端和客户端都安装完成,并且作了一些简单的配置,下面会介绍zbbix的web页面相关内容,以及如何监控主机及服务的。


补充:zabbix也支持rpm的安装,配置epel yum 源后可以用yum直接安装

epel源的配置在我的相关博文有提到,可以自行查看,配置yum源后就可以直接安装了,如下图:

wKioL1LM5Xfj4rBtAAFLOdkltYY818.jpg

服务端安装:

yum install zabbix.x86_64 zabbix-server.x86_64 zabbix-server-mysql.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch zabbix-agent.x86_64

客户端安装:

yum install zabbix.x86_64 zabbix-agent.x86_64