1.1 Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:http://www.zabbix.com
Zabbix 1.8官方文档:http://www.zabbix.com/documentation/1.8/start
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。

Zabbix运行条件:
服务器端:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
客户端:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows
SNMP:支持各类常见的网络设备

 

1.2 Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
(1)支持自动发现网络设备和服务器
(2)支持分布式,能集中展示、管理分布式的监控点
(3)扩展性强,server提供通用接口,可以自己开发完善各类监控

1.3 优劣势
优点:
开源,无软件成本投入
Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多、支持分布式集中管理、开放式接口、扩展性强;当监控的item比较多服务器队列比较大时可以采用被对状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
缺点:
无厂家支持,出现问题解决比较麻烦;需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

2. Part2.安装部署
2.1 服务端环境准备
Zabbix Server需要运行在CentOS、RedHat Linux、Debain等Linux系统上,这里以RHEL AS5作为部署环境。Root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。
LAMP环境

#yum install mysql-server httpd php

其他需要用到的包:

#yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml

下载最新的Zabbix安装包(官网:http://www.zabbix.com)到本地,解压

#tar zxvf zabbix-1.8.1.tar.gz
增加zabbix用户和组
#groupadd zabbix
#useradd –g zabbix –m zabbix

2.2 数据库准备
启动MySQL数据库:

#service mysqld start

修改MySQL root用户密码(默认密码为空)

#mysqladmin –uroot password root

测试能否正常登陆数据库

#mysql –uroot –proot

创建Zabbix数据库

Mysql> create database zabbix character set utf8;
Mysql> grant all on zabbix.* TO zabbix@’localhost’ identified by ‘zabbixpass’;
Mysql> flush privileges;

导入数据库sql脚本

#cd zabbix-1.8.1
# cat ./create/schema/mysql.sql |mysql -uroot –proot zabbix
# cat ./create/data/data.sql |mysql -uroot -proot zabbix
# cat ./create/data/images_mysql.sql |mysql -uroot -proot zabbix

2.3 编译安装
配置编译,prefix是安装后程序目录

# ./configure –with-mysql –with-net-snmp –with-libcurl –enable-server –enable-agent –enable-proxy –prefix=/usr/local/zabbix
# ./configure –with-mysql=/usr/local/mysql/bin/mysql_config –with-net-snmp –with-libcurl –enable-server –enable-agent –enable-proxy –prefix=/usr/local/zabbix            //mysql编译安装
# make
# make install

2.4 配置文件及web前端文件修改
添加服务端口,添加后如下

# grep zabbix /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper

添加配置文件

# mkdir -p /etc/zabbix
# cp ./misc/conf/* /etc/zabbix
# chown -R zabbix:zabbix /etc/zabbix

修改Server配置文件
基本不用修改,用默认配置即可,只需修改一项DBPassword=密码
# vi /etc/zabbix/zabbix_server.conf
修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了
#vi /etc/zabbix/zabbix_agentd.conf

添加web前端php文件
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix

2.5 web前端安装配置
修改php相关参数
# vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉

max_execution_time = 300
max_input_time=300
memory_limit = 128M
date.timezone = Asia/Shanghai
post_max_size = 32M
mbstring.func_overload = 2

重启apache

#service httpd restart

在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://ServerIP/zabbix
按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。

zabbix-fully-monitored-01

图表 1

Step 4 填入Zabbix Server 登陆mysql的用户和密码
Step 7 按提示下载配置文件到Server的/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php
配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix

2.6 启动Server
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动

#/usr/local/zabbix/sbin/zabbix_server

为了便于启停Server,我们做一些小配置
复制控制程序

# cp ./misc/init.d/redhat/zabbix_* /etc/init.d/

修改配置目录,将如下两个文件中的BASEDIR=改为/usr/local/zabbix, 下面两个配置中的bin改为sbin,ZABBIX_AGENTD,ZABBIX_SUCKERD

# vi /etc/init.d/zabbix_server_ctl
# vi /etc/init.d/zabbix_agentd_ctl

加入开机启动

# echo ‘/etc/init.d/zabbix_server_ctl start &’ >>/etc/rc.local
# echo ‘/etc/init.d/zabbix_agentd_ctl start &’ >>/etc/rc.local

创建快键方式

# ln -s /etc/init.d/zabbix_server_ctl /usr/bin/zabbix_server_ctl
# ln -s /etc/init.d/zabbix_agentd_ctl /usr/bin/zabbix_agentd_ctl

启动Server和Agentd(可以通过start stop restart来操作)

# zabbix_agentd_ctl start
# zabbix_server_ctl start

检查启动是否正常,查看进程是否起来,分server和agentd
#ps –ef | grep zabbix
如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log
至此Zabbix Server的安装已完成.

2.7 在hosts上配置agent
Zabbix需要在被监控的host上安装agent,在zabbix官网上下载相应平台的agent包到各被监控端,按如下方式在被监控上运行agent。(注:官网上下载的agent包里没有运行agentd所必须的配置文件,可以从zabbix server上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的)
Linux、UX:
Linux、UX上的agent是编译好了的,不用安装

#useradd zabbix
#cd /usr/local/zabbix
#tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz

取一份server上的zabbix_agentd.conf到本地,然后按说明修改,一般我们只需修改如下5个参数:

Server=Zabbix Server IP
Hostname=本机名
LogFile=本机agentd日志保存文件
SourceIP=本机IP
ListenPort=10050

修改完成后,运行agentd

#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf &
#ps –ef | grep zabbix_agentd

如果进程没起来,可查看agentd.log日志来排查问题。(注:启动时建议用全路径,否则可能会出错)
加入开机运行

# echo ‘/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf &’ >> /etc/rc.local

Windows:
Windows下解压客户端包到c:,下载修改好的zabbix_agentd.conf文件也放到c:,打开cmd命令行,执行
C:>zabbix_agentd –install
安装后会在系统服务里添加一个zabbix_agentd服务,会自动开机运行
如果需要将客户端和配置文件放在其他目录,请执行
C:>DIR/zabbix_agentd –c DIR/zabbix_agentd.conf –install
启动agentd服务
C:>zabbix_agentd –start
或是通过管理->服务找到zabbix_agentd来启动。

参考具体文档:zabbix使用手册v1.0

 

原文: 运维军团