之前公司给新人搞技术分享,我就准备了一个zabbix的部署分享给他们。
由于公司在前一段准备更新下监控系统,之前的监控系统是用 Nagios 做的。可是,我之前也没接触过 Nagios,后来就调研了一番。对比了市面上比较火的几款监控系统,最后还是感觉 Zabbix 更出色一点。
下面是 Zabbix Server 和 Zabbix Agent 的部署流程。
1
2
3
4
5
|
环境:
OS Version:CentOS 6.5 x86_64位
采用最小化安装,系统经过了基本优化 selinux 为关闭状态,iptables 为无限制模式
主机名:zabbix-master-rj
I P :10.1.1.1
|
这里需要注意:
如果 iptables 不能关闭的话,可以按如下配置:
1
2
3
4
|
[root@zabbix-master-rj
/root
]
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
[root@zabbix-master-rj
/root
]
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[root@zabbix-master-rj
/root
]
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
[root@zabbix-master-rj
/root
]
#iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
|
如果 selinux 不能关闭的话,也可以按如下配置:
1
2
|
[root@zabbix-master-rj
/root
]
#chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
[root@zabbix-master-rj
/root
]
#setsebool -P httpd_can_network_connect=true[root@zabbix-master-rj /root]#semanage port -a -t http_port_t -p tcp 10051
|
一、Zabbix Server部署
1、准备 epel yum 源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@zabbix-master-rj
/root
]
# rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@zabbix-master-rj /root]# yum clean all
[root@zabbix-master-rj
/root
]
# yum list|grep zabbix22
zabbix22.x86_64 2.2.1-5.el6 epel
zabbix22-agent.x86_64 2.2.1-5.el6 epel
zabbix22-dbfiles-mysql.noarch 2.2.1-5.el6 epel
zabbix22-dbfiles-pgsql.noarch 2.2.1-5.el6 epel
zabbix22-dbfiles-sqlite3.noarch 2.2.1-5.el6 epel
zabbix22-proxy.noarch 2.2.1-5.el6 epel
zabbix22-proxy-mysql.x86_64 2.2.1-5.el6 epel
zabbix22-proxy-pgsql.x86_64 2.2.1-5.el6 epel
zabbix22-proxy-sqlite3.x86_64 2.2.1-5.el6 epel
zabbix22-server.noarch 2.2.1-5.el6 epel
zabbix22-server-mysql.x86_64 2.2.1-5.el6 epel
zabbix22-server-pgsql.x86_64 2.2.1-5.el6 epel
zabbix22-web.noarch 2.2.1-5.el6 epel
zabbix22-web-mysql.noarch 2.2.1-5.el6 epel
zabbix22-web-pgsql.noarch 2.2.1-5.el6 epel
|
2、安装 zabbix server 2.2.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[root@zabbix-master-rj
/root
]
# yum install zabbix22.x86_64 zabbix22-agent.x86_64 zabbix22-dbfiles-mysql.noarch zabbix22-server.noarch zabbix22-server-mysql.x86_64 zabbix22-web.noarch zabbix22-web-mysql.noarch -y=======================================================================================================================================Package Arch Version Repository Size=======================================================================================================================================Installing:
zabbix22 x86_64 2.2.1-5.el6 epel 197 k
zabbix22-agent x86_64 2.2.1-5.el6 epel 149 k
zabbix22-dbfiles-mysql noarch 2.2.1-5.el6 epel 1.1 M
zabbix22-server noarch 2.2.1-5.el6 epel 20 k
zabbix22-server-mysql x86_64 2.2.1-5.el6 epel 405 k
zabbix22-web noarch 2.2.1-5.el6 epel 4.2 M
zabbix22-web-mysql noarch 2.2.1-5.el6 epel 9.6 k
Installing
for
dependencies:
OpenIPMI-libs x86_64 2.0.16-14.el6 base 473 k
apr x86_64 1.3.9-5.el6_2 base 123 k
apr-util x86_64 1.3.9-3.el6_0.1 base 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k
fping x86_64 2.4b2-10.el6 epel 31 k
httpd x86_64 2.2.15-31.el6.centos updates2 824 k
httpd-tools x86_64 2.2.15-31.el6.centos updates2 73 k
iksemel x86_64 1.4-2.el6 epel 48 k
libXpm x86_64 3.5.10-2.el6 base 51 k
lm_sensors-libs x86_64 3.1.1-17.el6 base 38 k
net-snmp-libs x86_64 1:5.5-49.el6_5.4 updates2 1.5 M
php x86_64 5.3.3-27.el6_5.2 updates2 1.1 M
php-bcmath x86_64 5.3.3-27.el6_5.2 updates2 36 k
php-cli x86_64 5.3.3-27.el6_5.2 updates2 2.2 M
php-common x86_64 5.3.3-27.el6_5.2 updates2 526 k
php-gd x86_64 5.3.3-27.el6_5.2 updates2 108 k
php-ldap x86_64 5.3.3-27.el6_5.2 updates2 40 k
php-mbstring x86_64 5.3.3-27.el6_5.2 updates2 457 k
php-mysql x86_64 5.3.3-27.el6_5.2 updates2 83 k
php-pdo x86_64 5.3.3-27.el6_5.2 updates2 77 k
php-xml x86_64 5.3.3-27.el6_5.2 updates2 105 k
unixODBC x86_64 2.2.14-12.el6_3 base 378 k
Transaction Summary=======================================================================================================================================Install 29 Package(s)
|
3、配置数据库(zabbix支持MySQL/PostgreSQL/Oracle,这里以MySQL数据库为例)
1
2
3
4
5
6
7
8
|
[root@zabbix-master-rj
/root
]
# /etc/init.d/mysqld start
[root@zabbix-master-rj
/root
]
# mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL ON zabbix.* TO opszabbix@
'10.1.1.%'
IDENTIFIED BY
'opszabbix'
;
[root@zabbix-master-rj
/root
]
# ls /usr/share/zabbix-mysql/*sql
-rw-r--r--. 1 root root 970301 Jan 29 2014
/usr/share/zabbix-mysql/data
.sql
-rw-r--r--. 1 root root 1978341 Dec 9 2013
/usr/share/zabbix-mysql/images
.sql
-rw-r--r--. 1 root root 106560 Dec 9 2013
/usr/share/zabbix-mysql/schema
.sql
|
依次倒入这三个 SQL 文件
1
2
3
|
[root@zabbix-master-rj
/root
]
# mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/schema.sql
[root@zabbix-master-rj
/root
]
# mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/images.sql
[root@zabbix-master-rj
/root
]
# mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/data.sql
|
4、安装 Zabbix Web GUI
1
2
|
[root@zabbix-master-rj
/root
]
# /etc/init.d/httpd start
[root@zabbix-master-rj
/root
]
# /etc/init.d/zabbix-server start
|
在游览器输入你zabbix22-web.noarch安装的服务器IP,比如http://172.16.100.2/zabbix。打开之后,按下图操作即可!
遇到该提示,说明php的配置没满足zabbix安装需求,此时你就需要修改php的相关配置项。
此处为修改之后的php相关配置项!
1
2
|
[root@zabbix-master-rj
/root
]
# grep '^post_max_size|^max_execution_time|^max_input_time|^date.timezone' /etc/php.ini
max_execution_time = 300max_input_time = 300post_max_size = 16Mdate.timezone = Asia
/Shanghai
|
如果出现上图不能连接MySQL数据库的情况,请按如下思路排查问题:
1、首先查看本机的iptables是否限制3306端口
2、其次查看本机的selinux是否关闭
3、最后查看MySQL数据库的授权是否正常
OK,到这一步,Zabbix Server 端安装就结束了。在安装过程中,我们输入的各个配置项在/etc/zabbix/web/zabbix.conf.php文件中都能看到!
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@zabbix-master-rj
/root
]
# cat /etc/zabbix/web/zabbix.conf.php
<?php
//
Zabbix GUI configuration fileglobal $DB;
$DB[
'TYPE'
] =
'MYSQL'
;
# zabbix server使用的数据库类型
$DB[
'SERVER'
] =
'10.1.1.1'
;
# zabbix server使用的数据库IP地址
$DB[
'PORT'
] =
'3306'
;
# zabbix server使用的数据库的端口
$DB[
'DATABASE'
] =
'zabbix'
;
# zabbix server使用的数据库的库名
$DB[
'USER'
] =
'opszabbix'
;
# zabbix server所使用的数据库用户
$DB[
'PASSWORD'
] =
'6a7b3efb855df9c'
;
# 经过加密的数据库用户密码// SCHEMA is relevant only for IBM_DB2 database$DB['SCHEMA'] = ''; # 如果你使用DB2的数据库时,这一项配置才有用
$ZBX_SERVER =
'localhost'
;
# zabbix server所在的IP地址
$ZBX_SERVER_PORT =
'10051'
;
# zabbix server 的 端口号
$ZBX_SERVER_NAME =
'zabbix-master-rj'
;
# zabbix server 的主机名
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;?>
|
5、初次登陆
依然是在 http://172.16.100.2/zabbix 这个地址进行登陆。Zabbix Server 安装完毕之后的默认管理员为Admin,密码为zabbix。
登陆之后的界面如下:
6、配置开机自启
1
|
[root@agent
/root
]
# chkconfig zabbix-server on
|
二、Zabbix Agent部署
1、准备 epel yum 源
1
|
[root@agent-node-rj
/root
]
# rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm[root@agent-node-rj /root]# yum clean all
|
2、安装 Zabbix Agent
1
|
[root@agent-node-rj
/root
]
# yum install zabbix22.x86_64 zabbix22-agent.x86_64
|
3、配置 Zabbix Agent
1
2
3
4
|
[root@agent-node-rj
/root
]
# # grep '^Server|^ServerActive|^Hostname' /etc/zabbix_agentd.conf
Server=10.1.1.120
# 被动模式,允许哪台服务器连接Agent
ServerActive=10.1.1.120
# 主动模式,向哪台服务器传送数据
Hostname=agent-node-rj
# agent端的主机名
|
4、启动服务以及配置开机自启
1
2
|
[root@agent-node-rj
/root
]
# chkconfig zabbix-agentd on
[root@agent-node-rj
/root
]
# /etc/init.d/zabbix-agentd start
|
OK!
以上就是Zabbix Server 和 Zabbix Agent端的部署了!