詳解zabbix安裝部署

樑東昇發表於2016-11-10

分類: 網路與安全

    Linux下常用的系統監控軟體有NagiosCactiZabbixMonit等,這些開源的軟體,可以幫助我們更好的管理機器,在第一時間內發現,並警告系統維護人員。


    今天開始研究下Zabbix,使用Zabbix的目的,是為了能夠更好的監控mysql資料庫伺服器,並且能夠生成圖形報表,雖然Nagios也能夠生成圖形報表,但沒有Zabbix這麼強大。

    首先,我們先來介紹下Zabblx


.Zabbix簡介   


       zabbix是一個基於WEB介面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。
       zabbixzabbix server與可選元件zabbix agent兩部門組成。
       zabbix server可以通過SNMPzabbix agentping,埠監視等方法提供對遠端伺服器/網路狀態的監視。
       zabbix agent需要安裝在被監視的目標伺服器上,它主要完成對硬體資訊或與作業系統有關的記憶體,CPU等資訊的收集。


zabbix的主要特點:
          – 安裝與配置簡單,學習成本低 
          – 支援多語言(包括中文)
          – 免費開源
          – 自動發現伺服器與網路裝置
          – 分散式監視以及WEB集中管理功能
          – 可以無agent監視
          – 使用者安全認證和柔軟的授權方式
          – 通過WEB介面設定或檢視監視結果
          – email等通知功能
         等等


Zabbix主要功能:
         – CPU負荷
         – 記憶體使用
         – 磁碟使用
         – 網路狀況
         – 埠監視
         – 日誌監視 

官方也提供了安裝資料:http://www.zabbix.com/wiki/howto/monitor


.Zabbix安裝


2.1 zabbix WEB環境搭建

       zabbix的安裝需要LAMP或者LNMP環境
      需要其它的軟體包


  1. yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm


2.2 zabbix 資料庫設定


     zabbix資料庫可以和zabbix伺服器分離,採用用專門的mysql伺服器儲存資料,此時要給zabbix資料庫受相應的許可權。


  1. grant all privileges on zabbix.* to zabbix_user@`ip` identified by `123456`;


注:ipzabbix伺服器的IP地址。

登入資料庫,建立帳號和設定許可權:


  1. mysql> use mysql;
  2. mysql>create database zabbix character set utf8;
  3. mysql>grant all privileges on zabbix.* to zabbix_user@`192.168.10.197` identified by `123456`;


2.3安裝zabbix服務


增加zabbix使用者和組


#groupadd zabbix
#useradd -g zabbix -m


官網下載解壓軟體包。

下載地址:

http://www.zabbix.com/download.php

#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz
# tar -zxvf  zabbix-2.0.3.tar.gz
#cd zabbix-2.203
匯入資料庫表

#cd  zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < schema.sql

#mysql -uroot -pmysql zabbix < images.sql

#mysql -uroot -pmysql zabbix < data.sql
 


編譯安裝zabbix

  1. ./configure –prefix=/usr/local/zabbix –with-mysql –with-net-snmp –with-libcurl –enable-server –enable-agent –enable-proxy

新增服務埠

  1. vim /etc/services
  2. zabbix-agent 10050/tcp # Zabbix Agent
  3. zabbix-agent 10050/udp # Zabbix Agent
  4. zabbix-trapper 10051/tcp # Zabbix Trapper
  5. zabbix-trapper 10051/udp # Zabbix Trapper

新增配置檔案

 ln -s /usr/local/zabbix/etc/ /etc/zabbix
 ln -s /usr/local/zabbix/bin/* /usr/bin/
 ln -s /usr/local/zabbix/sbin/* /usr/sbin/ 
 cp /root/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_* /etc/init.d
 chmod 755 /etc/init.d/zabbix_*
#修改/etc/init.d目錄下的zabbix_server和zabbix_agentd啟動檔案
sed -i “s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g” /etc/init.d/zabbix_server
sed -i “s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g” /etc/init.d/zabbix_agentd
修改server配置檔案,新增zabbix資料庫密碼
vim /etc/zabbix/zabbix_server.conf


  1. LogFile=/tmp/zabbix_server.log

  2. PidFile=/tmp/zabbix_server.pid

  3. DBName=zabbix

  4. DBUser=zabbix_user

  5. DBPassword=123456     #指定zabbix資料庫密碼
 DBSocket=/tmp/mysql.sock   #********重要********
  1. ListenIP=192.168.10.197    #伺服器IP地址



修改Agentd配置檔案,更改HOSTNAME為本機的hostname
vim /etc/zabbix/zabbix_agentd.conf

  

  1. PidFile=/tmp/zabbix_agentd.pid #程式PID

  2. LogFile=/tmp/zabbix_agentd.log #日誌儲存位置

  3. EnableRemoteCommands=1 #允許執行遠端命令

  4. Server=192.168.10.197 #agent端的ip

  5. Hostname=client1 #必須與zabbix建立的host name相同

 chkconfig zabbix_server
on

 chkconfig zabbix_agentd on
ervice zabbix_server start
Starting zabbix_server:                                    [  OK  ]
 service zabbix_agentd start
Starting zabbix_agentd:                                    [  OK  ]

netstat -anp | grep
zabbix         #檢查服務有沒有監聽埠

**********************************************************************************************************************************

/tmp/log/zabbix_server.log
 /tmp/log/zabbix_agentd.log

日誌檔案非常重要,出現問題查日誌找原因

**********************************************************************************************************************************

如圖設定hostname


新增web前段php檔案
# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix   #虛擬主機目錄
# chown -R zabbix:zabbix zabbix

web前端安裝配置
修改PHP相關引數
vim php.ini

  1. max_execution_time = 300
  2. max_input_time = 300
  3. memory_limit = 128M
  4. post_max_size = 32M
  5. date.timezone = Asia/Shanghai
  6. mbstring.func_overload=2


PHP還必須支援一下模組,在php原始碼包直接編譯安裝。詳細模組需要在安裝是會提示。

bcmath.sogettext.so


    在客戶端瀏覽器上面訪問zabbix,開始WEB的前端配置,http://ZabbixIP/zabbix,按提示點選下一步

  Step1:下一步。

    Step2:如果全部OK的話才能進行下一步的安裝,如果有錯誤請返回到server端檢查相關的軟體包是否安裝。


    Step3需要輸入mysql資料庫帳號密碼,如果資料庫不在zabbix伺服器上面,在Host裡面新增資料庫伺服器的地址,並且要用grant命令給資料庫授權



    Step4輸入伺服器端 host name or host IP addres


最後會自動寫入配置檔案:zabbix.conf.php配置完成後出現登陸介面,預設的使用者名稱為:admin,密碼為:zabbix


至此,zabbix server端的安裝完畢,我們可以通過瀏覽器來訪問如圖:


接下來會介紹關於客戶端監控的使用,以及監控模版的新建,自定義監控服務等。


相關文章