- 安装zabbix可以通过源码(编译)安装、rpm包安装,以下分别介绍这两种方式
一、编译安装zabbix:
同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
如果仅安装agent,可使用类似如下配置命令:
./configure --enable-agent
而后编译安装zabbix即可:
make
make install
二、rpm包安装:
列出当前源下所有zabbix rpm包(也可以去zabbix官网下载最新版本):
[root@system ~]# yum list all|grep zabbix
pcp-export-zabbix-agent.x86_64 3.10.9-9.el6 base
python-pyzabbix.noarch 0.7.3-2.el6 epel
uwsgi-stats-pusher-zabbix.x86_64 2.0.17.1-1.el6 epel
zabbix22.x86_64 2.2.23-1.el6 epel
zabbix22-agent.x86_64 2.2.23-1.el6 epel
zabbix22-dbfiles-mysql.noarch 2.2.23-1.el6 epel
zabbix22-dbfiles-pgsql.noarch 2.2.23-1.el6 epel
zabbix22-dbfiles-sqlite3.noarch 2.2.23-1.el6 epel
zabbix22-proxy.noarch 2.2.23-1.el6 epel
zabbix22-proxy-mysql.x86_64 2.2.23-1.el6 epel
zabbix22-proxy-pgsql.x86_64 2.2.23-1.el6 epel
zabbix22-proxy-sqlite3.x86_64 2.2.23-1.el6 epel
zabbix22-server.noarch 2.2.23-1.el6 epel
zabbix22-server-mysql.x86_64 2.2.23-1.el6 epel
zabbix22-server-pgsql.x86_64 2.2.23-1.el6 epel
zabbix22-web.noarch 2.2.23-1.el6 epel
zabbix22-web-mysql.noarch 2.2.23-1.el6 epel
zabbix22-web-pgsql.noarch 2.2.23-1.el6 epel
[root@system ~]#
不同节点(server和agent)和发行版,所装的包也不一样
1.在zabbix server节点上,装如下包即可(yum安装):
yum install -y zabbix22.x86_64 zabbix22-server.noarch zabbix22-server-mysql.x86_64 zabbix22-web.noarch zabbix22-web-mysql.noarch
这里使用zabbix官网给出的命令
rpm -Uvh https://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum clean all
2.创建数据库并导入.sql脚本,在数据库服务器上操作(数据库和zabbix server端大部分都是分离的)
server和proxy的运行都依赖于数据库,agent则不需要。
以MySQL数据库为例:
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> GRANT ALL ON zabbix.* TO zbuser@'%' IDENTIFIED BY 'zbpass'; ##允许远程连接zabbix数据库
mysql> quit;
# 请按需要修改用户名和密码;
在zabbix server端上查看数据库脚本.sql所在位置:
[root@system ~]# rpm -ql zabbix-server-mysql
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-2.2.23
/usr/share/doc/zabbix-server-mysql-2.2.23/create
/usr/share/doc/zabbix-server-mysql-2.2.23/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/schema.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.8
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.8/mysql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.8/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.8/mysql/upgrade
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/2.0
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/2.0/mysql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/2.0/mysql/patch.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/2.0/mysql/rc4_rc5.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/2.0/mysql/upgrade
[root@system ~]# 把上述三个脚本复制到数据库服务器上导入进去
Mysql数据库服务器上执行:
[root@system ~]# mysql -u<username> -p<password> zabbix < database/mysql/schema.sql
# 如果仅为proxy创建数据库,只导入schema.sql即可;否则,请继续下面的步骤;
[root@system ~]# mysql -u<username> -p<password> zabbix < database/mysql/images.sql
[root@system ~]# mysql -u<username> -p<password> zabbix < database/mysql/data.sql ## 导入.sql数据库脚本
或者在zabbix server上导入到远程数据库上面也行(这样就不需要复制了):
[root@system ~]# mysql -uzbuser -pzbpass -h192.168.0.114 zabbix </usr/share/doc/zabbix-server-mysql-2.2.23/create/schema.sql ##注意导入顺序,schema.sql一定要先导入
[root@system ~]# mysql -uzbuser -pzbpass -h192.168.0.114 zabbix </usr/share/doc/zabbix-server-mysql-2.2.23/create/images.sql
[root@system ~]# mysql -uzbuser -pzbpass -h192.168.0.114 zabbix </usr/share/doc/zabbix-server-mysql-2.2.23/create/data.sql
[root@system ~]#
3.修改zabbix_server.conf配置文件
[root@system ~]# cd /etc/zabbix/
[root@system zabbix]# ls
web zabbix_server.conf
[root@system zabbix]# vim zabbix_server.conf
修改如下几项即可:
DBHost=192.168.0.114 ##指定数据库主机地址
DBUser=zbuser ##指定数据库用户
DBPassword=zbpass ##指定数据库密码
数据库端口默认3306,也可以更改
[root@system zabbix]#
4.启动zabbix-server服务并且访问WEB界面
[root@system zabbix]# ls /etc/rc.d/init.d
auditd functions lvm2-lvmetad rdisc snmptrapd
blk-availability halt lvm2-monitor restorecond sshd
crond htcacheclean netconsole rsyslog svnserve
dhcpd httpd netfs sandbox udev-post
dhcpd6 ip6tables network saslauthd xinetd
dhcrelay iptables ntpdate single zabbix-server
dhcrelay6 killall portreserve snmpd
[root@system zabbix]# service zabbix-server start
Starting Zabbix server: [ OK ]
[root@system zabbix]# lsof -i :10051 ##zabbix-server端默认监听在10051端口
默认会生成一个zabbix.conf在web的配置文件目录下(当前实验环境的web服务为apache):
[root@system zabbix]# ls /etc/httpd/conf.d/
README php.conf welcome.conf zabbix.conf
[root@system zabbix]# service httpd start #启动web服务
[root@system zabbix]# vim /etc/php.ini ##修改时区为上海
date.timezone = Asia/Shanghai
通过浏览器访问http://192.168.0.114/zabbix

出现如上安装界面这说明zabbix-server启动成功
5.安装zabbix
点下一步,设置数据库连接

点击测试数据库,如果测试连接失败,检查防火墙是否关闭并且数据库是否开放了远程连接权限,之后继续下一步

这一步要求填写zabbix-server主机是什么,以及监听端口,zabbix名字等,由于zabbix-server就是本机,所以默认即可,如果有多个zabbix可以取个名字。继续下一步到底

默认登录账号:Admin(A大写) 密码:zabbix
登录后的初始界面:

6.安装agent端
被监控主机(agent端)IP为192.168.0.193
安装以下几个包:
rpm -Uvh https://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm ##centos6下
yum install -y zabbix zabbix-agent
编辑配置文件:
[root@system zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@system zabbix]#vim zabbix_agentd.conf
Server=192.168.0.114 #指定zabbix server的IP
[root@system zabbix]# ls /etc/rc.d/init.d/
auditd ip6tables mysql ntpd rsyslog sshd
blk-availability iptables netconsole ntpdate sandbox udev-post
crond killall netfs php-fpm saslauthd zabbix-agent
functions lvm2-lvmetad network rdisc sendmail
halt lvm2-monitor nginx restorecond single
[root@system zabbix]# service zabbix-agent start ##启动agent
Starting Zabbix agent: [ OK ]
[root@system zabbix]# ss -tanl ##监听10050端口
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:8080 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 *:22 *:*
LISTEN 0 10 127.0.0.1:25 *:*
LISTEN 0 128 :::10050 :::*
LISTEN 0 128 *:10050 *:*
LISTEN 0 50 *:3306 *:*
[root@system zabbix]#
7.在zabbix-server上添加agent
打开浏览器,点击configuration–>hosts–>add hosts,填写如下选项:

visible表示可见名,IP address和DNS name填一项即可,如果填DNS name则域名需要正确解析到agent端,并且connect to选择DNS
monitor表示正在监控中:

其中,items表示监控项,Applications表示把多个指定items归为一个组来监控,Triggers表示触发器(合理范围)
8.添加item
点击item填写如下数据来监控agent端eth0网卡输出流量:

之后点save:

添加如下四个item:

点击monitoring–>lastest data–>Graph可查看图形化数据


9.添加graph
点击configuration–>hosts–>graph 可以添加图像,把多个item放到一张图上,比如把网卡流量放到一张图:

把CPU相关的item放到一张图:

10.添加screen
把上述两张图整合到一起
点击configuration–>Screens–>create screen

点击save后,点击node1节点:

接着点击charge–>Graph name指定显示哪副图:

效果:

到此zabbix安装与基本配置结束,后期将持续更新zabbix其他监控组件
- 各服务所监听端口:
zabbix-server: 10051端口
zabbix-agent: 10050端口
