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服务的运行用户
1
2
|
groupadd zabbix
useradd
-g zabbix zabbix -s
/sbin/nologin
|
2、下载源码包
zabbix的最新包目前是2.2.1版本,现在就来下载2.2.0稳定版本。
安装方法:
1
2
3
4
5
6
7
8
|
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数据库,并创建数据库
1
2
3
4
5
6
7
|
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的服务端,并启动服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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端安装
如下图:
这个地方会出现错误,如果php编译安装时没有加载gettext这个模块支持多语言,解决方法如下:
可以到源码php编译目录下去重新加载这个模块。
1
2
3
4
|
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
|
配置好数据库后就安装完成了,登录:
初始用户名:admin 密码:zabbix
下面是配置后的zabbix图片
到此,服务端已安装完成,下面来安装一下客户端,也就是被监控端。
同样使用之前下载的源码,安装如下:
安装客户端:用到agentd工作模式
添加用户:
1
2
|
groupadd zabbix
useradd
-g zabbix zabbix -s
/sbin/nologin
|
1
2
3
4
|
tar
zxvf zabbix-2.2.0.
tar
.gz
cd
zabbix-2.2.0
.
/configure
--prefix=
/usr/local/zabbix
--
enable
-agent
make
&&
make
install
|
修改配置文件
1
2
3
4
5
6
7
8
9
10
11
|
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端添加监控主机了。
启动报错:
1
|
/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源后就可以直接安装了,如下图:
服务端安装:
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
本文转自 ZhouLS 51CTO博客,原文链接:http://blog.51cto.com/zhou123/1349763