1. 程式人生 > >Zabbix監控平臺搭建部署與概述

Zabbix監控平臺搭建部署與概述

zabbix 是一個基於 WEB 介面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。zabbix 能監視各種網路引數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

(一)zabbix 由以下幾個元件部分構成:

1) Zabbix Server

負責接收 agent 傳送的報告資訊的核心元件,所有配置,統計資料及操作資料均由其組織進行;

2) Database Storage

專用於儲存所有配置資訊,以及由 zabbix 收集的資料;

3) Web interface

zabbix 的 GUI 介面,通常與 Server 執行在同一臺主機上;

4) Proxy

可選元件,常用於分佈監控環境中,代理 Server 收集部分被監控端的監控資料
並統一發往 Server 端;

5) Agent

部署在被監控主機上,負責收集本地資料併發往 Server 端或 Proxy 端

注:zabbix node 也是 zabbix server 的一種 。

二,ZabbixServer的安裝

1 搭建自定義yum倉庫並安裝支援包

 

 

如果下一步出現問題,請註釋掉yum配置檔案裡的本地光碟源

2 編譯安裝LNMP環境

安裝nginx    建立nginx配置檔案模版

Agent端安裝Nginx,可將客戶端的nginx的配置檔案傳送一份到Agent端

安裝mysql

安裝libmcrypt

安裝GD

安裝PHP

建立php配置檔案

修改php配置檔案php.ini

 

 建立php-fpm配置檔案

修改php-fpm.conf配置檔案

3 安裝zabbix server端

編譯安裝zabbix server

由於zabbix啟動指令碼路徑預設指向的是/usr/local/sbin路徑,因此,需要提前建立軟連線

配置zabbix的mysql環境

Zabbix server 和mysql安裝到一臺伺服器上,首先需要手動建立zabbix資料庫

如下資料的匯入順序不可以錯

4 安裝Zabbix web GUI

  • Zabbix web是php程式碼編寫的,因此需要有php環境,前面已經安裝好了lnmp,因此可以直接使用。
  • 預設的nginx安裝的根目錄為/usr/local/nginx/html,因此,只需要Zabbix web的程式碼放到此目錄即可。
  • Zabbix web的程式碼在Zabbix原始碼包中的frontends/php目錄下,將這個php目錄拷貝到/usr/local/nginx/html/目錄下並改名zabbix即可完成Zabbix web端的安裝。
  • 在瀏覽器輸入http://IP/zabbix,然後會檢查zabbix web執行環境是否滿足,並提供連線資料庫的相關資訊即可,最後將連線資料庫相關資訊都存入檔案zabbix/conf/zabbix.conf.php中,這樣就可以登入zabbix的web平臺了。
  • 預設的zabbix平臺登入使用者名稱為Admin,密碼為zabbix。

複製zabbix web目錄到nginx web根目錄下

 

啟動nginx服務及php-fpm

登入web根據提示生成zabbix.conf.php配置檔案

起初並沒有zabbix.conf.php配置檔案,我們可以選擇自動生成配置檔案

在瀏覽器裡輸入http://IP/zabbix,配置zabbix資料庫環境,如下圖所示:

 

 

 

 

執行如上圖所示的步驟生成zabbix.conf.php配置檔案

裡面記錄的資訊就是我們剛剛的操作

提示:
除了通過web介面的方式生成zabbix.conf.php檔案外,我們也可以利用zabbix.conf.php.example的模版檔案直接修改成我們需要的配置檔案。

登入zabbix web

 

 

設定zabbix中文模式

 

 

 

 修改密碼

 

 三,zabbix server的配置

zabbix_server.conf配置

通過原始碼安裝方式將zabbix安裝到/usr/local/zabbix下面,zabbix server的配置檔案為/usr/local/zabbix/etc/zabbix_server.conf,需要修改的內容為如下:

12 ListenPort=10051 #zabbix server監聽埠

38 LogFile=/tmp/zabbix_server.log #zabbix server日誌路徑

87 DBName=zabbix #zabbix server連線MySQL資料庫的資料庫名

103 DBUser=zabbix #zabbix server連線MySQL資料庫的使用者名稱

111 DBPassword=123123 #zabbix server連線MySQL資料庫的密碼

118 DBSocket=/tmp/mysql.sock #MySQL的例項檔案位置

136 StartPollers=5 #用於設定zabbix server服務啟動時啟動Pollers(主動收集資料程序)的數量,數量越多,則服務端吞吐能力越強,同時對系統資源消耗越大

165 StartTrappers=10 #用於設定zabbix server服務啟動時啟動Trappers(負責處理Agentd推送過來的資料的程序)的數量。Agentd為主動模式時,zabbix server需要設定這個值大一些。

181 StartDiscoverers=10 #用於設定zabbix server服務啟動時啟動Discoverers程序的數量,如果zabbix監控報Discoverers程序忙時,需要提高該值。

297 ListenIP=0.0.0.0 #zabbix server啟動的監聽埠對哪些ip開放,Agentd為主動模式時,這個值建議設定為0.0.0.0

447 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix server執行指令碼存放目錄,一些供zabbix server使用的指令碼,都可以放在這裡。

將zabbix_server.conf檔案內容修改成如下所示

新增相關服務和埠到系統配置檔案

編輯/etc/services檔案,在最後新增以下程式碼:

其中,10051是zabbix server的監聽埠,10050是zabbix agent的監聽埠。

新增管理維護指令碼

啟動zabbix_server端程序

四,zabbix_agent的安裝與配置

zabbix agent端的安裝建議採用rpm包方式安裝,可從http://repo.zabbix.com/zabbix/3.2/下載zabbix的agent端rpm包,版本與zabbix server端保持一致,安裝如下:

 

安裝完成後,zabbix agent端已經安裝完成了,zabbix agent端的配置目錄位於/etc/zabbix下,可在此目錄進行配置檔案的修改。

特別提示:

  • zabbix server的原始碼包本身就包含了zabbix server端和zabbix agent端,因此,zabbix伺服器端無需再安裝zabbix agent的rpm包。
  • 然而zabbix agent的rpm包是為了方便在伺服器上進行快速安裝而設計的快捷安裝包。
  • 因此為了統一,監控端和被監控端的zabbix agent我們都用rpm的安裝方式

 修改zabbix agent端的配置檔案

 需要修改的內容如下所示

將內容修改為如下所示:

啟動zabbix_agent端程序

在監控端和被監控端都進行如上所述的zabbix agent端的安裝。

五,測試zabbix server監控

  1. -s 是指定zabbix agent端的IP地址
  2. -p 是指定zabbix agent端的監聽埠
  3. -k 是監控項,即item
  4. 如果有輸出結果,表面zabbix server可以從zabbix agent獲取資料,配置成功。