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的优缺点如下:
接下来我们来安装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/p_w_picpaths.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,刚开始会出现如下页面:
最上面会出现警告信息,这是因为没有设置时区,在vim/etc/php.ini中设置时区为“date.timezone=“Asia/Shanghai””
这时候在进入界面,警告信息就消除了!然后点击next,出现如下界面:
有三行不符合要求,我们要把配置文件中对应的项改为Required的值,同样也是修改/etc/php.ini文件!修改完之后就点击Retry!如下:
输入我们在授权时写入到的账户和密码,点击一下test connection,若是测试通过则会出现OK字样,然后再点击下一步:
host和port保持默认即可,name中自己定义一个唯一的名字:点击nest!
点击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!