天天看點

Zabbix應用之Server/Agent部署

       之前公司給新人搞技術分享,我就準備了一個zabbix的部署分享給他們。

       由于公司在前一段準備更新下監控系統,之前的監控系統是用 Nagios 做的。可是,我之前也沒接觸過 Nagios,後來就調研了一番。對比了市面上比較火的幾款監控系統,最後還是感覺 Zabbix 更出色一點。

       下面是 Zabbix Server 和 Zabbix Agent 的部署流程。

1

2

3

4

5

<code>環境: </code>

<code>OS Version:CentOS 6.5 x86_64位 </code>

<code>采用最小化安裝,系統經過了基本優化 selinux 為關閉狀态,iptables 為無限制模式 </code>

<code>主機名:zabbix-master-rj</code>

<code> </code><code>I P :10.1.1.1</code>

這裡需要注意:

如果 iptables 不能關閉的話,可以按如下配置:

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT</code>

如果 selinux 不能關閉的話,也可以按如下配置:

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code>#setsebool -P httpd_can_network_connect=true[root@zabbix-master-rj /root]#semanage port -a -t http_port_t -p tcp 10051</code>

一、Zabbix Server部署

1、準備 epel yum 源

6

7

8

9

10

11

12

13

14

15

16

17

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># 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</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># yum list|grep zabbix22</code>

<code>zabbix22.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-agent.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-dbfiles-mysql.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-dbfiles-pgsql.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-dbfiles-sqlite3.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-proxy.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-proxy-mysql.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-proxy-pgsql.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-proxy-sqlite3.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-server.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-server-mysql.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-server-pgsql.x86_64 2.2.1-5.el6 epel</code>

<code>zabbix22-web.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-web-mysql.noarch 2.2.1-5.el6 epel</code>

<code>zabbix22-web-pgsql.noarch 2.2.1-5.el6 epel</code>

2、安裝 zabbix server 2.2.1

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># 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:</code>

<code>zabbix22 x86_64 2.2.1-5.el6 epel 197 k</code>

<code>zabbix22-agent x86_64 2.2.1-5.el6 epel 149 k</code>

<code>zabbix22-dbfiles-mysql noarch 2.2.1-5.el6 epel 1.1 M</code>

<code>zabbix22-server noarch 2.2.1-5.el6 epel 20 k</code>

<code>zabbix22-server-mysql x86_64 2.2.1-5.el6 epel 405 k</code>

<code>zabbix22-web noarch 2.2.1-5.el6 epel 4.2 M</code>

<code>zabbix22-web-mysql noarch 2.2.1-5.el6 epel 9.6 k</code>

<code>Installing </code><code>for</code> <code>dependencies:</code>

<code>OpenIPMI-libs x86_64 2.0.16-14.el6 base 473 k</code>

<code>apr x86_64 1.3.9-5.el6_2 base 123 k</code>

<code>apr-util x86_64 1.3.9-3.el6_0.1 base 87 k</code>

<code>apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k</code>

<code>fping x86_64 2.4b2-10.el6 epel 31 k</code>

<code>httpd x86_64 2.2.15-31.el6.centos updates2 824 k</code>

<code>httpd-tools x86_64 2.2.15-31.el6.centos updates2 73 k</code>

<code>iksemel x86_64 1.4-2.el6 epel 48 k</code>

<code>libXpm x86_64 3.5.10-2.el6 base 51 k</code>

<code>lm_sensors-libs x86_64 3.1.1-17.el6 base 38 k</code>

<code>net-snmp-libs x86_64 1:5.5-49.el6_5.4 updates2 1.5 M</code>

<code>php x86_64 5.3.3-27.el6_5.2 updates2 1.1 M</code>

<code>php-bcmath x86_64 5.3.3-27.el6_5.2 updates2 36 k</code>

<code>php-cli x86_64 5.3.3-27.el6_5.2 updates2 2.2 M</code>

<code>php-common x86_64 5.3.3-27.el6_5.2 updates2 526 k</code>

<code>php-gd x86_64 5.3.3-27.el6_5.2 updates2 108 k</code>

<code>php-ldap x86_64 5.3.3-27.el6_5.2 updates2 40 k</code>

<code>php-mbstring x86_64 5.3.3-27.el6_5.2 updates2 457 k</code>

<code>php-mysql x86_64 5.3.3-27.el6_5.2 updates2 83 k</code>

<code>php-pdo x86_64 5.3.3-27.el6_5.2 updates2 77 k</code>

<code>php-xml x86_64 5.3.3-27.el6_5.2 updates2 105 k</code>

<code>unixODBC x86_64 2.2.14-12.el6_3 base 378 k</code>

<code>Transaction Summary=======================================================================================================================================Install 29 Package(s)</code>

3、配置資料庫(zabbix支援MySQL/PostgreSQL/Oracle,這裡以MySQL資料庫為例)

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># /etc/init.d/mysqld start</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># mysql -uroot -p</code>

<code>mysql&gt; CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;</code>

<code>mysql&gt; GRANT ALL ON zabbix.* TO opszabbix@</code><code>'10.1.1.%'</code> <code>IDENTIFIED BY </code><code>'opszabbix'</code><code>;</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># ls /usr/share/zabbix-mysql/*sql</code>

<code>-rw-r--r--. 1 root root 970301 Jan 29 2014 </code><code>/usr/share/zabbix-mysql/data</code><code>.sql</code>

<code>-rw-r--r--. 1 root root 1978341 Dec 9 2013 </code><code>/usr/share/zabbix-mysql/images</code><code>.sql</code>

<code>-rw-r--r--. 1 root root 106560 Dec 9 2013 </code><code>/usr/share/zabbix-mysql/schema</code><code>.sql</code>

 依次倒入這三個 SQL 檔案

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># mysql -uopszabbix -popszabbix zabbix &lt; /usr/share/zabbix-mysql/schema.sql</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># mysql -uopszabbix -popszabbix zabbix &lt; /usr/share/zabbix-mysql/images.sql</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># mysql -uopszabbix -popszabbix zabbix &lt; /usr/share/zabbix-mysql/data.sql</code>

4、安裝 Zabbix Web GUI

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># /etc/init.d/httpd start</code>

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># /etc/init.d/zabbix-server start</code>

在遊覽器輸入你zabbix22-web.noarch安裝的伺服器IP,比如http://172.16.100.2/zabbix。打開之後,按下圖操作即可!

<a href="http://s3.51cto.com/wyfs02/M00/56/BA/wKiom1SLBwrCLCDSAALPaomKV-Q633.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/56/BA/wKiom1SLBwqBl4FSAANmGAPorA8985.jpg" target="_blank"></a>

遇到該提示,說明php的配置沒滿足zabbix安裝需求,此時你就需要修改php的相關配置項。

此處為修改之後的php相關配置項!

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># grep '^post_max_size|^max_execution_time|^max_input_time|^date.timezone' /etc/php.ini</code>

<code>max_execution_time = 300max_input_time = 300post_max_size = 16Mdate.timezone = Asia</code><code>/Shanghai</code>

<a href="http://s3.51cto.com/wyfs02/M01/56/BA/wKiom1SLBtPDhKOMAAMr81o0Aew426.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/56/B8/wKioL1SLB22xdHVlAAC1zMYStv4919.jpg" target="_blank"></a>

如果出現上圖不能連接配接MySQL資料庫的情況,請按如下思路排查問題:

1、首先檢視本機的iptables是否限制3306端口

2、其次檢視本機的selinux是否關閉

3、最後檢視MySQL資料庫的授權是否正常

<a href="http://s3.51cto.com/wyfs02/M00/56/B7/wKioL1SLBunhhh42AAJjDQLGmIY918.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/56/BA/wKiom1SLBk-xyfr2AALu_nVRb7A007.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/56/B8/wKioL1SLBuqi_pe8AAIjYaRrpvM758.jpg" target="_blank"></a>

OK,到這一步,Zabbix Server 端安裝就結束了。在安裝過程中,我們輸入的各個配置項在/etc/zabbix/web/zabbix.conf.php檔案中都能看到!

<code>[root@zabbix-master-rj </code><code>/root</code><code>]</code><code># cat /etc/zabbix/web/zabbix.conf.php    </code>

<code>&lt;?php</code><code>//</code> <code>Zabbix GUI configuration fileglobal $DB;</code>

<code>$DB[</code><code>'TYPE'</code><code>] = </code><code>'MYSQL'</code><code>;                      </code><code># zabbix server使用的資料庫類型</code>

<code>$DB[</code><code>'SERVER'</code><code>] = </code><code>'10.1.1.1'</code><code>;                 </code><code># zabbix server使用的資料庫IP位址</code>

<code>$DB[</code><code>'PORT'</code><code>] = </code><code>'3306'</code><code>;                       </code><code># zabbix server使用的資料庫的端口</code>

<code>$DB[</code><code>'DATABASE'</code><code>] = </code><code>'zabbix'</code><code>;                 </code><code># zabbix server使用的資料庫的庫名</code>

<code>$DB[</code><code>'USER'</code><code>] = </code><code>'opszabbix'</code><code>;                  </code><code># zabbix server所使用的資料庫使用者</code>

<code>$DB[</code><code>'PASSWORD'</code><code>] = </code><code>'6a7b3efb855df9c'</code><code>;        </code><code># 經過加密的資料庫使用者密碼// SCHEMA is relevant only for IBM_DB2 database$DB['SCHEMA'] = '';                         # 如果你使用DB2的資料庫時,這一項配置才有用</code>

<code>$ZBX_SERVER = </code><code>'localhost'</code><code>;                  </code><code># zabbix server所在的IP位址</code>

<code>$ZBX_SERVER_PORT = </code><code>'10051'</code><code>;                 </code><code># zabbix server 的 端口号</code>

<code>$ZBX_SERVER_NAME = </code><code>'zabbix-master-rj'</code><code>;      </code><code># zabbix server 的主機名</code>

<code>$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;?&gt;</code>

5、初次登陸

<a href="http://s3.51cto.com/wyfs02/M01/56/B7/wKioL1SLBoXQvhfgAAFxho5RR_8619.jpg" target="_blank"></a>

登陸之後的界面如下:

6、配置開機自啟

<code>[root@agent </code><code>/root</code><code>]</code><code># chkconfig zabbix-server on</code>

二、Zabbix Agent部署

1、準備 epel yum 源

<code>[root@agent-node-rj </code><code>/root</code><code>]</code><code># 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</code>

2、安裝 Zabbix Agent

<code>[root@agent-node-rj </code><code>/root</code><code>]</code><code># yum install zabbix22.x86_64 zabbix22-agent.x86_64</code>

3、配置 Zabbix Agent

<code>[root@agent-node-rj </code><code>/root</code><code>]</code><code># # grep '^Server|^ServerActive|^Hostname' /etc/zabbix_agentd.conf</code>

<code>Server=10.1.1.120                 </code><code># 被動模式,允許哪台伺服器連接配接Agent</code>

<code>ServerActive=10.1.1.120           </code><code># 主動模式,向哪台伺服器傳送資料</code>

<code>Hostname=agent-node-rj            </code><code># agent端的主機名</code>

4、啟動服務以及配置開機自啟

<code>[root@agent-node-rj </code><code>/root</code><code>]</code><code># chkconfig zabbix-agentd on</code>

<code>[root@agent-node-rj </code><code>/root</code><code>]</code><code># /etc/init.d/zabbix-agentd start</code>

OK!

以上就是Zabbix Server 和 Zabbix Agent端的部署了!

本文轉自 aaao 51CTO部落格,原文連結:http://blog.51cto.com/nolinux/1589489,如需轉載請自行聯系原作者