zabbix監控nginx鏈接狀態(轉)

zabbix監控nginxhtml

zabbix能夠監控nginx的狀態,關於一個服務的狀態能夠查看服務自己的狀態(版本號、是否開啓),還應該關注服務能力(例如以nginx的負載效果:鏈接數請求數句柄數)。下面咱們使用zabbix監控nginx。nginx


nginx的安裝

若是想要查看nginx的服務狀態,在對nginx進行源碼安裝的時候要選中–with-http_stub_status_module模塊。web

1.解壓安裝包bash

[root@server5 mnt]# tar xvf nginx-1.6.2.tar.gzcurl

2.在安裝目錄下進行模塊配置: 
這裏寫圖片描述測試

3.安裝配置的選項: 
這裏寫圖片描述url


手動採集nginx數據

安裝結束後,在nginx的安裝目錄(默認是/usr/local/nginx)下咱們須要對nginx的主配置文件進行修改,若是nginx可以支持狀態信息的顯示能夠在nginx的版本中進行查看:server

1.查看模塊是否安裝成功: 
這裏寫圖片描述htm

能夠看到已經擁有了–with-http_stub_status_module模塊。blog

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}"esac1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

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的監控。

本文出自 「Null」 博客,請務必保留此出處http://kongshuai.blog.51cto.com/10178307/1737193

http://www.07net01.com/2016/01/1171292.html

相關文章
相關標籤/搜索