Nginx Reqstat 模組監控

2021-10-07 22:45:43 字數 3642 閱讀 4975

nginx reqstat 模組監控

部署步驟

建立nginx使用者 useradd nginx

1編譯安裝nginx

3新增模組 -add-module=/usr/local/ngx_req_status-master

4cp /usr/local/nginx/obj/nginx /usr/local/ngix/sbin

5啟動nginx /usr/local/ngix/sbin/nginx

效能 主要監控 連線數、請求數、各種響應碼範圍的請求數、輸入輸出流量、rt、upstream訪問等。

stub status 引數說明

名稱描述

是否累加歷史記錄

accepts(接受)

nginx接受客戶端連線數(包括handled,dropped+waiting)

是handled(已處理數)

成功處理客戶端的連線數(包括waiting狀態連線)

是active(活躍)

當前活躍的客戶連線數

否dropped(已丟棄)

已丟棄連線數(出錯)

是requests(請求數)

客戶端請求數

是waiting(等待)

正在等待的連線數

否reading(讀)

正在執行讀操作連線數

否writing(寫)

正在執行寫操作的鏈結數

否active connections:2 #當前nginx處理請求的數目(活躍的連線數)

server accepts handled requests

26 26 48

nginx總共處理了26個連線,成功建立26次握手,也就是成功的連線數connection. 總共處理了48個請求

失敗連線=(總連線數-成功連線數)(相等表示中間沒有失敗的),

reqstat 模組監控

描述

安裝模組:記得建立nginx使用者 useradd nginx

[root@nginx-server ~]

# wget -o ngx_req_status.zip

[root@nginx-server ~]

# unzip ngx_req_status.zip

[root@nginx-server ~]

# cp -r ngx_req_status-master/ /usr/local/ #與解壓的nginx在同一級目錄下

[root@nginx-server ~]

# cd /usr/local/nginx-1.16.0/

[root@nginx-server nginx-1.16.0]

# yum -y install pcre pcre-devel openssl openssl-devel gcc gcc-c++ zlib zlib-devel

[root@nginx-server nginx-1.16.0]

# yum -y install patch.x86_64

[root@nginx-server nginx-1.16.0]

# patch -p1 < ../ngx_req_status-master/write_filter-1.7.11.patch

[root@localhost nginx-1.16.0]

# ./configure 新增上原來的引數 --add-module=/usr/local/ngx_req_status-master

[root@localhost nginx-1.16.0]

# make

由於原先已有nginx,所以不能執行make install,否則會覆蓋掉以前的配置檔案及內容

[root@localhost nginx-1.16.0]

# mv /usr/sbin/nginx /usr/sbin/nginx_bak

[root@localhost nginx-1.16.0]

# cp objs/nginx /usr/sbin/

[root@localhost nginx-1.16.0]

# systemctl restart nginx

[root@localhost nginx-1.16.0]

# nginx -v

reqstat監控配置

[root@localhost ~]

# vim /etc/nginx/nginx.conf

req_status_zone server_name $server_name 256k;

(開啟的req監控)

req_status_zone server_addr $server_addr 256k;

req_status_zone server_url $server_name

$uri 256k;

req_status server_name server_addr server_url;

server

}指令介紹

req_status_zone

語法: req_status_zone name string size

預設值: none

配置塊: http

定義請求狀態zone,請求按照string分組來排列,例如:

req_status_zone server_url $server_name

$uri 256k;

網域名稱+uri將會形成一條資料,可以看到所有url的頻寬,流量,訪問數

req_status

語法: req_status zone1[ zone2]

預設值: none

配置塊: http, server, location

在location中啟用請求狀態,你可以指定更多zones。

req_status_show

語法: req_status_show on

預設值: none

配置塊: location

在當前位置啟用請求狀態處理程式

192.168.187.164/req-status

zone_name	key	max_active	max_bw	traffic	requests	active	bandwidth

server_addr 192.168.187.164 2 432 17k 18 1 0

server_name 192.168.187.164 2 432 17k 18 1 0

server_url 192.168.187.164/ 1 0 0 8 0 0

server_url 192.168.187.164/index.html 1 0 11k 8 0 0

server_url 192.168.187.164/req-status 1 0 0 1 1 0

server_url 192.168.187.164/req_status 1 0 5680 1 0 0

請求狀態資訊包括以下字段:

HystirixDashboard服務監控

一 建pom org.springframework.cloud groupid spring cloud starter netflix hystrix dashboard artifactid dependency org.springframework.boot groupid spring ...

sysdig linux sysdig系統監控神器

sysdig介紹 當需要追蹤某個程序產生和接收的系統呼叫時,你可能會想到strace。你會使用什麼樣的命令列工具來監控原始網路通訊呢?如果你想到了tcpdump。而如果你碰到必須追蹤開啟的檔案的需求,可能你會使用lsof。strace tcpdump和lsof確實是必備的工具,而這也正是你為什麼應該...

grafana prometheus搭建監控系統

1.簡介 本文是基於linux centos7搭建 關於grafana的安裝,網上有很多 在 etc yum.repos.d grafana.repo配置原始檔 如果熟悉docker的同學,那就很方便了,完全不用這麼麻煩了 安裝其實很簡單 安裝完成後 systemctl start grafana ...