Zabbix 3.0 從入門到精通(zabbix使用詳解)

来源:http://www.cnblogs.com/clsn/archive/2017/11/23/7885990.html
-Advertisement-
Play Games

第1章 zabbix監控 1.1 為什麼要監控 在需要的時刻,提前提醒我們伺服器出問題了 當出問題之後,可以找到問題的根源 網站/伺服器 的可用性 1.1.1 網站可用性 在軟體系統的高可靠性(也稱為可用性,英文描述為HA,High Available)里有個衡量其可靠性的標準——X個9,這個X是代 ...


第1章 zabbix監控

1.1 為什麼要監控

     在需要的時刻,提前提醒我們伺服器出問題了

     當出問題之後,可以找到問題的根源

     網站/伺服器 的可用性

1.1.1 網站可用性

  在軟體系統的高可靠性(也稱為可用性,英文描述為HA,High Available)里有個衡量其可靠性的標準——X個9,這個X是代表數字3~5。X個9表示在軟體系統1年時間的使用過程中,系統可以正常使用時間與總時間(1年)之比,我們通過下麵的計算來感受下X個9在不同級別的可靠性差異。

    1個9:(1-90%)*365=36.5天,表示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是36.5天
    2個9:(1-99%)*365=3.65天 , 表示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是3.65天
    3個9:(1-99.9%)*365*24=8.76小時,表示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是8.76小時。
    4個9:(1-99.99%)*365*24=0.876小時=52.6分鐘,表示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是52.6分鐘。
    5個9:(1-99.999%)*365*24*60=5.26分鐘,表示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是5.26分鐘。
    6個9:(1-99.9999%)*365*24*60*60=31秒, 示該軟體系統在連續運行1年時間里最多可能的業務中斷時間是31秒

1.2 監控什麼東西

監控一切需要監控的東西,只要能夠想到,能夠用命令實現的都能用來監控

1.2.1 監控範疇

1.3 怎麼來監控

1.3.1 遠程管理伺服器

如果想遠程管理伺服器就有遠程管理卡,比如Dell idRAC,HP ILO,IBM IMM

1.3.2 監控硬體

查看硬體的溫度/風扇轉速,電腦有魯大師,伺服器就有ipmitool。

使用ipmitool實現對伺服器的命令行遠程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理機可以成功,虛擬機不行

[root@KVM ~]# ipmitool sdr type Temperature
Temp             | 01h | ns  |  3.1 | Disabled
Temp             | 02h | ns  |  3.2 | Disabled
Temp             | 05h | ns  | 10.1 | Disabled
Temp             | 06h | ns  | 10.2 | Disabled
Ambient Temp     | 0Eh | ok  |  7.1 | 22 degrees C
Planar Temp      | 0Fh | ns  |  7.1 | Disabled
IOH THERMTRIP    | 5Dh | ns  |  7.1 | Disabled
CPU Temp Interf  | 76h | ns  |  7.1 | Disabled
Temp             | 0Ah | ns  |  8.1 | Disabled
Temp             | 0Bh | ns  |  8.1 | Disabled
Temp             | 0Ch | ns  |  8.1 | Disabled

1.3.3 查看cpu相關

  lscpu、uptime、top、htop vmstat mpstat

   其中htop需要安裝,安裝依賴與epel源。

[znix@clsn ~]$lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping:              4
CPU MHz:               2494.150
BogoMIPS:              4988.30
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              33792K
NUMA node0 CPU(s):     0

1.3.4 記憶體夠不夠可以用

  free

[znix@clsn ~]$free -h
             total       used       free     shared    buffers     cached
Mem:          996M       867M       128M       712K       145M       450M
-/+ buffers/cache:       271M       725M
Swap:         1.0G         0B       1.0G

1.3.5 磁碟剩多少寫的快不快可以用

  df、dd、iotop

[znix@clsn ~]$df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   24G   15G  62% /
tmpfs           499M   20K  499M   1% /dev/shm
/dev/vdb1        20G  4.4G   15G  24% /data

1.3.6 監控網路

  iftop nethogs

iftop   監控主機間流量  -i 指定監控網卡
nethogs 監控進程流量

1.4 監控工具總覽

  mrtg 流量監控出圖

  nagios 監控

  cacti  流量監控出圖

  zabbix 監控+出圖

1.5 zabbix介紹

  Zabbix 是由 Alexei Vladishev 開發的一種網路監視、管理系統,基於 Server-Client 架構。可用於監視各種網路服務、伺服器和網路機器等狀態。

  使用各種 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 儲存資料。Server 端基於 C語言、Web 管理端 frontend 則是基於 PHP 所製作的。Zabbix 可以使用多種方式監視。可以只使用 Simple Check 不需要安裝 Client 端,亦可基於 SMTP 或 HTTP ... 各種協定做死活監視。

  在客戶端如 UNIX, Windows 中安裝 Zabbix Agent 之後,可監視 CPU Load、網路使用狀況、硬碟容量等各種狀態。而就算沒有安裝 Agent 在監視對象中,Zabbix 也可以經由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 對目標進行監視。

另外,Zabbix 包含 XMPP 等各種 Item 警示功能。

1.5.1 zabbix的組成

 

zabbix官網: https://www.zabbix.com

zabbix 主要由2部分構成 zabbix server和 zabbix agent

zabbix proxy是用來管理其他的agent,作為代理

1.5.2 zabbix監控範疇

  ²  硬體監控 :Zabbix IPMI Interface

  ²  系統監控 :Zabbix Agent Interface

  ²  Java 監控:ZabbixJMX Interface

  ²  網路設備監摶:Zabbix SNMP Interface

  ²  應用服務監控:Zabbix Agent UserParameter

  ²  MySQL 資料庫監控:percona-monitoring-pldlgins

  ²  URL監控:Zabbix Web監控

第2章 安裝zabbix

2.1 環境檢查

[root@m01 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

[root@m01 ~]# uname -r
3.10.0-693.el7.x86_64

[root@m01 ~]# getenforce
Disabled

[root@m01 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2.2 安裝zabbix過程

2.2.1 安裝方式選擇

  編譯安裝 (服務較多,環境複雜)

  yum安裝(乾凈環境)

  使用yum 需要鏡像yum源 http://www.cnblogs.com/clsn/p/7866643.html

2.2.2 服務端快速安裝腳本

#!/bin/bash
#clsn

#設置解析 註意:網路條件較好時,可以不用自建yum源
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安裝zabbix源、aliyun YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

#安裝zabbix 
yum install -y zabbix-server-mysql zabbix-web-mysql

#安裝啟動 mariadb資料庫
yum install -y  mariadb-server
systemctl start mariadb.service

#創建資料庫
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'

#導入數據
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix

#配置zabbixserver連接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

#添加時區
sed -i.ori '18a php_value date.timezone  Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf

#解決中文亂碼
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

#啟動服務
systemctl start zabbix-server
systemctl start httpd

#寫入開機自啟動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF

#輸出信息
echo "瀏覽器訪問 http://`hostname -I|awk '{print $1}'`/zabbix"

2.2.3 客戶端快速部署腳本

#!/bin/bash
#clsn

#設置解析
echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安裝zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

#安裝zabbix客戶端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
systemctl start  zabbix-agent.service

#寫入開機自啟動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent.service
EOF

2.3 檢測連通性

2.3.1 服務端安裝zabbix-get檢測工具

yum install zabbix-get

2.3.2 在服務端進行測試

註意:只能在服務端進行測試

zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"

測試結果

[root@m01 ~]# zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000

第3章 web界面操作

3.1 zabbix的web安裝

3.1.1 使用瀏覽器訪問

  http://10.0.0.61/zabbix/setup.php

   在檢測信息時,可查看具體的報錯信息進行不同的解決

 

   選擇mysql資料庫,輸入密碼即可

 

   host與port不需要修改,name自定義

 

確認信息,正確點擊下一步

 

   安裝完成、點擊finsh

 

      進入登陸界面  賬號Admin密碼zabbix   註意A大寫

 

3.2 添加監控信息

3.2.1 修改監控管理機zabbix server

配置 >> 主機

 

主機名稱: 要與主機名相同,這是zabbix server程式用的

可見名稱: 顯示在zabbix網頁上的,給我們看的

 

   修改後,要將下麵的已啟用要勾上

 

   添加完成就有了管理機的監控主機

 

3.2.2 添加新的主機

配置 >> 主機 >> 創建主機

 

註意勾選以啟用

 

   然後添加模板,選擇linux OS ,先點小添加,再點大添加。

 

   添加完成,將會又兩條監控主機信息

 

3.2.3 查看監控內容

檢測中  >> 最新數據

   在最新數據中需要篩選,

 

   輸入ip或者名字都能夠搜索出來

 

在下麵就會列出所有的監控項

 

3.2.4 查看圖像

檢測中 >> 圖形

   選擇正確的主機。選擇要查看的圖形即可出圖

 

第4章 自定義監控與監控報警

4.1 自定義監控

4.1.1 說明

zabbix自帶模板Template OS Linux (Template App Zabbix Agent)提供CPU、記憶體、磁碟、網卡等常規監控,只要新加主機關聯此模板,就可自動添加這些監控項。

需求:伺服器登陸人數不能超過三人,超過三人報警

4.1.2 預備知識

自定義key能被server和agent認可

# 正確的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname"
Linux cache01 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 
# 沒有登記的,自定義的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
ZBX_NOTSUPPORTED: Unsupported item key. 
# 寫錯的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname1"
ZBX_NOTSUPPORTED: Unsupported item key.

4.2 實現自定義監控

4.2.1 自定義語法

UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh

4.2.2 agent註冊

[root@cache01 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@cache01 zabbix_agentd.d]# vim userparameter_login.conf
UserParameter=login-user,who|wc -l
UserParameter=login-user2,who|wc -l
UserParameter=login-user3,who|wc -l

   註意:key名字要唯一,多個key以行為分割

# 修改完成後重啟服務

[root@cache01 zabbix_agentd.d]# systemctl restart zabbix-agent.service

   在server端進行get測試

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user2"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user3"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user4"
ZBX_NOTSUPPORTED: Unsupported item key.

4.2.3 在server端註冊(web操作)

①   創建模板

配置 >> 模板 >> 創建模板

 

點擊添加,即可創建出來模板

 

   查看創建出來的模板。↑

②   創建應用集

應用集類似(目錄/文件夾),其作用是給監控項分類。

點擊 應用集 >> 創建應用集

 

      自定義應用集的名稱,然後點擊添加

③   創建監控項

監控項 >> 創建監控項

 

鍵值 -- key,即前面出創建的login-user。

 

   註意:創建監控項的時候,註意選擇上應用集,即之前創建的安全。

 

④   創建觸發器

觸發器的作用:當監控項獲取到的值達到一定條件時就觸發報警

(根據需求創建)

觸發器 >> 創建觸發器

創建觸發器,自定義名稱,該名稱是報警時顯示的名稱。

   表達式,點擊右邊的添加,選擇表達式。 

   嚴重性自定義。

 

   表達式的定義 ,選擇之前創建的監控項,

最新的T值為當前獲取到的值。

 

   添加完成,能夠在觸發器中看到添加的情況

 

⑤   創建圖形

以圖形的方式展示出來監控信息

圖形 >> 創建圖形

名稱自定義,關聯上監控項。

 

⑥   主機關聯模板

配置 >> 主機

   一個主機可以關聯多個模板

 

4.2.4 查看監控的圖形

 

4.3 監控報警

4.3.1 第三方報警平臺

http://www.onealert.com

     通過 OneAlert 提供的通知分派與排班策略,以及全方位的簡訊、微信、QQ、電話提醒服務,您可以在最合適的時間,將最重要的信息推送給最合適的人員。

4.3.2 onealert配置

添加應用,註意添加的式zabbix

 

   實現微信報警需要關註微信公眾號即可。

 

4.3.3 安裝 onealert Agent

1.切換到zabbix腳本目錄(如何查看zabbix腳本目錄):

cd /usr/local/zabbix-server/share/zabbix/alertscripts

#查看zabbix腳本目錄
vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath

2.獲取OneITSM agent包:

wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.0.1.tar.gz

3.解壓、安裝。

tar -zxf oneitsm_zabbix_release-1.0.1.tar.gz
cd oneitsm/bin
bash install.sh --#個人生成的key

註:在安裝過程中根據安裝提示,輸入zabbix管理地址、管理員用戶名、密碼

Zabbix管理地址: http://10.0.0.61/zabbix/
Zabbix管理員賬號: Admin
Zabbix管理員密碼:

4.當提示"安裝成功"時表示安裝成功!

驗證告警集成

產生新的zabbix告警(problem),動作狀態為“已送達”表示集成成功。

4.3.1 如何刪除onealert Agent

①  刪除報警媒介類型中的腳本

 

②  刪除創建的用戶

 

③  刪除用戶群組

④  刪除創建的動作

 

4.3.2 觸發器響應,發送報警信息

 

   在微信和郵件中,均能收到報警信息。

 

   註意:當狀態改變的時候才會發郵件

      好-->壞

      壞-->好

4.4 監控可視化

4.4.1 聚合圖形

最新數據 >> 圖形

 

   自定義名稱

 

   點擊聚合圖形的名稱,進行更改,添加要顯示的圖形即可。

 

4.4.2 幻燈片

添加幻燈片

監測中 >> 複合圖形 >> 幻燈片演示

 

   創建幻燈片,名稱自定,選擇要顯示的

 

   幻燈片根據設定的時間自動播放

4.5 模板的共用

4.5.1 主機共用

在主機頁打開,全選後點擊導出

 

   導入

 

4.5.2 模板共用

https://github.com/zhangyao8/zabbix-community-repos

 

第5章 監控全網伺服器

5.1 需求說明

實際需求:

  公司已經有了100台伺服器,現在需要使用zabbix全部監控起來。

5.2 規劃方案

常規監控:cpu,記憶體,磁碟,網卡  問題:怎樣快速添加100台機器

     方法1:使用克隆的方式

     方法2:自動註冊和自動發現

     方法3:調用zabbix api介面  curl 、python

            開發自己的運維平臺相容zabbix的通道

   服務監控,url監控等特殊監控:自定義監控

5.2.1 api介面使用(curl

    curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' "http://10.0.0.61/zabbix/api_jsonrpc.php"

    curl -i -X POST -H 'Content-Type:application/json' -d'
    {
        "jsonrpc": "2.0",
        "method": "host.get",
        "params": {
            "output": [
                "hostid",
                "host"
            ],
            "selectInterfaces": [
                "interfaceid",
                "ip"
            ]
        },
        "id": 2,
        "auth": "6a450a8fc3dce71fd310cfe338746578"
    }' "http://10.0.0.61/zabbix/api_jsonrpc.php"

5.3 具體實施規劃

5.3.1 硬體、系統、網路監控

  所有集群節點(所有虛擬機)都監控上

  交換機,路由器監控(簡單方法:換成埠對應伺服器網卡流量監控;標準方法:監控交換機的網卡)

  snmp監控

5.3.2 應用服務監控

1. 監控備份伺服器,簡單方法是監控rsync埠,如果有其他更佳方案可以說明;

    方法1:監控873埠net.tcp.port[,873]
    方法2:模擬推送拉取文件

2. 監控NFS伺服器,使用監控NFS進程來判斷NFS伺服器正常,如果有其他更佳方案可以說明;

    方法1:埠(通過111的rpc埠獲取nfs埠) net.tcp.port[,111]
    方法2:showmount -e ip|wc -l

3. 監控MySQL伺服器,簡單方法監控mysql的3306埠,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以說明;

    方法1:埠(通過3306的mysql埠) net.tcp.port[,3306]
    方法2:mysql遠程登錄
    方法3:使用zabbix agent自帶的模板及key

4. 監控2台web伺服器,簡單方法監控80埠,如果有其他更佳方案可以說明;

    方法1:埠(通過80的web埠) net.tcp.port[,80]
    方法2:看網頁狀態碼、返回內容==zabbix 自帶WEB檢測

5. 監控URL地址來更精確的監控我們的網站運行正常;

    使用zabbix自帶的監控Web監測 進行監控

6. 監控反向代理伺服器,PPTP伺服器等你在期中架構部署的服務。

nginx,pptp
ntp 埠udp 123

7. 監控Nginx的7種連接狀態。

    自定義監控

5.3.3 監控服務通用方法

  1. 監控埠 netstat ss lsof  ==》 wc -l

  2. 監控進程 ps -ef|grep 進程|wc -l  試運行一下

  3. 模擬客戶端的使用方式監控服務端

        web  ==》 curl

        mysql ==》 select insert

        memcache ==》 set再get

5.4 實施全網監控

安裝客戶端腳本,for centos6

#!/bin/bash

#設置解析
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安裝zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum clean all
yum clean all
#安裝zabbix客戶端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent start

#寫入開機自啟動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
/etc/init.d/zabbix-agent start
EOF

5.4.1 使用自動發現規則

添加自動發現規則

 

   創建發現動作

 

   查看自動發現的機器。

 

5.4.2 監控備份伺服器

利用系統自帶鍵值進行監控net.tcp.listen[port] 創建新的模板

 

在服務端進行測試

[root@m01 ~]# zabbix_get -s 172.16.1.41 -p 10050 -k "net.tcp.listen[873]"
1

# 1為埠在監聽 0為埠未監聽

將模板添加到主機

 

5.4.3 監控NFS伺服器

創建nfs監控模板

使用 proc.num[<name>,<user>,<state>,<cmdline>]  鍵值,檢測nfs進程的數量

  

在服務端進行測試

[root@m01 ~]# zabbix_get -s 172.16.1.31 -p 10050 -k "proc.num[,,,rpc]"
5

[root@m01 ~]# zabbix_get -s 172.16.1.31 -p 10050 -k "proc.num[nfsd,,,]
8

 

將模板綁定到主機

 

5.4.4 監控MySQL伺服器

將自帶的mysqlkey值加上mysql的賬戶密碼,否則不能獲取到數據。

 

使用系統自帶模板  net.tcp.port[<ip>,port] 利用自帶的監控埠鍵值進行監控

 

添加新的mysql監控項埠

 

[root@m01 ~]# zabbix_get -s 172.16.1.51 -p 10050 -k "net.tcp.port[,3306]"
1

#檢查是否能建立 TCP 連接到指定埠。返回 0 - 不能連接;1 - 可以連接

將模板關聯到主機

 

5.4.5 監控web伺服器

創建監控模板 監控 nginx服務與 80 埠

    proc.num[<name>,<user>,<state>,<cmdline>]   進程數。返回整數
    net.tcp.port[<ip>,port] 檢查是否能建立 TCP 連接到指定埠。返回 0 - 不能連接;1 - 可以連接

 

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "proc.num[,,,nginx]"
2

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "net.tcp.port[,80]"
1

將模板關聯到主機

 

5.4.6 監控URL地址

創建監測頁面

echo ok >> /application/nginx/html/www/check.html

 

測試監控面頁

[root@web03 ~]# for ip in 7 8 9 ;do curl 10.0.0.$ip/check.html ;done
ok
ok
ok

創建web監測模板

   創建應用集

 

   創建Web場景

 

   創建圖形

 

將模板關聯到主機

 

監測結果

 

5.4.7 監控反向代理伺服器

創建自定義key

[root@lb01 ~]# cat  /etc/zabbix/zabbix_agentd.d/userparameter_nk.conf
UserParameter=keep-ip,ip a |grep 10.0.0.3|wc -l

在服務端測試

[root@m01 ~]# zabbix_get -s 172.16.1.5  -p 10050 -k "keep-ip"
1

[root@m01 ~]# zabbix_get -s 172.16.1.6  -p 10050 -k "keep-ip"
0

在web界面添加模板

 

將模板關聯到主機

 

5.4.8 監控Nginx的7種連接狀態

nginx伺服器顯示status
……
    location /status {
           stub_status on;
           access_log off;
    }
……

 

[root@web01 ~]# for ip in 7 8 9 ;do curl 172.16.1.$ip/status ;done
Active connections: 1
server accepts handled requests
 73 73 69
Reading: 0 Writing: 1 Waiting: 0

Active connections: 1
server accepts handled requests
 134 134 127
Reading: 0 Writing: 1 Waiting: 0

Active connections: 1
server accepts handled requests
 7 7 7
Reading: 0 Writing: 1 Waiting: 0

在nginx伺服器上添加key

cat >/etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf <<'EOF'
UserParameter=nginx_active,curl -s  127.0.0.1/status|awk '/Active/ {print $NF}'
UserParameter=nginx_accepts,curl -s  127.0.0.1/status|awk 'NR==3 {print $1}'
UserParameter=nginx_handled,curl -s  127.0.0.1/status|awk 'NR==3 {print $2}'
UserParameter=nginx_requests,curl -s  127.0.0.1/status|awk 'NR==3 {print $3}'
UserParameter=nginx_reading,curl -s  127.0.0.1/status|awk 'NR==4 {print $2}'
UserParameter=nginx_writing,curl -s  127.0.0.1/status|awk 'NR==4 {print $4}'
UserParameter=nginx_waiting,curl -s  127.0.0.1/status|awk 'NR==4 {print $6}'
EOF

服務端測試

[root@m01 ~]# zabbix_get -s 172.16.1.7  -p 10050 -k "nginx_waiting"
0

[root@m01 ~]# zabbix_get -s 172.16.1.8  -p 10050 -k "nginx_waiting"
0

[root@m01 ~]# zabbix_get -s 172.16.1.9  -p 10050 -k "nginx_waiting"
0

在zabbix-web上添加

 

監控項

 

添加圖形

 

將模板關聯到主機

 

查看添加的圖形

 

第6章 自動發現與自動註冊

6.1 自動註冊與自動註冊

6.1.1 簡介

自動發現:

zabbix Server主動發現所有客戶端,然後將客戶端登記自己的小本本上,缺點zabbix server壓力山大(網段大,客戶端多),時間消耗多。

自動註冊:

zabbix agent主動到zabbix Server上報到,登記;缺點agent有可能找不到Server(配置出錯)

6.1.2 兩種模式

被動模式:預設  agent被server抓取數據 (都是在agent的立場上說)
主動模式:agent主動將數據發到server端 (都是在agent的立場上說)

     註意: 兩種模式都是在agent上進行配置

     zabbix 的使用要在hosts文件中預先做好主機名的解析

6.2 自動發現--被動模式

 第一個裡程碑:完成之前的安裝

zabbix Server安裝完畢

   第二個裡程碑:配置agent客戶端

zabbix agent安裝完畢,註意配置Server=172.16.1.61

   第三個裡程碑:在web界面上進行配置

    web界面:配置 >> 自動發現 >> Local network
        使用自帶的自動發現規則(進行修改)即可

 

    在ip範圍內輸入ip,註意格式;
    延遲在實際的生產環境中要大一些,實驗環境可以小一些

 

   創建發現動作

    配置 >> 動作 >> Auto discovery. Linux servers.

 

①  配置動作

 

②  在條件中添加條件,讓添加更準確

 

③  在操作中添加

a)  添加主機與啟用主機

 

      然後等待者客戶端自動上門就好

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 直接上例子,即SQL語法: DECLARE @Text NVARCHAR(MAX) = N'192 168-0 101 34--96' WHILE (CHARINDEX('--',@Text) <> 0) SET @Text = REPLACE(@Text,'--','-') SELECT @Tex ...
  • HiveServer2是經常與beeline一起使用,可以用jdbc客戶端遠程連接,一般用於生產環境。 在提供傳統客服端的功能之外,還提供其他功能。 Beeline連接 啟動命令:HiveServer2 啟動日誌在hive.log中查看 命令: Beeline !connect jdbc:hive2 ...
  • 有朋友需求一個問題,就是處理一張表中某一欄位,從這個欄位中去截取內容中最後一個中文詞語。 ID SourceText Result 1 張達:U:1楊英蘋:U:1,周忱:U:1,;苗橋:U:1,章瑋:U:1,; 2 gaoying,高穎:U; 3 gaoying,高穎:U; 4 mq,苗橋;ding ...
  • 1、創建項目:File-->new-->Project; 2、選擇maven,SDK選擇自己的Java安裝路徑; 3、這個隨意了,寫個比較有意義的就行,然後就按照圖片操作。 4、上圖點擊finish後,出現下麵的pom.xml,這個就是後續需要mvn依賴的地方。 5、我的hadoop版本是:CDH的 ...
  • 查詢結果: ...
  • 死鎖是指多個進程(線程)因為長久等待已被其他進程占有的的資源而陷入阻塞的一種狀態。當等待的資源一直得不到釋放,死鎖會一直持續下去。死鎖一旦發生,程式本身是解決不了的,只能依靠外部力量使得程式恢復運行,例如重啟,開門狗複位等。 所以內核中設計了內核死鎖檢測機制,一旦發現死鎖進程,就重啟OS,快刀斬亂麻 ...
  • 第1章 sed命令詳解 1.1 查找固定的某一行 1.1.1 awk命令方法 1.1.2 grep方法 1.1.3 sed方法 1.2 sed的替換 s為 sub(substitute)替換 g global 表示全局替換 1.2.1 將oldboy替換程oldboyedu &表示前面找到的東西。 ...
  • 407自帶乙太網mac模塊,一般外掛一個PHY晶元就可以實現乙太網物理層;以下是stm32f407VE+enc28j60+lwip2.0.2實現最基本的乙太網通信功能。 1. 新建工程,此處省略1000字。。。2. 在工程目錄下新建一個LWIP文件夾,將lwip-2.0.2.zip解壓,將src文件 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...