以前公司給新人搞技術分享,我就準備了一個zabbix的部署分享給他們。php
因爲公司在前一段準備更新下監控系統,以前的監控系統是用 Nagios 作的。但是,我以前也沒接觸過 Nagios,後來就調研了一番。對比了市面上比較火的幾款監控系統,最後仍是感受 Zabbix 更出色一點。
node
下面是 Zabbix Server 和 Zabbix Agent 的部署流程。mysql
環境: OS Version:CentOS 6.5 x86_64位 採用最小化安裝,系統通過了基本優化 selinux 爲關閉狀態,iptables 爲無限制模式 主機名:zabbix-master-rj I P :10.1.1.1
這裏須要注意:linux
若是 iptables 不能關閉的話,能夠按以下配置:ios
[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 不能關閉的話,也能夠按以下配置:web
[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
1、Zabbix Server部署
1、準備 epel yum 源sql
[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數據庫
[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數據庫爲例)centos
[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/p_w_picpaths.sql -rw-r--r--. 1 root root 106560 Dec 9 2013 /usr/share/zabbix-mysql/schema.sql
依次倒入這三個 SQL 文件bash
[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/p_w_picpaths.sql [root@zabbix-master-rj /root]# mysql -uopszabbix -popszabbix zabbix < /usr/share/zabbix-mysql/data.sql
4、安裝 Zabbix Web GUI
[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相關配置項!
[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數據庫的狀況,請按以下思路排查問題:
一、首先查看本機的iptables是否限制3306端口
二、其次查看本機的selinux是否關閉
三、最後查看MySQL數據庫的受權是否正常
OK,到這一步,Zabbix Server 端安裝就結束了。在安裝過程當中,咱們輸入的各個配置項在/etc/zabbix/web/zabbix.conf.php文件中都能看到!
[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、配置開機自啓
[root@agent /root]# chkconfig zabbix-server on
2、Zabbix Agent部署
1、準備 epel yum 源
[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
[root@agent-node-rj /root]# yum install zabbix22.x86_64 zabbix22-agent.x86_64
3、配置 Zabbix Agent
[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、啓動服務以及配置開機自啓
[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端的部署了!