zabbix与cacti类似,也是基于web界面的开源监控软件。不过它还提供了一个分布式系统监控的企业级解决方案。

    zabbix由zabbix server和可选组件zabbix Agent两部分组成。

    server端可以通过SNMP,zabbix agent,Ping,端口监控等方法提供对远程服务器的状态监控,数据收集等功能。该组件可以运行在linux等平台上。

    Agent端需要安装在被监控的目标服务器上,主要完成对硬件信息或者操作系统有关的内存,cpu等信息的收集。

    zabbix server可以单独监控远程服务器的服务状态,也可以与zabbix agent配合;可以轮询zabbix agent主动接收监控数据,还可以被动接收zabbix agent发送的数据。

    zabbix的优缺点如下:

wKioL1cwJbPjhzlXAAF3iVPxSzM494.png

接下来我们来安装zabbix:

在安装zabbix之前,也需要安装epel扩展源,因为centos自带的yum源没有zabbix的!

yum  install  -y  epel-release

采用yum安装的方式,安装lnmp环境:

[root@shiyan ~]# yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring

安装zabbix服务端:

[root@shiyan ~]# yum install  zabbix20 zabbix20-agent zabbix20-server  zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel

安装完成之后配置,修改mysql的配置文件:

vim /etc/my.cnf               /做出如下修改

[mysqld]
character_set_server = utf8

[mysql]
default-character-set = utf8

然后启动mysql,导入三个sql文件:

[root@shiyan ~]# mysql -uroot -p -e  "create database zabbix"
Enter password: 
[root@shiyan ~]# mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
Enter password: 
[root@shiyan ~]# mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql
Enter password: 
[root@shiyan ~]# mysql -uroot -p --default-character-set=utf8  zabbix < /usr/share/zabbix-mysql/data.sql
Enter password: 
[root@shiyan ~]#

给zabbix账户授权:

[root@shiyan ~]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix';   /授权命令
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye

修改zabbix——server端的配置文件,

[root@shiyan ~]# vim /etc/zabbix/zabbix_server.conf 

作如下修改,若文件默认符合要求,则不需要修改:
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
查看sock的文件:
[root@shiyan ~]# ls /var/lib/mysql/mysql.sock
ls: cannot access /var/lib/mysql/mysql.sock: No such file or directory  /若文件不存在,则需要做软连接,如下!
[root@shiyan ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@shiyan ~]# ls /var/lib/mysql/mysql.sock
/var/lib/mysql/mysql.sock

然后启动安装的软件:

[root@shiyan ~]# /etc/init.d/zabbix-server start
[root@shiyan ~]# /etc/init.d/zabbix-agent start
[root@shiyan ~]# /etc/init.d/httpd start
[root@shiyan ~]# /etc/init.d/mysqld start
查看一下zabbix是否启动:
[root@shiyan ~]# ps aux |grep zabbix

查看一下zabbix服务端和客户端工作的端口如下:

[root@shiyan ~]# netstat -lnp |grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      1400/zabbix_agentd  
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      2080/zabbix_server  
tcp        0      0 :::10050                    :::*                        LISTEN      1400/zabbix_agentd  
tcp        0      0 :::10051                    :::*                        LISTEN      2080/zabbix_server

下面通过网页安装zabbix,在浏览器中输入http://ip/zabbix,刚开始会出现如下页面:

wKiom1cwKyeQRxsgAAODNbCrcOQ475.png最上面会出现警告信息,这是因为没有设置时区,在vim/etc/php.ini中设置时区为“date.timezone=“Asia/Shanghai”

这时候在进入界面,警告信息就消除了!然后点击next,出现如下界面:

wKiom1cwK9fg1_IcAACaV3M7HpU651.png

有三行不符合要求,我们要把配置文件中对应的项改为Required的值,同样也是修改/etc/php.ini文件!修改完之后就点击Retry!如下:

wKiom1cwLESAXUyKAACX1HkhVwQ501.png然后点击nexr按钮,如下:

wKioL1cwLUrjeAXFAAB61DsE3QA009.png输入我们在授权时写入到的账户和密码,点击一下test connection,若是测试通过则会出现OK字样,然后再点击下一步:

wKiom1cwLNqi20hcAABzFSL1_Gs581.pnghost和port保持默认即可,name中自己定义一个唯一的名字:点击nest!

wKiom1cwLRqChXfkAACBCPIIFds745.png这里面会出现一些设置信息,默认即可,直接下一步!

wKioL1cwLiKgJcACAABrNEBQ-mE464.png点击finish按钮,会出现登录界面,默认的账户和密码分别为:admin和zabbix。


然后增加监控客户端:首先在客户端进行如下操作:

[root@lvs ~]# yum install -y zabbix20-agent   /这里的zabbix版本要和服务端版本一样,或者兼容

然后修改配置文件:

[root@lvs ~]# vim /etc/zabbix_agentd.conf 

作如下修改:
Server=192.168.1.114(服务端ip地址)
ServerActive=0.0.0.0:10050(前面已经查过端口号)
HostName=test(自定义的)

然后启动客户端:

[root@lvs ~]# /etc/init.d/zabbix-agent start
Starting Zabbix agent:                                     [  OK  ]

然后在服务端执行如下命令:

[root@shiyan ~]# zabbix_get -s 192.168.1.120 -p 10050 -k "system.hostname"
lvs               /出现客户端的主机名字,表示通信连接好!
[root@shiyan ~]#

然后在web页面下configuration--->host--->Create host,其中hostname,visible name可以自定义,ip address写入客户端ip!