Zabbix 简介Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决
方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技
术支持赢利。

Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据
Server 端:通过收集 SNMP agent 发送的数据,写入数据库(MySQLORACLE 等) ,
再通过 php+apache web 前端展示。
Zabbix 运行条件:
ServerZabbix Server 需运行在 LAMPLinux+Apache+Mysql+PHP)环境下(或者
LNMP) ,对硬件要求低
Agent目前已有的 agent 基本支持市面常见的 OS,包含 LinuxHPUXSolarisSun
windows
SNMP支持各类常见的网络设备
监控过程逻辑如图示:

Linux监控服务之zabbix服务端安装_第1张图片

优劣势

优点:
开源,无软件成本投入
Server 对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
开放式接口,扩展性强,插件编写容易
当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从
server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较
小。
Api 的支持,方便与其他系统结合
缺点:
需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要
在数据库。

安装部署

[root@server zabbix-2.0.8]# uname -a  (centos6.5 内核2.6.32-358.el6.x86_64)环境ip:192.168.75.128

1.安装lamp环境

[root@server ~]#  yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel  php-pecl-ssh2.x86_64 libssh2-devel.x86_64 (最后两个如果没安装则会出现,ssh模块错误)

2.配置php环境

[root@server ~]#  vim /etc/php.ini

date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time=300
memory_limit = 128M
mbstring.func_overload = 2
3.开启httpd,mysql服务

[root@server ~]# chkconfig mysqld on

[root@server ~]# chkconfig httpd on

[root@server ~]# service httpd start

[root@server ~]# service mysqld start

4.下载zabbix安装包,这里我下载zabbix-2.0.8.tar.gz

5.创建zabbix用户和组并给特定的uid和gid

[root@server ~]# groupadd zabbix -g  201
[root@server ~]#  useradd -g zabbix -u 201 -m zabbix

6.编译安装zabbix

[root@server ~]# tar xf zabbix-2.0.8.tar.gz

[root@server ~]# cd zabbix-2.0.8

[root@server ~]# ./configure --prefix=/usr --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java

[root@server ~]#  make && make install

7.修改服务配置文件

[root@server ~]#vim  /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

(注意:在centos6.X版本已经默认了)

8.开始导入数据库(这里我们使用mysql数据库)

[root@server ~]# cd zabbix-2.0.8
[root@server zabbix-2.0.8]# mysqladmin -uroot password '123456';

[root@server zabbix-2.0.8]#mysql -uroot -p123456

mysql> create database zabbix character set utf8;  
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql> flush privileges;

[root@server zabbix-2.0.8]#mysql -uzabbix -pzabbix zabbix (测试下数据库连接是否正常)

如果不是这个路径,下面的导入路径,请修改成自己的路径

[root@server zabbix-2.0.8]#mysql -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql
[root@server zabbix-2.0.8]#mysql -uzabbix -pzabbix zabbix < ./database/mysql/p_w_picpaths.sql
[root@server zabbix-2.0.8]#mysql -uzabbix -pzabbix zabbix < ./database/mysql/data.sql

确保以上过程无误
[root@server zabbix-2.0.8]#mkdir /var/log/zabbix
[root@server zabbix-2.0.8]#chown zabbix.zabbix /var/log/zabbix

9.拷贝service启动脚本

[root@server zabbix-2.0.8]#cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
[root@server zabbix-2.0.8]#chmod 755 /etc/init.d/zabbix_*
[root@server zabbix-2.0.8]#sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_server
[root@server zabbix-2.0.8]#sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd

10.配置zabbix_server.conf服务端文件

[root@server zabbix-2.0.8]#vim /etc/zabbix/zabbix_server.conf

修改主要参数即可正常工作
DBName=zabbix 数据库名称
DBUser=zabbix 数据库用户
DBPassword=123456数据库密码

当然如果你的 mysql 不是用 rpm 包安装的,则需要将 mysql.sock 改为你的实际路径
Sed 命令如下

#sed -i "s/DBUser\=root/DBUser\=zabbix/g"  /etc/zabbix/zabbix_server.conf
#sed -i "/#DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/zabbix_server.conf
#sed -i "s#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g" /etc/zabbix/zabbix_server.conf

11.配置zabbix_agentd.conf服务端文件

[root@server zabbix-2.0.8]# vim /etc/zabbix/zabbix_agentd.conf

[root@server zabbix-2.0.8]# egrep -v "(#|^$)" /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,192.168.75.128
 StartAgents=8
ServerActive=192.168.75.128:10051
Hostname=Zabbix server
 Timeout=30
 Include=/etc/zabbix_agentd.conf.d/
 UnsafeUserParameters=1

工作模式:
Server 是采用被动工作模式,允许访问的 ip 地址,server 端要获取数据,当然得允许 server 端了
ServerActive 是采用主动工作模式,将数据上传到哪台服务器,需要填写 server 的端口,默认是 10051
语法是 ip1,ip2 可以填写多个 server 端,中间用逗号隔开

12.拷贝网页文件到apache目录下

#cp -r ./frontends/php/ /var/www/html/zabbix
#chown -R apache.apache /var/www/html/zabbix

13.开机自启动
#chkconfig zabbix_server on
#chkconfig zabbix_agentd on
#service zabbix_server start
#service zabbix_agentd start
(如果启动失败,请检查配置文件是否都正确。至此,zabbix server 端安装完成。)

14.通过网页配置zabbix

1)在浏览器输入http://192.168.75.128/zabbix

2)进去以后下一步,填写数据库等信息

 数据库 ip localhost
端口为 3306
数据库名 zabbix

用户为 zabbix
密码为 zabbix
点击 test connection,如果没有问题,则会提示 OK,否则,需要检查数据库授权是否正确

3)填写本机信息

Host 本机的 ip
Name 本机的 ip

如 果 此 处 提 示 文 件 zabbix.conf.php 无 法 创 建 , 则 是 apache 目 录 无 法 写 入 ,
/var/www/html/zabbix 的文件权限不为 apche.apache
输入以下命令解决
chown -R apache.apache /var/www/html/zabbix

4)进入登录界面

 默认用户名为 admin,密码为 zabbix