Zabbix

TOP

本節內容

1.Zabbix部署
1.環境準備
2.架構圖
3.配置server端
4.配置agent端
2.Zabbix監控配置
1.修改語言及用戶密碼
2.建立主機、主機組
3.建立監控項(items)
4.觸發器(trigger)
5.動做(action)
6.zabbix可視化
7.模板
8.宏(macro)

1、Zabbix部署

zabbix(音同 zæbix)是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案 <  Zabbix Documentation > 。
zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server能夠經過SNMP、zabbix agent、ping、端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平臺上。

###Zabbix經常使用術語###
#主機 (host)
- 一臺你想監控的網絡設備,用IP或域名錶示
#主機組 (host group)
- 主機的邏輯組;它包含主機和模板。一個主機組裏的主機和模板之間並無任何直接的關聯。一般在給不一樣用戶組的主機分配權限時候使用主機組。
#監控項 (item)
- 你想要接收的主機的特定數據,一個度量數據。
#觸發器 (trigger)
- 一個被用於定義問題閾值和「評估」監控項接收到的數據的邏輯表達式
  當接收到的數據高於閾值時,觸發器從「OK」變成「Problem」狀態。當接收到的數據低於閾值時,觸發器保留/返回一個「OK」的狀態。
#事件 (event)
- 單次發生的須要注意的事情,例如觸發器狀態改變或發現有監控代理自動註冊
#異常 (problem)
- 一個處在「異常」狀態的觸發器
#動做 (action)
- 一個對事件作出反應的預約義的操做。
  一個動做由操做(例如發出通知)和條件(當時操做正在發生)組成
#升級 (escalation)
- 一個在動做內執行操做的自定義場景; 發送通知/執行遠程命令的序列
#媒介 (media)
- 發送告警通知的手段;告警通知的途徑
#通知 (notification)
- 利用已選擇的媒體途徑把跟事件相關的信息發送給用戶
#遠程命令 (remote command)
- 一個預約義好的,知足一些條件的狀況下,能夠在被監控主機上自動執行的命令
#模版 (template)
- 一組能夠被應用到一個或多個主機上的實體(監控項,觸發器,圖形,聚合圖形,應用,LLD,Web場景)的集合
  模版的任務就是加快對主機監控任務的實施;也可使監控任務的批量修改更簡單。模版是直接關聯到每臺單獨的主機上。
#應用 (application)
- 一組監控項組成的邏輯分組
#web 場景 (web scenario)
- 利用一個或多個HTTP請求來檢查網站的可用性
#前端 (frontend)
- Zabbix提供的web界面
#Zabbix API
- Zabbix API容許你使用JSON RPC協議來建立、更新和獲取Zabbix對象(如主機、監控項、圖形和其餘)信息或者執行任何其餘的自定義的任務
#Zabbix server
- Zabbix軟件實現監控的核心程序,主要功能是與Zabbix proxies和Agents進行交互、觸發器計算、發送告警通知;並將數據集中保存等
#Zabbix agent
- 一個部署在監控對象上的,可以主動監控本地資源和應用的程序
#Zabbix proxy
- 一個幫助Zabbix Server收集數據,分擔Zabbix Server的負載的程序

一、環境準備

主機:CentOS7虛擬機3臺,一臺做爲監控服務器,兩臺做爲被監控節點。php

系統環境配置:配置Zabbix的yum源、關閉防火牆和selinux、配置各主機時鐘同步服務。Zabbix安裝須要LNMP或LAMP環境,我事先安裝了MySQL5.6,使用yum安裝Zabbix Server端時會自動安裝PHP和Apach(httpd)。html

Zabbix環境下php須要修改的參數:前端

[root@s35 ~]# vim /etc/php.ini
max_execution_time = 300 
memory_limit = 128M 
post_max_size = 16M 
upload_max_filesize = 2M 
max_input_time = 300 
date.timezone = Asia/Shanghai

Zabbix環境下其餘參數:mysql

[root@s35 ~]# systemctl status ntpd.service
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-04-22 22:01:32 CST; 1 day 10h ago
 Main PID: 695 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─695 /usr/sbin/ntpd -u ntp:ntp -g

Apr 24 07:34:19 s35 ntpd[695]: 0.0.0.0 c614 04 freq_mode
Apr 24 07:34:20 s35 ntpd[695]: 0.0.0.0 c618 08 no_sys_peer
Apr 24 07:49:45 s35 ntpd[695]: 0.0.0.0 c612 02 freq_set kernel 2647.642 PPM
Apr 24 07:49:45 s35 ntpd[695]: 0.0.0.0 c61c 0c clock_step +1.988717 s
Apr 24 07:49:47 s35 ntpd[695]: 0.0.0.0 c615 05 clock_sync
Apr 24 07:49:48 s35 ntpd[695]: 0.0.0.0 c618 08 no_sys_peer
Apr 24 07:52:05 s35 ntpd[695]: 0.0.0.0 c613 03 spike_detect +0.419188 s
Apr 24 08:05:22 s35 ntpd[695]: 0.0.0.0 c61c 0c clock_step +2.078632 s
Apr 24 08:05:24 s35 ntpd[695]: 0.0.0.0 c614 04 freq_mode
Apr 24 08:05:25 s35 ntpd[695]: 0.0.0.0 c618 08 no_sys_peer
[root@s35 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+119.79-161-57.c 129.242.4.241    2 u   18   64    7  352.899  925.845 599.836
+ntp6.flashdance 194.58.202.148   2 u   87   64    2  317.194  785.023 495.317
*120.25.115.19   10.137.53.7      2 u   22   64    3   45.897  922.872 537.979
+ns.buptnet.edu. 10.3.8.150       5 u   16   64    7   32.650  925.762 600.497
[root@s35 ~]# getenforce 
Disabled
[root@s35 ~]# firewall-cmd --state
not running

二、架構圖

三、配置server端

1) 配置Zabbix的yum源

安裝zabbix使用MySQL的yum鏡像倉庫
# rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
2) 更新yum倉庫並緩存
[root@s35 ~]# yum repolist 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
repo id                                                   repo name                                                                        status
base/7/x86_64                                             CentOS-7 - Base                                                                  9,591
extras/7/x86_64                                           CentOS-7 - Extras                                                                  448
updates/7/x86_64                                          CentOS-7 - Updates                                                               2,416
zabbix/x86_64                                             Zabbix Official Repository - x86_64                                                132
zabbix-non-supported/x86_64                               Zabbix Official Repository non-supported - x86_64                                    4
repolist: 12,591
[root@s35 ~]# yum makecache 
Loaded plugins: fastestmirror, langpacks
base                                                                                                                      | 3.6 kB  00:00:00     
extras                                                                                                                    | 3.4 kB  00:00:00     
updates                                                                                                                   | 3.4 kB  00:00:00     
zabbix                                                                                                                    | 2.9 kB  00:00:00     
zabbix-non-supported                                                                                                      |  951 B  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Metadata Cache Created
3) 使用yum安裝zabbix包(s35)
Installed:
  zabbix-agent.x86_64 0:3.4.8-1.el7                   zabbix-get.x86_64 0:3.4.8-1.el7            zabbix-sender.x86_64 0:3.4.8-1.el7              
  zabbix-server-mysql.x86_64 0:3.4.8-1.el7            zabbix-web.noarch 0:3.4.8-1.el7            zabbix-web-mysql.noarch 0:3.4.8-1.el7           

Dependency Installed:
  OpenIPMI-libs.x86_64 0:2.0.19-15.el7             OpenIPMI-modalias.x86_64 0:2.0.19-15.el7       apr.x86_64 0:1.4.8-3.el7_4.1                 
  apr-util.x86_64 0:1.5.2-6.el7                    fping.x86_64 0:3.10-1.el7                      httpd.x86_64 0:2.4.6-67.el7.centos.6         
  httpd-tools.x86_64 0:2.4.6-67.el7.centos.6       iksemel.x86_64 0:1.4-2.el7.centos              libzip.x86_64 0:0.10.1-8.el7                 
  mailcap.noarch 0:2.1.41-2.el7                    mariadb-libs.x86_64 1:5.5.56-2.el7             php.x86_64 0:5.4.16-43.el7_4.1               
  php-bcmath.x86_64 0:5.4.16-43.el7_4.1            php-cli.x86_64 0:5.4.16-43.el7_4.1             php-common.x86_64 0:5.4.16-43.el7_4.1        
  php-gd.x86_64 0:5.4.16-43.el7_4.1                php-ldap.x86_64 0:5.4.16-43.el7_4.1            php-mbstring.x86_64 0:5.4.16-43.el7_4.1      
  php-mysql.x86_64 0:5.4.16-43.el7_4.1             php-pdo.x86_64 0:5.4.16-43.el7_4.1             php-xml.x86_64 0:5.4.16-43.el7_4.1           
  t1lib.x86_64 0:5.1.2-14.el7                     

Complete!
[root@s35 ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql
4) 初始化數據庫
數據庫能夠在本機,也能夠是遠程的,經過zabbix的web頁面來配置。
建立數據庫和用戶
[root@s35 ~]# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '123456';
mysql> flush privileges;
mysql> quit;
首先,咱們來查看一下,zabbix-server-mysql這個包提供了什麼:
[root@s35 ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.2.6
/usr/share/doc/zabbix-server-mysql-3.2.6/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.2.6/COPYING
/usr/share/doc/zabbix-server-mysql-3.2.6/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.2.6/NEWS
/usr/share/doc/zabbix-server-mysql-3.2.6/README
/usr/share/doc/zabbix-server-mysql-3.2.6/create.sql.gz      #生成表的各類腳本
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
導入初始化數據
#mysql -u數據庫用戶名 -p(使用密碼登陸) 指定數據庫
[root@s35 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
導入之後,咱們進去數據庫查看一下:
[root@s35 ~]# mysql -uzabbix -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
2 rows in set (0.00 sec)
mysql> use zabbix;
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
……
| valuemaps                  |
| widget                     |
| widget_field               |
+----------------------------+
140 rows in set (0.00 sec)

這樣就導入成功了
5) 配置server端
經過grep命令查看大致配置項
root@s35 zabbix]# grep -i "^###" zabbix_server.conf
############ GENERAL PARAMETERS #################      通常參數
### Option: ListenPort                  監聽端口
### Option: SourceIP                    因爲Server端主機可能多個IP,須要指定哪一個IP去鏈接Agent或者二級代理。
### Option: LogType                     日誌信息輸出位置(syslog、file、console),默認爲file
### Option: LogFile                     日誌文件名以及路徑,默認LogFile=/var/log/zabbix/zabbix_server.log
### Option: LogFileSize                 日誌文件最大大小(MB),範圍(0-1024),爲0時關閉日誌輪循
### Option: DebugLevel                  日誌級別,單位時間級別越高生成的日誌量越多,即0級別日誌量最少,5級別最多,默認3級別,建議視具體狀況,自行把握
### Option: PidFile                     指定程程序PIDFILE路徑,不建議修改,默認PidFile=/var/run/zabbix/zabbix_server.pid
### Option: SocketDir                   Zabbix內部服務用來存儲IPC套接字的目錄,默認SocketDir=/var/run/zabbix
### Option: DBHost                      Zabbix數據庫地址(IP/HostName),若是寫主機名,hosts文件須要作IP地址映射
### Option: DBName                      Zabbix數據庫名
### Option: DBSchema                    Schema name,在IBM DB2和PostgreSQL上使用
### Option: DBUser                      Zabbix數據庫用戶名
### Option: DBPassword                  Zabbix數據庫用戶對應的密碼
### Option: DBSocket                    MySQL套接字文件路徑,默認DBSocket=/tmp/mysql.sock
### Option: DBPort                      遠程鏈接DB端口號,SQLite忽略此配置
### Option: HistoryStorageURL           History storage HTTP[S] URL
### Option: HistoryStorageTypes         Comma separated list of value types to be sent to the history storage.

############ ADVANCED PARAMETERS ################      高級參數
### Option: StartPollers                Number of pre-forked instances of pollers(0-1000),默認5
### Option: StartIPMIPollers            Number of pre-forked instances of IPMI pollers(0-1000),默認0。當至少有一個IPMI poller啓動時,IPMI管理程序會自動啓動
### Option: StartPreprocessors          Number of pre-forked instances of preprocessing worke(0-1000),默認3。當preprocessor worker啓動時,preprocessing管理程序會自動啓動
### Option: StartPollersUnreachable     Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).
### Option: StartTrappers               Number of pre-forked instances of trappers(0-1000),默認5
                                        rappers accept incoming connections from Zabbix sender, active agents and active proxies.At least one trapper process
                                        must be running to display server availability and view queue in the frontend
                                        #
### Option: StartPingers                Number of pre-forked instances of ICMP pingers(0-1000),默認1
### Option: StartDiscoverers            Number of pre-forked instances of discoverers(0-250),默認1
### Option: StartHTTPPollers            Number of pre-forked instances of HTTP pollers(0-1000),默認1
### Option: StartTimers                 Number of pre-forked instances of timers(0-1000),默認1
                                        Timers process time-based trigger functions and maintenance periods,Only the first timer process handles the 
                                        maintenance periods.
                                        #
### Option: StartEscalators             (0-100),默認1
### Option: StartAlerters               預分配的警報實例數量(0-100),默認3,警報器發送由操做建立的通知。
### Option: JavaGateway                 Zabbix Java gateway的IP/HostName,僅當ava pollers啓動時須要
### Option: JavaGatewayPort             Zabbix Java gateway監聽的端口
### Option: StartJavaPollers            Java輪詢器的預分支實例的數量(0-1000),默認0
### Option: StartVMwareCollectors       預分流的vmware收集器實例的數量(0-250),默認0
### Option: VMwareFrequency             Zabbix將多久鏈接到VMware服務得到新數據(10-86400),默認60
### Option: VMwarePerfFrequency         Zabbix將多久鏈接到VMware服務得到性能數據(10-86400),默認60
### Option: VMwareCacheSize             VMware 緩存大小,分出內存空間存儲VMware數據,僅在VMware collectors啓動時須要
### Option: VMwareTimeout               指定vmware collector最多等待多久(秒)從VMware service獲取迴應
### Option: SNMPTrapperFile             用於將數據從SNMP trapper守護程序傳遞到服務器的臨時文件,必須與zabbix_trap_receiver.pl或SNMPTT配置文件中的相同。
                                        #
### Option: StartSNMPTrapper            若是爲1(0-1),SNMP trapper進程啓動
### Option: ListenIP                    要監聽的IP,若是不指定trapper會監聽全部IP
### Option: HousekeepingFrequency       Zabbix將如何執行內務處理程序(小時)
### Option: MaxHousekeeperDelete        #
### Option: CacheSize                   緩存大小
### Option: CacheUpdateFrequency        Zabbix執行配置緩存的更新頻率(秒)
### Option: StartDBSyncers              數據庫同步器的預分叉實例的數量
### Option: HistoryCacheSize            歷史緩存大小(以字節爲單位)。共享內存大小以存儲歷史數據。
### Option: HistoryIndexCacheSize       歷史索引緩存的大小(以字節爲單位)。索引歷史記錄緩存的共享內存大小。
### Option: TrendCacheSize              趨勢緩存的大小(以字節爲單位)。共享內存大小以存儲趨勢數據。
### Option: ValueCacheSize              歷史值緩存的大小(以字節爲單位)。用於緩存項目歷史記錄數據請求的共享內存大小,設置爲0會禁用值緩存。
### Option: Timeout                     指定等待Agent、SNMP設備或外部檢查的時間(秒)
### Option: TrapperTimeout              指定trapper能夠在處理新數據時花費多少秒
### Option: UnreachablePeriod           在主機網絡不可達多少秒以後,視爲該主機不可用
### Option: UnavailableDelay            在主機不可用期間,檢查主機可用性的頻率
### Option: UnreachableDelay            在主機網絡不可達期間,檢查主機可用性的頻率
### Option: AlertScriptsPath            自定義警報腳本位置的完整路徑
### Option: ExternalScripts             外部腳本位置的完整路徑
### Option: FpingLocation               Location of fping
### Option: Fping6Location              Location of fping6
### Option: SSHKeyLocation              用於SSH檢查和操做的公鑰和私鑰的位置
### Option: LogSlowQueries              在被記錄(以毫秒爲單位)以前,數據庫查詢可能須要多長時間
### Option: TmpDir                      臨時目錄
### Option: StartProxyPollers           被動代理的預分派輪詢實例的數量
### Option: ProxyConfigFrequency        Zabbix服務器將配置數據發送到Zabbix代理的頻率(秒)
### Option: ProxyDataFrequency          Zabbix服務器從請求Zabbix代理的歷史數據的頻率(秒)
### Option: AllowRoot                   是否容許root賬號運行此客戶端,默認0不容許。當一個腳本執行須要以ROOT身份執行的,則此開關必須打開,建議根據實際狀況開啓或關閉。      
### Option: User                        受權給系統中已經存在的用戶,僅在以root方式運行和AllowRoot被禁用時纔會產生效果
### Option: Include                     目錄路徑或擴展配置文件路徑,若需配置大量參數的且爲了方便後續管理能夠啓用此參數,通常狀況下無需啓用
### Option: SSLCertLocation             SSL客戶端證書的位置,這個參數只在web監控中使用。
### Option: SSLKeyLocation              SSL客戶端證書的私鑰的位置,這個參數只在web監控中使用。
### Option: SSLCALocation               覆蓋證書頒發機構(CA)文件的位置,用於SSL服務器證書驗證。若是沒有設置,將使用全系統目錄。這個參數僅用於web監測和SMTP認證。

####### LOADABLE MODULES #######                     加載模塊
### Option: LoadModulePath             服務器模塊位置的完整路徑,默認取決於編譯選項。
### Option: LoadModule                 在服務器啓動時加載模塊,模塊用於擴展服務器的功能。

####### TLS-RELATED PARAMETERS #######               TLS相關參數
### Option: TLSCAFile                  包含頂級CA證書的文件的完整路徑名
### Option: TLSCRLFile                 包含被撤銷證書的文件的完整路徑名
### Option: TLSCertFile                包含Agent證書或證書鏈的文件的完整路徑名
### Option: TLSKeyFile                 包含Agent私鑰的文件的完整路徑名
數據庫準備好了之後,要去修改server端的配置文件。
[root@s35 ~]# cd /etc/zabbix/
[root@s35 zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
#爲了方便咱們之後恢復,咱們把配置文件備份一下
[root@s35 zabbix]# cp zabbix_server.conf{,.bak}
[root@s35 zabbix]# ll
total 44
drwxr-x--- 2 apache apache    33 Apr 24 16:42 web
-rw-r--r-- 1 root   root   10588 Apr  3 19:21 zabbix_agentd.conf
drwxr-xr-x 2 root   root      38 Apr 24 16:42 zabbix_agentd.d
-rw-r----- 1 root   zabbix 15763 Apr  3 19:21 zabbix_server.conf
-rw-r----- 1 root   root   15763 Apr 24 17:05 zabbix_server.conf.bak

[root@s35 zabbix]# vim zabbix_server.conf
ListenPort=10051            #默認監聽端口
SourceIP=192.168.30.135      #發採樣數據請求的IP
#數據庫相關信息
DBHost=localhost            #數據庫所在主機
DBName=zabbix               #數據庫名稱
DBUser=root           #MySQL數據庫用戶名
DBPassword=123456        #數據庫用戶密碼
DBPort=3306                 #數據庫端口
ListenIP=192.168.30.135    #注意不要寫爲localhost
6) 啓動zabbix的server、agent
基本配置已經完成,開啓服務
[root@s35 ~]# systemctl restart zabbix-server zabbix-agent
[root@s35 ~]# systemctl enable zabbix-server zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
檢查端口是否已經開啓
[root@s35 ~]# ss -nutl |grep 10051
tcp    LISTEN     0      128    192.168.30.135:10051                 *:*   
PS:若是端口沒有開啓,檢查一下配置文件有沒有問題。
7) 修改時區
在zabbix.conf中設置時區,僅對zabbix有效。
[root@s35 ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
在php配置文件中設置時區,對全部的php服務均有效。
[root@s35 zabbix]# vim /etc/php.ini 
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Shanghai
PS:修改完時區以後須要重啓httpd服務生效。
8) 配置Web GUI
查看Web GUI的配置文件
[root@s35 zabbix]# rpm -ql zabbix-web | grep conf |grep http
/etc/httpd/conf.d/zabbix.conf
/usr/share/zabbix/httpconf.php
/usr/share/zabbix/include/views/configuration.httpconf.edit.php
/usr/share/zabbix/include/views/configuration.httpconf.list.php
/usr/share/zabbix/include/views/configuration.httpconf.popup.php
/usr/share/zabbix/include/views/js/configuration.httpconf.edit.js.php
/usr/share/zabbix/include/views/js/configuration.httpconf.popup.js.php

#/etc/httpd/conf.d/zabbix.conf即咱們要找的文件
php_value max_execution_time 300    #最大腳本執行時長
php_value memory_limit 128M    #內存大小
php_value post_max_size 16M 
php_value upload_max_filesize 2M
php_value max_input_time 300 
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga  #設置時區,僅對zabbix生效 
啓動http服務
[root@s35 ~]# systemctl start httpd
[root@s35 ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

#查看http服務端口
[root@s35 ~]# ss -nutl |grep 80
udp    UNCONN     0      0      fe80::20c:29ff:fe8c:ceb5%ens33:123                  :::*                  
tcp    LISTEN     0      128      :::80                   :::*                  
tcp    LISTEN     0      80       :::3306                 :::*                
用瀏覽器訪問Zabbix進行初始化設置

四、配置agent端

監控端配置完畢並啓動之後,還須要來配置一下監控端。即在須要監控的主機上安裝agent指定它的server端,並在server端添加agent。linux

1) 安裝zabbix
[root@s35 ~]# rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm    #配置zabbix的yum源
[root@s22 ~]# yum clean all    
[root@s35 ~]# yum repolist     #更新yum倉庫
[root@s35 ~]# yum makecache    #緩存
[root@s35 ~]# yum install zabbix-agent zabbix-sender -y    #安裝zabbix-agent、zabbix-sender
...
Installed:
  zabbix-agent.x86_64 0:3.4.8-1.el7                                      zabbix-sender.x86_64 0:3.4.8-1.el7                                     
Complete!
2) 配置agent
首先查看zabbix-agent安裝後的文件
[root@s22 ~]# rpm -ql zabbix-agent 
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-3.4.8
/usr/share/doc/zabbix-agent-3.4.8/AUTHORS
/usr/share/doc/zabbix-agent-3.4.8/COPYING
/usr/share/doc/zabbix-agent-3.4.8/ChangeLog
/usr/share/doc/zabbix-agent-3.4.8/NEWS
/usr/share/doc/zabbix-agent-3.4.8/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
備份、修改配置文件
[root@s22 ~]# cd /etc/zabbix/
[root@s22 zabbix]# ll
total 12
-rw-r--r-- 1 root root 10588 Apr  3 19:21 zabbix_agentd.conf
drwxr-xr-x 2 root root    38 Apr 24 23:41 zabbix_agentd.d
[root@s22 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@s22 zabbix]# ll
total 24
-rw-r--r-- 1 root root 10588 Apr  3 19:21 zabbix_agentd.conf
-rw-r--r-- 1 root root 10588 Apr 24 23:44 zabbix_agentd.conf.bak
drwxr-xr-x 2 root root    38 Apr 24 23:41 zabbix_agentd.d
[root@s22 zabbix]# vim zabbix_agentd.conf
查看zabbix_agentd.conf整體配置項
[root@s22 zabbix]# grep -i "^###" zabbix_agentd.conf
############ GENERAL PARAMETERS ################# 通常參數
### Option: PidFile                  指定程程序PIDFILE路徑,可修改到其它路徑,但SNC不建議修改
### Option: LogType                  日誌信息輸出位置(syslog、file、console),默認爲file
### Option: LogFile                  日誌文件名以及路徑,默認LogFile=/var/log/zabbix/zabbix_agentd.log
### Option: LogFileSize              日誌文件最大大小(MB),範圍(0-1024),爲0時關閉日誌輪循
### Option: DebugLevel               日誌級別,單位時間級別越高生成的日誌量越多,即0級別日誌量最少,5級別最多,默認3級別,建議視具體狀況,自行把握
### Option: SourceIP                 當系統設置有多個IP時,須要指定一個IP與二級代理或服務端通訊,若系統只有一個IP,也建議指定一個IP
### Option: EnableRemoteCommands     是否容許從zabbix server遠程執行命令,默認0不容許(建議設置爲「容許」,SNC對命令下發功能進行了二次開發,功能強大,極大的方便日誌運維工做)
### Option: LogRemoteCommands        記錄遠程執行命令日誌
##### Passive checks related   #被動模式相關,由二級代理或服務端主動請求AGENT,去獲取所採集到的監控數據                   
### Option: Server                   列出哪些主機的傳入鏈接被接受(在有二級代理狀況下,此IP地址應該填寫二級代理服務器的IP,不然此IP應設置爲服務端IP)
### Option: ListenPort               對應的ListenPort監聽到哪一個IP上面,建議指定IP時,不用0.0.0.0,默認10050
### Option: ListenIP                 Agent監聽本機哪一個IP,默認0.0.0.0(全部),主動模式下發送首個IP給Server端
### Option: StartAgents              被動模式Agent啓動的instance數量,默認爲3,爲0則關閉被動模式Agent不監放任何TCP端口
##### Active checks related    #主動模式相關,Agent端(即採集客戶端)將所採集的結果,主動提交給二級代理服務器或服務器,而此種狀況下,二級代理服務器或服務器將被動接收採集信息
### Option: ServerActive             主動模式下Agent要鏈接的二級代理服務器或Server端 IP:port(or hostname:port)
### Option: Hostname                 惟一性,自定義一個主機名,與系統的主機名可同可不一樣,此參數可根據實際狀況啓用或關閉,建議關閉此參數,並啓用HostnameItem參數
### Option: HostnameItem             自動獲取主機名,爲了方便配置,建議打開此參數而關閉Hostname參數(PS: HostnameItem的優先級低於Hostname)
### Option: HostMetadata             用於定義當前主機惟一標識符,最大長度255個,僅適用於自動發現狀況下,默認不定義,建議不定義
### Option: HostMetadataItem         用於獲取主機的HostMetadata,建議保持默認
### Option: RefreshActiveChecks      被監控的主機多久(秒)從新請求二級代理或服務端刷新一監控列表,範圍爲60-3600秒。Zzabbix客戶端啓動後,每通過這段時間(秒),從二級代理或
                                     服務端請求並下載監控項信息,保存在本地專門的buffersend中。這就是爲何當配置監控項,要過一會才能生效的緣由。這個數值就是等待時間。
                                     建議不要將此數值設置太小,以避免加大AGENT端和服務端及數據庫的壓力,建議保持默認120秒。
                                     #
### Option: BufferSend               保持數據在buffer中的最長時間(1-3600),in seconds,默認5
### Option: BufferSize               buffer在內存中的最大大小(2-65535),默認100
### Option: MaxLinesPerSecond        定義了AGENT在1秒內發送的日誌最大行數,用於避免網絡或cpu過載,建議保持默認

############ ADVANCED PARAMETERS ################# 高級參數
### Option: Alias                    設置參數的別名。它能夠替代長和複雜的一個小而簡單的一個有用的參數名稱
### Option: Timeout                  Agent採集一個數據的超時時間(1-30),建議保持默認3
### Option: AllowRoot                是否容許root賬號運行此客戶端,默認0不容許。當一個腳本執行須要以ROOT身份執行的,則此開關必須打開,建議根據實際狀況開啓或關閉。
### Option: User                     受權給系統中已經存在的用戶,僅在以root方式運行和AllowRoot被禁用時纔會產生效果
### Option: Include                  目錄路徑或擴展配置文件路徑,若需配置大量參數的且爲了方便後續管理能夠啓用此參數,通常狀況下無須啓用

####### USER-DEFINED MONITORED PARAMETERS ####### 自定義監控參數
### Option: UnsafeUserParameters     是否容許傳遞特殊字符\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @,默認0 - do not allow
### Option: UserParameter            用戶自定義參數

####### LOADABLE MODULES #######                  可加載模塊
### Option: LoadModulePath           本地Agent模塊絕對路徑
### Option: LoadModule               擴展模塊路徑,Agent啓動時加載。強烈建議不要改動,除非你具備Agent開發能力

####### TLS-RELATED PARAMETERS #######            TLS相關參數
### Option: TLSConnect               Agent應該如何鏈接到服務器或代理,用於主動模式。
### Option: TLSAccept                接收哪一種方式的傳入鏈接
### Option: TLSCAFile                包含頂級CA證書的文件的完整路徑名
### Option: TLSCRLFile               包含被撤銷證書的文件的完整路徑名
### Option: TLSServerCertIssuer      容許服務器證書發行機構
### Option: TLSServerCertSubject     容許服務器證書的主題
### Option: TLSCertFile              包含Agent證書或證書鏈的文件的完整路徑名
### Option: TLSKeyFile               包含Agent私鑰的文件的完整路徑名
### Option: TLSPSKIdentity           惟一的,用於識別預共享密鑰的敏感字符串
### Option: TLSPSKFile               包含預共享密鑰的文件的完整路徑名
須要修改的參數
Server=192.168.30.135         #被動模式下指定二級代理或服務端
ListenPort=10050              #監聽端口
ListenIP=0.0.0.0              #監聽的地址,0.0.0.0表示本機全部地址

ServerActive=192.168.30.135   #主動模式下指定二級代理或服務端
#Hostname=Zabbix server       #禁用自定主機名
HostnameItem=system.hostname  #啓用自動獲取系統主機名
拷貝配置文件到另外一節點
root@s22 zabbix]# scp zabbix_agentd.conf root@s23:/etc/zabbix/
兩個節點啓動Agent服務,並設置開機自啓
[root@s22 zabbix]# systemctl start zabbix-agent.service
[root@s22 zabbix]# systemctl enable zabbix-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
#查看端口
[root@s22 zabbix]# ss -nutl |grep 10050
tcp    LISTEN     0      128       *:10050                 *:*                  
tcp    LISTEN     0      128      :::10050                :::*     

2、Zabbix監控配置

Zabbix官方文檔web

一、修改語言及用戶密碼

中文版看着比較直觀,嘿嘿嘿...sql

中文界面shell

 

一樣的位置修改用戶密碼數據庫

二、建立主機、主機組

添加主機組完畢以後就能夠添加主機apache

有不少選項卡,其中有一個加密,內網中建議不要加密,很是消耗資源

添加以後的界面

三、建立監控項(items)

1) 建立應用集

點擊s22的應用集按鈕,建立三個應用集

2) 不帶參數監控項

若是想要正常監控一個監控項,Zabbix的server端必定要與agent端可以鏈接(不管在哪一端設置),而且可以獲取命令。這些命令通常都是內建的命令,一個key對應一個命令(字典)。

關於item的結果,咱們能夠直接在網頁上設置item的key值,由Zabbix Server按照更新時間間隔自動獲取,也能夠手動執行命令來獲取:

[root@s35 .ssh]# zabbix_get -s 192.168.30.122 -p 10050 -k "system.cpu.intr"
5292465

#在agent端,也可使用命令來查看intr的速率變化
[root@s22 zabbix]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 815528   2116 458636    0    0     5     5   73  174  0  0 99  0  0
 0  0      0 815528   2116 458668    0    0     0     0   66   82  0  1 99  0  0
 0  0      0 815124   2116 458668    0    0     0     0   75  162  0  0 100  0  0
 0  0      0 815156   2116 458668    0    0     0     0   81   89  1  0 99  0  0

設置完成點擊更新,成功添加並跳轉到以下頁面:

返回全部主機頁面,等待10s能夠看到s22節點後面的選項已經有變成綠色的了

 

3) 帶參數監控項

 

 

四、觸發器(trigger)

 

 

五、動做(action)

 

 

六、zabbix可視化

 

 

七、模板

 

 

八、宏(macro)

 

 

參考:

https://www.cnblogs.com/keerya/p/7953695.html
相關文章
相關標籤/搜索