Zabbix 3.0 部署監控nginx

来源:http://www.cnblogs.com/chenshengqun/archive/2017/12/05/7985656.html
-Advertisement-
Play Games

一、添加監控主機及設置 1.創建主機 Agent可以乾一些SNMP無法乾的事情,例如自定義監控項 snmp相關文章:http://www.abcdocker.com/abcdocker/1376 這裡我們先不著急點add,還需要設置其他選項 點擊監控模板 zabbix監控是由監控項組成(cpu使用率 ...


一、添加監控主機及設置

 

1.創建主機

1.png-47.5kB
2.png-52.5kB
Agent可以乾一些SNMP無法乾的事情,例如自定義監控項 
snmp相關文章:http://www.abcdocker.com/abcdocker/1376 
3.png-32kB
這裡我們先不著急點add,還需要設置其他選項 
1.png-17.4kB
點擊監控模板 
  zabbix監控是由監控項組成(cpu使用率監控就是一個監控項/記憶體使用率就是一個監控項),如果是100台伺服器就需要監控模板了。只需要將監控項和模板關聯起來即可 
舉個例子:我們上面主機使用的是SNMP,就可以直接搜索SNMP提示:有的模板需要自己定義 
2.png-30.2kB
溫馨提示:請點擊下麵的小add 然後在點大的。否則會出現問題哦 
1.png-32.6kB
IPMI如果有的話,需要在這裡寫上用戶名密碼 
2.png-23kB
巨集定義,這個巨集其實就是一個變數。我們給可以給變數附一個值 
3.png-15.1kB
  因為我們設置的是SNMPSNMP有一個團體名。並且可以設置定義 
  團體名是中間的abcdocker,具體的可以看http://www.abcdocker.com/abcdocker/1376

 
  1. [root@localhost ~]# cat /etc/snmp/snmpd.conf
  2. rocommunity abcdocker 192.168.56.11

1.png-23.1kB
值:{$SNMP_COMMUNITY} 
2.png-43.1kB
主機資產設置分為3中 
1、關閉 Disabled 
2、手動 Manual 
3、自動 Automatic (自動代表的是你在定義監控項的時候,他有一個小箭頭,勾上之後監控項的值就會填寫在這裡) 
   我們這設置好模板就可以選擇add 
3.png-43.8kB
SNMP變綠就好了 
4.png-52.6kB
  現在的狀態是用SNMP進行監控了,我們只是添加了一個SNMP OS LINUX的模板,但是出現了4個。這4個鏈接。可以和多個模板連起來用 
1.png-46.6kB
進入監控項,下麵這個菜單是過濾搜索用的 
2.png-57.3kB
下麵全都是模板 
  我們可以隨便點擊一個,這裡我們新建一個監控項 
3.png-65.2kB
點擊創建 
類型選擇 
  Zabbix agent 被動 
  Zabbix agent (active主動模式) 
  Simple check 簡單檢測 
  SNMPv1 agent ...... 
1.png-45kB
在Key這行點擊Select 可以進行選擇 
2.png-97.3kB
我們隨便選擇一個,例如agent.version。查看agent的版本 
Numeric是無符號整數型 
1.png-20.3kB

 

2.圖形說明

Configuration----hosts----Graphs 
1.png-81.6kB
繪圖靠的是監控項,我們可以隨便打開一個看看 
2.png-58.6kB
顏色等都是可以隨意設置

 

3、聚合圖形screens設置

1.png-42kB
提示:因為咱們用的版本是3.0當2.4的時候需要在Configuration----下麵來創建screens

創建Screens 
2.png-16.3kB
我們創建一個2*2 命名為test screensscreens 
3.png-37.5kB
然後我們點進去 
點擊編輯 
1.png-34.9kB
點擊Change進行設置 
1.png-32.5kB
2.png-25.8kB
多添加幾個之後就是以下結果 
3.png-96.9kB

 

二、監控案例[自定義監控項]

例如:我們自己添加一個監控項來進行監控當前的活動連接數 [Nginx 安裝請看上一篇] 
nginx安裝地址:http://www.abcdocker.com/abcdocker/1376 
Nginx狀態模塊配置如下,過於簡單不說了

 
  1. [root@localhost ~]# cat /usr/local/nginx/conf/nginx.conf
  2. listen 8080;
  3. location /status {
  4. stub_status on;
  5. access_log off;
  6. allow 192.168.56.0/24;
  7. deny all;
  8. }

修改nginx埠並重啟 
測試:http://192.168.56.11:8080/status 
1.png-8.7kB
解釋說明:使用zabbix來監控活動連接數,通過status狀態模塊為前提 
  我們現在命令取出我們想要的值,例如:

 
  1. [root@localhost ~]# curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}'
  2. 1

因為我們是監控他的活動連接數,他的活動連接數為1

 
  1. [root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Include=/etc/zabbix/zabbix_agentd.d/

#提示: 如果想要加自定義監控項,不要在配置文件中寫入,可以在Include裡面定義的目錄寫上 
  只要我們寫在Include目錄下,都可以識別到

 
  1. [root@linux-node1 ~]# cd /etc/zabbix/zabbix_agentd.d/
  2. [root@linux-node1 zabbix_agentd.d]# ls
  3. userparameter_mysql.conf
  4. #預設有一個MySQL的,我們可以參考MySQL的進行操作
  5. UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
  6. #提示,前面是key的名稱 後面的key的命令
  7. UserParameter=mysql.version,mysql -V

我們自己編輯一個文件

 
  1. [root@linux-node1 zabbix_agentd.d]# cat nginx.conf
  2. UserParameter=nginx.active,/usr/bin/curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}'
  3. #提示,此處配置文件的名字可以隨便起

  如果是多個命令可以寫一個腳本,命令最好寫絕對路徑!這個過程其實就是我們定義監控的過程,前面是key的名字,後面是命令 
修改完配置文件之後需要重啟zabbix-agent

 
  1. [root@linux-node1 zabbix_agentd.d]# systemctl restart zabbix-agent

  配置完成之後先在server端測試,是否可以獲取到agent上的值。不要著急添加 
  我們現在只用了1台伺服器,本機是server也是agent。然後使用zabbix-get進行測試

 
  1. [root@linux-node1 zabbix_agentd.d]# yum list|grep zabbix
  2. zabbix-agent.x86_64 3.0.4-1.el7 @zabbix
  3. zabbix-release.noarch 3.0-1.el7 installed
  4. zabbix-server-mysql.x86_64 3.0.4-1.el7 @zabbix
  5. zabbix-web.noarch 3.0.4-1.el7 @zabbix
  6. zabbix-web-mysql.noarch 3.0.4-1.el7 @zabbix
  7. python-pyzabbix.noarch 0.7.3-2.el7 epel
  8. uwsgi-stats-pusher-zabbix.x86_64 2.0.13.1-2.el7 epel
  9. zabbix-get.x86_64 3.0.4-1.el7 zabbix
  10. 查看zabbix_get
  11. [root@linux-node1 zabbix_agentd.d]# yum install -y zabbix-get

zabbix-get使用參數如下:

 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. -s 指定我們要查看的伺服器
  3. -p 埠,可以不加。預設是10050
  4. -k 監控項的名稱(根據上面的配置來定義的)
  5. 更多參數:zabbix_get --help
 

錯誤案例:

如果出現如下錯誤,大致意思是拒絕連接

 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. zabbix_get [24234]: Check access restrictions in Zabbix agent configuration

解決方法:

 
  1. [root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Server= 192.168.56.11

因為我們當時只允許本機127.0.0.1進行連接。所以會出現這樣問題

 
  1. [root@linux-node1 ~]# systemctl restart zabbix-agent

修改完配置文件都要重啟 
提示: zabbix-agent的配置文件中指定允許那個server連接,那個才可以進行連接。

 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. 1

正確結果如上! 
提示:如果在zabbix-agent上面修改了,還需要在網頁上進行修改 
1.png-73.8kB
/etc/zabbix/zabbix-agent.conf上面指定的Server是誰,就只會允許誰通過。如果有多個ip可以使用逗號進行分割

 

添加item

2.png-97.6kB
找到一個安裝zabbix-agent,點擊 
3.png-80.8kB
點擊items 
1.png-68.9kB
然後添加Create item(創建item) 
1.png-38.4kB
2.png-4.3kB
Data type:數據類型,這裡我們選擇Decimal。其他的基本上用不上 
Units:單位 超過1千就寫成1k了。 可以在這裡做一個單位的設置。預設就可以 
Use custom multiplier:如果這裡面設置了一個數,得出來的結果都需要乘以文本框設定的值 
1.png-17.2kB
Update interval(in sec) 監控項刷新時間間隔(一般不要低於60秒) 
Custom intervals 創建時間間隔(例如:1點-7點每隔多少秒進行監控)格式大致為:周,時,分 
2.png-21.7kB
History storage period 歷史數據存儲時間(根據業務來設置,預設就可以) 
Trend storage period 趨勢圖要保存多久 
New application 監控項的組 
application 選擇一個監控項組 
Populates host inventory field 資產,可以設定一個監控項。把獲取的值設置在資產上面 
1.png-22.1kB
描述!必須要寫。 要不你就是不負責任 
2.png-6.4kB
添加自定義監控項小結: 
   1、添加用戶自定義參數(在/etc/zabbix/zabbix.agent.d/定義了一個nginx.conf步驟如上) 
   2、重啟zabbix-agent 
   3、在Server端使用zabbix_get測試獲取(命令如上) 
   4、在web界面創建item(監控項) 
   

 

自定義圖形

3.png-110.3kB
Name:名字 
Width:寬度 
Height:高度 
Graph type:圖形類型 
其他預設即可 
1.png-45.3kB
然後我們點擊Add添加Items監控項,找到我們剛剛設置的伺服器 
2.png-145.4kB
然後找到我們剛剛添加的監控項 
3.png-11.2kB
還可以選擇顏色,添加其他的很多設置。不細說 
4.png-36.5kB
  點擊Prewview可以進行預覽,如果出現字元亂碼可以閱讀我們另一篇文章(zabbix預設不支持中文) 
  確定沒有問題,選擇下方Add即可 
5.png-92.3kB
出現我們添加的 
image_1at7vvch71hlq19i09hc1754tr6gp.png-75.2kB
需要在Monitoring--->Graphs--->選擇我們添加的主機即可 
接下來我們需要進行測試 
測試前: 
6.png-13kB
使用ab測試工具進行測試,設置100萬併發進行訪問

 
  1. [root@linux-node1 ~]# ab -c 1000 -n 1000000 http://192.168.56.11:8080/
  2. This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
  3. Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Licensed to The Apache Software Foundation, http://www.apache.org/
  5. Benchmarking 192.168.56.11 (be patient)

測試後: 
1.png-14.5kB
我們可以查看zabbix監控圖標 
2.png-69.9kB
我們中間設置了間隔60秒,說明每隔60秒我們進行獲取一次 
  我們可以設置它的方式顯示 
找到Graph選擇類型,Stacked是堆疊顯示,其他的大家可以自行百度。不細說 
  堆疊顯示如下: 
3.png-58.8kB
如果我們想加多個圖形都顯示在一張圖上,可以進行如下操作 
4.png-57.1kB
找到Graphs 
5.png-89.8kB
找到我們設置的圖形 
1.png-64.4kB
點擊添加即可

我們可以讓多個圖標顯示在一個圖片上 
2.png-41.9kB
點擊我們創建一個聚合圖形(screens 
1.png-45.5kB
點擊進去 
2.png-40.5kB
點擊編輯 
1.png-28.3kB
選擇item添加的地方,因為上面創建聚合圖形的時候我們選擇了2X2 所以這裡會顯示2個 
2.png-53.8kB
找到相對應的添加即可 
我們可以多添加幾個 
3.png-60.3kB
結果如上圖顯示 
除了顯示圖片還可以顯示其他內容 
4.png-24.4kB

Action log:日誌
Clock:時間
Data overview:數據概述
Graph:圖形
History of events:歷史事件
Host group issues:主機組問題
Host issues:主機問題
Hosts info:主機信息
Plain text:文本
Map:架構圖
Screen:屏幕
Server info:伺服器信息
Simple graph:簡單的圖
Simple graph prototype:簡單的原型圖
System status:系統狀態
Triggers info:觸發器信息
Tiggers overview:概述
URL:URL地址
 

例如我們輸入一個URL:

1.png-24.4kB
2.png-54.9kB
我們還可以自定義一個Maps,一張架構圖。操作如下: 
3.png-45.4kB
第二步:選擇編輯Edit map 
4.png-45.8kB
因為他預設圖片比較小,我們可以點擊下方,進行調整圖片大小。 
5.png-41.4kB
點擊右上角編輯,然後我們點中圖中的伺服器即可 
6.png-53.4kB
我們模擬有2台伺服器 
7.png-47.6kB
然後我們選中新添加的伺服器進行修改 
8.png-68.4kB
點擊Apply就可以了。 
按住Ctrl點中zabbix server和另台伺服器 
9.png-63.9kB
然後我們點擊左上方的Link:他們就連接起來了 
1.png-77.6kB
溫馨提示:修改完成後需要點擊保存[update]如果不點後果就是從新在做一遍~ 
2.png-49.7kB

未完! 


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

-Advertisement-
Play Games
更多相關文章
  • 背景: 在面對生產環境的數據的異常問題診斷的時候,比如接到異常告警郵件,通常是CPU居高不下、長時間連續大批量發生物理IO(導致系統響應緩慢)、亦或是大量Session被阻塞或者大量session執行超出預期等等類似情況,筆者習慣性地利用sys.dm_exec_requests 和 sys.dm_e ...
  • 第1章 GitLab管理 1.1 版本控制系統 版本控制系統(version control system)是記錄一個或若幹文件內容變化,以便將來查閱特定版本修訂情況的系統。版本控制系統不僅可以應用於軟體源代碼的文本文件,而且可以對任何類型的文件進行版本控制,廣泛應用的如svn,git等 1.2 常 ...
  • 函數的調用 如果函數在主函數之後詳寫,函數在主函數之間必須加聲明。 實參:就是調用函數時,括弧裡面的參數 形參:被調用函數時定義的函數,括弧裡面的參數叫形參。 按鍵消抖 按鍵按下會有抖動,需要延時10ms #include<reg52.h> sbit ADDR0 = P1^0;sbit ADDR1 ...
  • swap空間有兩種形式:一是交換分區,二是交換文件。總之對它的讀寫都是磁碟操作。 linux記憶體通過 virtual memory 虛擬記憶體來管理整個記憶體, 虛擬記憶體管理著物理記憶體,也管理著swap交換空間。 Swap分區,即交換區,Swap空間的作用可簡單描述為:當系統的物理記憶體不夠用的時候,就需 ...
  • 前提條件: 伺服器要開啟寫入許可權; 本地和伺服器都要安裝有 scp 包; 如何傳輸: 1. 從伺服器上下載文件; scp username@servername:遠程目錄/文件名 本地目錄 例:scp [email protected]:/var/www/test.txt /var/www/lo ...
  • 1.1 什麼是Mybatis MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名為MyBatis 。iBATIS一詞來源於“internet”和“abatis”的組合,是一個 ...
  • 上一篇簡單的介紹了怎麼搭建Zabbix監控服務端,接下來給大家介紹怎麼在windows和Centos7上安裝zabbix_agent客戶端。 Zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。 Zabbix由2部分構成,zabbix server(監控端)與 ...
  • 結論:win記事本使用的格式有別於linux,二者不可混用。linux使用一個叫vi的編輯器。 解決辦法:使用vi命令建立文件,在其中敲shell。命令:vi > filename (敲完用ctrl +c 就可以保存) 。 驗證命令:sh filename 具體分析(你可以忽略): win是micr ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...