1. 程式人生 > >Zabbix監控環境搭建

Zabbix監控環境搭建

監控 zabbix

Zabbix簡介:

zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。

zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

zabbix由2部分構成,zabbix server與可選組件zabbix agent。

zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能

工作原理:

技術分享

zabbix由幾個主要的軟件組件構成:

server: zabbix server是一個核心組件,agent可以向它報告可用性和完整性信息和統計數據。該server所有的配置,數據和業務數據都存在數據庫中。

數據庫存儲:所有的配置信息包括采集的數據都被zabbix存儲在數據庫中。

Web界面: 通過一個基於web的平臺,我們可以從任何一個地方訪問zabbix。這個web是zabbix server的一部分,通常跟server運行在同一臺物理機上。(SQLite必須得配置在同一臺物理機上)

Proxy: proxy可以代替server收集性能和可用性的數據。proxy是一個可選的部分,但它對於減弱zabbix server的負載非常有用。

agent: zabbix agent被部署在監控的目標上,主機監控本地的資源和應用並匯報數據給zabbix server。

Zabbix的幾個定義組件:

host: 你要監控的網絡設備,使用ip/域名.

host group: 主機的邏輯分組,可能包含主機和模板。主機組內的主機和模板是不以任何方式彼此連接。為不同的用戶分配權限時,使用主機組。

item: 你想從監控主機獲取到的某些數據

trigger: 定義一個閥值來看看從item中接收的數據是否有問題,使用邏輯表達式。當接收一個超過比閥值的,trigger從ok變成problem。當接收的數據低於閥值,trigger變成ok狀態。

event:一些值得關註的例如trigger狀態變化或者發現機制,agent自動註冊發生了。

action: 基於事件一個預定義的裝置.一個action包含條件和操作(發送一個郵件)。

escalation: 在action的操作中自定義,發送通知/遠程執行命令

media: 發送通知的一種手段。

notification: 一個事件經由選擇的媒體發送給用戶.

remote command: 當一些條件觸發時,預定義的遠程命令執行.

template: 準備被應用到一臺或多臺主機的實體(items, triggers, graphs, screens,applications, low-level discovery rules, web scenarios),模板加快了監控的部署。大規模的更改應用到監測任務。模板直接關聯到主機。

application: item的邏輯分組

web scenario: 一個或多個HTTP請求來檢查網站的可用性

frontend: zabbix提供的web界面 

zabbix api: Zabbix API允許你使用json rpc協議來創建,更新和獲取zabbix對象(likehosts, items, graphs and others) 或執行其它自定義任務.

zabbix server: zabbix軟件的中心,用來執行監控,跟proxy和agent交互,計算trigger,發送通知,中央數據存儲。

zabbix agent:一個進程部署在監控主機上,主動監控本地資源和應用。

zabbix proxy:代替zabbix server采集數據,代替server承受些壓力。

Zabbix安裝:


服務器上面:

yum install -y gcc*

yum -y install httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath

同步服務器時間:


服務器端:

yum install -y ntp*

技術分享

service ntpd start

chkconfig ntpd on


客戶端同步時間:

yum install -y ntp*

技術分享

service ntpd start

chkconfig ntpd on

chkconfig ntpdate on


服務器上:

添加Zabbix運行所需要的用戶和組

useradd zabbix

啟動mysql並進行密碼設置及用戶授權

#service mysqld start

#mysqladmin –uroot password ‘123456’

#mysql –uroot –p

#create database zabbix;

#grant all on zabbix.* to [email protected]%‘ identified by ‘123456‘;

技術分享

技術分享


編譯安裝Zabbix:

此次使用的軟件包是Zabbix.iso

技術分享

技術分享


編譯安裝Zabbix:

./configure --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql

若報錯:Not found mysqlclient library

則:cd /usr/lib64/mysql

ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so

ln -s libmysqlclient.so.16.0.0 libmysqlclient.so

make && make install

#此處指定sysconfdir配置文件的路徑就在/etc/zabbix/目錄下了,如果不指定默認在/usr/local/etc下

復制 zabbixserver端跟agent端的啟動腳本,並設置執行權限:

技術分享


將zabbix的頁面文件copy到指定目錄(跟apache配置的相同即可):

技術分享


配置php配置文件:(/etc/php.ini)

技術分享


date.timezone = Asia/Shanghai

max_execution_time = 300

max_input_time = 300

post_max_size = 32M

memory_limit = 128M

mbstring.func_overload = 2

配置zabbix-server端配置文件(定義數據庫的IP、用戶名、密碼):

技術分享


選項較多,根據需要進行開啟,主要針對zabbix任務處理優化

啟動zabbix和apache

service zabbix_server start

service httpd start

技術分享


瀏覽器訪問Zabbix:

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享


檢查web程序的config文件,如果沒問題會顯示OK,直接點擊finish即可完成安裝(如果此處有問題一般是zabbix虛擬主機目錄文件的權限問題,上面已經有設置的過程一般不會出現問題)

技術分享

技術分享


客戶端:

安裝gcc環境

yum –y install gcc*

同步時間

ntpdate –u 192.168.88.10

創建運行用戶

useradd zabbix

解壓安裝zabbix-agent

#tar xf zabbix-2.2.2.tar.gz

#cd zabbix-2.2.2

#./configure --sysconfdir=/etc/zabbix --enable-agent

#make && make install

復制agent端運行所需要的腳本

cp misc/init.d/tru64/zabbix_agentd /etc/init.d/

chmod +x /etc/init.d/zabbix_agentd

配置agent端配置文件

vim /etc/zabbix/zabbix_agentd.conf

#此處千萬別寫成zabbix_agent.conf,否則配置了不生效

Server=192.168.88.10 #填寫Server的IP地址

ServerActive=192.168.88.10 #修改為Server的IP地址

Hostname=Centos-2

#填寫本機的HostName,註意Server端要能解

UnsafeUserParameters=1

#是否允許自定義的key,1為允許,0為不允許

Include= etc/zabbix/zabbix_agentd.conf.d/

#自定義的agentd配置文件(key)可以在這裏面寫;

不自定義可以不開啟這兩個選項!否則會有報錯!

技術分享

技術分享


啟動zabbix agent端

service zabbix_agentd start

web端添加新的主機:

技術分享

技術分享

本文出自 “Change life Start fresh.” 博客,請務必保留此出處http://ahcwy.blog.51cto.com/9853317/1940305

Zabbix監控環境搭建