1. 程式人生 > >7.zabbix學習筆記:zabbix監控nginx

7.zabbix學習筆記:zabbix監控nginx

zabbix監控nginx

zabbix可以監控nginx的狀態,關於一個服務的狀態可以檢視服務本身的狀態(版本號、是否開啟),還應該關注服務能力(例如以nginx的負載效果:連線數請求數控制代碼數)。下面我們使用zabbix監控nginx。

nginx的安裝

如果想要檢視nginx的服務狀態,在對nginx進行原始碼安裝的時候要選中–with-http_stub_status_module模組。

1.解壓安裝包

[[email protected] mnt]# tar xvf nginx-1.6.2.tar.gz

2.在安裝目錄下進行模組配置
這裡寫圖片描述

3.安裝配置的選項


這裡寫圖片描述

手動採集nginx資料

安裝結束後,在nginx的安裝目錄(預設是/usr/local/nginx)下我們需要對nginx的主配置檔案進行修改,如果nginx能夠支援狀態資訊的顯示可以在nginx的版本中進行檢視:

1.檢視模組是否安裝成功:
這裡寫圖片描述

可以看到已經擁有了–with-http_stub_status_module模組。

2.修改配置檔案/usr/loca/nginx/conf/nginx.conf,在http部分新增指定的server服務:
這裡寫圖片描述

注意:配置只允許192.168.1.0/24網段的人檢視nginx的狀態,其他網段的人不可以檢視。

3.修改完成後啟動nginx服務,為了方便期間,可以把/usr/local/nginx/sbin/nginx

檔案建立軟連結到/usr/bin/目錄下:
這裡寫圖片描述

4.開啟nginx服務:
這裡寫圖片描述

5.使用命令採集nginx的狀態資訊:
這裡寫圖片描述

6.上述的資訊是包括讀、寫等待以及連線數、請求數等內容,我們需要編寫指令碼資訊進行單獨採集。指令碼內容如下所示:

#get_nginx_status.sh
#nginx資訊採集指令碼

#!/bin/bash

#設定初始化資訊
NGINX_SERVER="192.168.1.108"
NGINX_URL="http://${NGINX_SERVER}/status"

#設定採集資訊的方式
function get_active {
    curl -s ${NGINX_URL}
| grep "Active" | awk -F ":" '{print $2}' } function get_reading { curl -s ${NGINX_URL} | grep "Reading" | awk -F ":" '{print $2}' | awk -F " " '{print $1}' } function get_writing { curl -s ${NGINX_URL} | grep "Writing" | awk -F ":" '{print $3}' | awk -F " " '{print $1}' } function get_waiting { curl -s ${NGINX_URL} | grep "Waiting" | awk -F ":" '{print $4}' | awk -F " " '{print $1}' } function get_accepts { curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $1}' } function get_handled { curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $2}' } function get_requests { curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $3}' } #獲取使用者的輸入引數得到對應的值 case $1 in active) get_active ;; reading) get_reading ;; writing) get_writing ;; waiting) get_waiting ;; accepts) get_accepts ;; handled) get_handled ;; requests) get_requests ;; *) echo "Usage: $0 {active | reading | writing | waiting | accepts | handled | requests}" esac

7.完成指令碼並且進行測試後,需要修改/etc/zabbix/zabbix-agentd.conf檔案新增對應的UserParameter:

這裡寫圖片描述

8.在客戶端重新啟動zabbix-agent服務:
這裡寫圖片描述

9.在服務端使用zabbix_get命令進行測試,檢視是否能夠順利的獲取資料,如果次操作可以執行,說明採集狀態正常:
這裡寫圖片描述

我們這裡隨機對四個資料盡心了測試發現是正常的。

新增到zabbix的監控項items

如果資料的採集都沒有問題,那麼就可以在web控制檯進行items的新增。
這裡寫圖片描述

我們以nginx.active為例,其他的類似操作:
這裡寫圖片描述

可以看到所需要的items都已經生成完成,而且這些items都是屬於nginx這個應用的:
這裡寫圖片描述

生成graphs

我們可以對於nginx的服務狀態進行視覺化操作(生成對應的graphs):
這裡寫圖片描述

建立screen進行多個graphs的顯示:
這裡寫圖片描述

建立agent1.example.com節點的nginx condition狀態的screens完成:
這裡寫圖片描述

可以看到nginx的accpets、requests、handled狀態:
這裡寫圖片描述

小結:

使用zabbix對於服務的監控步驟都很類似:
1.首先要手動的獲取服務的狀態;
2.然後編寫指令碼自動獲取,然後寫入agent的/etc/zabbix/zabbix-agentd.conf檔案
3.在監控服務端zabbix-server進行相關的採集測試,如果能夠成功則在web介面進行items和graphs的監控。

*有興趣我們可以對於其他服務再做監控,敬請期待!

相關推薦

7.zabbix學習筆記zabbix監控nginx

zabbix監控nginx zabbix可以監控nginx的狀態,關於一個服務的狀態可以檢視服務本身的狀態(版本號、是否開啟),還應該關注服務能力(例如以nginx的負載效果:連線數、請求數和控制代碼數)。下面我們使用zabbix監控nginx。

11.zabbix學習筆記zabbix監控oracle

zabbix監控oracle 可監控項 使用zabbix監控oracle資料庫需要藉助第三方的外掛,目前使用較多的是orabbix。目前維護到了1.2.3版本。關於oracle自帶的監控專案有以下幾個: DB Version (i.e.

12.zabbix學習筆記zabbix監控之郵件報警

zabbix監控之郵件報警 在zabbix的使用中,最重要的一點就是完善的報警機制,作為監控平臺,需要時刻關注機器和服務的執行狀態,更重要的是發現故障之後需要及時的報警給相關人員,早點發現問題,將隱患消除在未然階段。這樣才能保證服務的穩定執行。 報警的方

1.zabbix學習筆記zabbix的安裝

zabbix的安裝 為什麼需要監控 隨著網際網路公司業務不斷增長,硬體規模不斷擴大,作為SA我們需要清楚每一臺伺服器的狀態(溫度、CPU使用率、記憶體使用率、磁碟使用率等),如果使用人為的方式將會極大增加工作量而且難免會有所疏露,所以我們需要更加自動

7. Laravel5學習筆記如何定義自己的檢視元件

檢視元件 檢視元件就是在檢視被渲染前,會呼叫的閉包或類方法。如果你想在每次渲染某些檢視時繫結資料,檢視元件可以把這樣的程式邏輯組織在同一個地方。 對上面的話,理解如下: 這個php程式碼執行的時間是在渲染檢視之前 使用這個元件應該用於每次渲染時,都要

python學習筆記7天 深淺拷貝

我們 spl 交集 再次 ipy section 結束 技術分享 dict 目錄 1. 基礎數據類型補充 2. set集合 3. 深淺拷貝 1. 基礎數據類型補充 (1)join方法 join方法是把一個列表中的數據進行拼接,拼接成字符串(與split方法相反,spli

學習筆記【Web 叢集實戰】05_CentOS 7.x 系統安裝後的基本配置及調優_楊利婷

一、基本配置 網路配置 網路配置常用的兩種方式為橋接和 NAT 模式。本文采用的是 NAT 模式連線網路。 瞭解更多網路型別可參照【Web 叢集實戰】01_VMware 虛擬機器常見的網路型別 1)首先,在宿主機 Windows 的計算機管理 - 服

學習筆記WinEdt 7.0(Latex)在pdf中顯示中文

在.tex檔案中的\documentclass[12pt]{article}這行程式碼下 呼叫\usepackage{ctex} 這個包,這個包是內建的,不需要下載其他字型包。 \documentclass[12pt]{article} \usepackage{ctex}

ElasticSearch 6.x 學習筆記7.文件

7.1 新建文件 index/type/id1 (1)一般格式 PUT blog/csdn/1 { "id":1, "title":"Elastic

Tensorflow學習筆記基礎篇(7)——Mnist手寫集改進版(Tensorboard視覺化)

Tensorflow學習筆記:基礎篇(7)——Mnist手寫集改進版(Tensorboard視覺化介面) 前序 — 前文中,我們在三層全連線神經網路中使用了學習率隨迭代次數增加而逐漸衰減的AdamOptimizer優化器來完成MNIST資料的分類問題,最

zabbix學習筆記(2)

接收 自動註冊 ip地址 pop ron 2.3 -s 監控系統 自動 設置監控報警系統,實現實時報警機制1 報警機制介紹運維終極目標:實現業務的持續穩定與高效。實現方式:對業務中出現的問題及時處理。問題獲得:監控系統實時監控,發現問題後出發報警。報警方式:監控軟件根據監控

zabbix學習筆記(3)

建圖 操作 觸發器 web 判斷 用戶 進行 場景 訪問 web站點監控1 web監控介紹1.1 什麽是web檢測?web場景是用來監控web程序的,可以監控到web程序的下載速度、返回碼以及響應時間,還支持把一組連續的web動作作為整體進行監控。1.2 web檢測原理即對

【計算機網路·第7版-學習筆記】第02章物理層

本文下載連結: [學習筆記]第02章_物理層-列印版.pdf 本章最重要的內容是: (1)物理層的任務。 (2)幾種常用的通道複用技術。 (3)幾種常用的寬頻接入技術,主要是ADSL和FTTx。 一、物理層的基本概念 1、物理層簡介 (1)物理層在連線各種計算機的傳輸媒體上傳輸資料位元流,而不是指具體的傳輸媒

Linux學習筆記存儲管理

linux 磁盤管理 Linux系統中所有的硬件設備都是通過文件的方式來表現和使用的,我們將這些文件稱為設備文件,在Linux下的/dev目錄中有大量的設備文件,根據設備文件的不同,又分為字符設備文件和塊設備文件。字符設備文件的存取是以字符流的方式來進行的,一次傳送一個字符。常見的有打印

學習筆記javascript內置對象數組對象

b- sort splice 刪除 分隔 href 結果 join() strong 1.數組對象的創建 1.設置一個長度為0的數組 var myarr=new array(); 2.設置一個長度為n的數組 var myarr=new arr(n); 3.聲明一個

學習筆記javascript內置對象日期對象

etsec sel mil cond ava com 描述 學習筆記 asp 2.日期對象的常用函數 2.日期對象的常用函數 Date 對象方法 方法描述 Date() 返回當日的日期和時間。 getDate() 從 Date 對象返回一個月

Linux學習筆記btrfs

可擴展性 linux btrfs Technical Preview, 技術預覽版 BtrFS(B-tree文件系統,又稱為Butter FS或Better FS),2007由oracle開源後,得到了IBM、intel等廠商的大力支持,其目標計劃是替代linux目前的ext3/4,成為下

Linux學習筆記rpm程序包管理

源代碼 rpm 程序包 以CentOS為例,rpm程序包管理器的相關內容如下:CentOS的程序包管理器: 程序包的命名規則: 源代碼包: software_name-VERSION.tar.gz VERSION:major.mino

kafka學習筆記知識點整理

一個 eight true med 分組 pos 間接 fig ges 一、為什麽需要消息系統 1.解耦:  允許你獨立的擴展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。 2.冗余:   消息隊列把數據進行持久化直到它們已經被完全處理,通過這一方式規避了數據

Emacs學習筆記移動

size exp http spc ssi 參考 put kill ati 參考網址:https://www.emacswiki.org/emacs/NavigatingParentheses Navigating over balanced expressions C