- 安装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
端口