zabbix基礎

下面介紹的是zabbix監控


一、監控基礎

1、監控處理過程

採樣---->存儲----->報警---->展示

(1)、採樣

  採樣的監控數據採集方法:ssh/telnet、SNMP、Protocol v3、IPMI(智能平臺管理接口)、TLS。

(2)、數據存儲

  數據類型:歷史數據(nvps)、趨勢數據。

  數據存儲系統:rrd(輪詢數據庫);

                SQL(關係型數據庫,MySQL/PostgreSQL);

                NoSQL(反關係型數據庫,Redis/MangoDB);

                時間序列存儲。

(3)、主機的四種監控接口:zbx、snmp、jmx、ipmi。

2、常用的開源監控工具

(1)、cacti:強大的【數據展示】功能。

  cacti是基於php來編寫的;

  利用SNMP協議採集樣本數據;

  利用rrdtool進行數據存儲;

  報警機制有限。

(2)、nagios:強大的【報警機制】。

  nagios不支持歷史數據和趨勢數據保存;

  數據展示功能有限。

(3)、zabbix:集cacti、nagios優點。

  強大的數據展示功能;

  強大的報警機制;

  支持歷史數據和趨勢數據的存儲;

  支持腳本實現故障的數據修復。

(4)、ganglia:用於集羣監控。

  ganglia用於集羣監控時,可以實現多臺主機的多種集合數據的集中展示。


二、zabbix -----------www.zabbix.com

1、zabbix監控特性

(1)、數據採樣:SNMP,ssh/telnet,server/agent,IPMI,jmx,自定義。

(2)、數據存儲:MySQL、PostgreSQL

(3)、報警機制:支持腳本

(4)、數據展示:實時繪圖

  graph、screen、slide show、top-map。

(5)、支持模板:快速添加知己和自動部署。

(6)、支持網絡自動發現。

(7)、支持分佈式監控(可用反代)。

(8)、豐富的API。


2、zabbix組件架構

zabbix-server:server守護進程;

zabbix-agent:agent守護進程;

zabbix-proxy:代理服務器(用於分佈式監控);

zabbix-get:運行於server端,向agent端發送數據採集請求;

zabbix-sender:運行於agent端,向server端發送數據;

zabbix-java-gateway:Java網關;

zabbix-database:關係型數據庫;

zabbix-web:zabbix的web GUI接口。


3、zabbix邏輯組件

(1)、host:監控網絡設備,IP、DNS名稱。

(2)、hostgroup:可以包含主機和模板,指派用戶權限時使用。

(3)、item:監控項,這些數據來自於監控設備,由key進行標識。key就是數據命令或腳本的名稱。

(4)、trigger:觸發器,定於閾值。觸發器狀態爲OK、Problem。

(5)、event:一個值得關注的事件。

(6)、action:據條件進行處理方法。條件、操作組成。

(7)、media:發送消息的手段或通道,如Email,Jabber,SMS等,但國內只可用Email。

(8)、notification(通知):通過媒介向用戶傳送的事件的數據信息。

(9)、remote command:預定義的命令或腳本,可在特定條件下執行。

(10)、escalation:報警升級

(11)、temple:快速定義item項

(12)、application:同一類監控項的組合

(13)、web scennaria:web場景,檢測web站點的可用性

(14)、frontend:前端,zabbix的web接口

(15)、gragh:圖形,顯示歷史數據和趨勢圖像

(16)、screen:屏幕,多個gragh組成


4、zabbix的安裝

(1)、安裝MariaDB,創建數據庫,授權用戶

# mysql

mysql> create database zabbix charset 'utf8';

mysql> grant all on zabbix.* to zbxuser@'127.0.0.1' identified by 'zbxpass';

mysql> grant all on zabbix.* to zbxuser@'localhost' identified by 'abxpass';

mysql> grant all on zabbix.* to zbxuser@'172.16.%.%' identified by 'zbxpass';

(2)、安裝zabbix【服務器】端程序

# yum -y install zabbix-server-mysql zabbix-get

(3)、安裝zabbix的web GUI

# yum -y install httpd php php-mbstring php-gd php-mysql php-bcmath php-ldap php-xml

# yum -y install zabbix-web zabbix-web-mysql

(4)、數據庫的初始化

# cp /usr/share/doc/zabbix-server-mysql /root

# gunzip create.sql.gz

# mysql -uroot -hlocalhost -p zabbix < create.sql


5、zabbix的配置文件

配置文件:/etc/zabbix/zabbix_server.conf

(1)、全局通用配置段:

ListenPort=10051

SourceIP=

LogType=file

LogFileSize=0

DebugLevel=3

PidFile=/var/run/zabbix/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zbxuser

DBPassword=zbxpass

DBSocket=/tmp/mysql.sock | /var/lib/mysql/mysql.sock

DBPort=3306

(2)、高級配置段

(3)、負載模塊段

(4)、TLS參數段


配置zabbix-web,配置php進行時區設定進行訪問:

方法一:修改/etc/php.ini

        date.timezone = Asia/Shanghai

方法二:修改/etc/httpd/conf.d/zabbix.conf

        php_value date.timezone Asia/Shanghai 

修改時區後,訪問URL(http://HOST/zabbix),用戶名和密碼爲:admin/zabbix。登錄安裝完成後會生成配置文件/etc/zabbix/web/zabbix.conf.php。


6、zabbix的客戶端安裝

# yum -y install zabbix-agent zabbix-sender


配置文件:/etc/zabbix/zabbix_agentd.conf

(1)、全局配置參數

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogType=file

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

DebugLevel=3

SourceIP=

EnableRemoteCommands=0


被動監控相關參數:

Server=127.0.0.1

ListenPort=10050

ListenIP=0.0.0.0

StartAgents=3


主動監控相關參數:

ServerActive=127.0.0.1

Hostname=Zabbix sever

HostnameItem=system.hostname

HostMetadata=

HostMetadataItem

RefreshActiveChecks=120

BufferSend=5

BufferSize=100

MaxLinesPerSecond=20

(2)、高級配置段


三、zabbix監控配置流程

1、zabbix監控配置流程

  主機組;

  主機;

  應用;

  監控項(key+parameters);

  觸發器;

  動作(觸發器觸發後的動作);

  媒介(Email)。

2、觸發器

  格式:{Server:key[parameter].function[arguments]}<操作符><constant>

  arguments:"#NUM"表次數,"NUM"表時間。last(0)表最近0秒,即最近一次。

3、action

  Source:trigger

  condition:條件,可用"與或非"

  operation: 發送的通知、遠程命令 


zabbix腳本:/usr/lib/zabbix/alertscrits/*


4、自定義參數,修改agent

  agent配置文件:/etc/zabbix/zabbix_agentd.conf

  添加修改爲:UserParameter=<key>[*],<command>

  # cd /etc/nginx/conf

  # cat userparameter_nginx.conf

  # cat userparameter_mem_mon.conf

5、宏 ---------------用於調用替換

  全局宏、模板宏、主機宏。內建宏、自定義宏。

6、網絡發現

  網絡發現的兩個階段:discovery階段、actions階段。

  網絡發現的特點:加速zabbix部署、簡化管理、可以無需手動管理。

7、web場景

  web場景,指監控web站點的資源下載和頁面響應等數據。

  web場景,包含一個或多個http請求或步驟(steps)。

8、主動、被動檢測

  被動檢測:當server向agent請求相關的items配置數據時,agent接收請求並處理,然後才發送數據給server。

  主動檢測(active):agent請求與自己相關的items配置數據,主動將自己的監控數據發給server。

9、zabbix基於SNMP的監控 ------------161/udp, 162/udp。

  配置文件:/etc/snmp/snmp.conf

  SNMP監控步驟:獲取數據(get)、設置數據(set)、主動監控(trap)。

10、zabbix的代理

  兩種代理模型:server-node-agent, server-proxy-agent。

  zabbix代理包:

    代理包:zabbix-proxy-mysql, zabbix-get

    傳回server:zabbix-sender

    監控proxy主機:zabbix-agent


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章