Zabbix監控環境搭建

Zabbix簡介:php

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

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

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

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

工做原理:數據庫

wKioL1lJEULxH4LrAAGWFzATNyU842.png

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

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

數據庫存儲:全部的配置信息包括採集的數據都被zabbix存儲在數據庫中。vim

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

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*

wKiom1lJEUTBGHy7AAERcEKPeLU869.png

service ntpd start

chkconfig ntpd on


客戶端同步時間:

yum install -y ntp*

wKiom1lJEUXDiyRqAAElZA5vdjQ265.png

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 zabbix@'%' identified by '123456';

wKioL1lJEUaSZRbeAADzU8GlTng698.png

wKioL1lJEUejsscWAAE2dEsy6zw599.png


編譯安裝Zabbix:

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

wKioL1lJEUmz7KFeAADnKB3bu14056.png

wKiom1lJEUvTSIoyAAE2oGnVjds375.png


編譯安裝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端的啓動腳本,並設置執行權限:

wKioL1lJEUzTtVmnAAFfdPKfX4c711.png


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

wKiom1lJEU3DbDYEAAFWQ4-_voM712.png


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

wKiom1lJEU7Q2KidAAD68oqWRQc142.png


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、用戶名、密碼):

wKioL1lJEU-CEhkQAADsduKwoFY671.png


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

啓動zabbix和apache

service zabbix_server start

service httpd start

wKiom1lJEVCDSU3JAAE9gLHKr6Y722.png


瀏覽器訪問Zabbix:

wKioL1lJEVeAGBsLAAcjhqojL68890.png

wKiom1lJEVrBjduhAAQaUcIwBec958.png

wKioL1lJEV6SXvHJAAPcLdvJ3Z8909.png

wKioL1lJEWGRXWnQAAOR-J9f9YM286.png

wKiom1lJEWSBsecXAAOdFKHxj_c012.png

wKiom1lJEWfjUbV2AANRbfSJqTQ292.png


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

wKioL1lJEWqjMDQlAARXAUXP4a0254.png

wKiom1lJEWyjzNI1AAIREPevZ5g053.png


客戶端:

安裝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)能夠在這裏面寫;

       不自定義能夠不開啓這兩個選項!不然會有報錯!

wKioL1lJEW2z8Ts4AAD6H1kLwvY230.png

wKioL1lJEW7xqz0sAAEjkd4FP8A414.png


啓動zabbix agent端

service zabbix_agentd start

web端添加新的主機:

wKiom1lJEW-z6jBbAAGEQiemnfA946.png

wKiom1lJEXDg-k4lAAFR6m-28bM269.png

相關文章
相關標籤/搜索