<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
監控Nginx主要用到以下三個模組:
1、nginx-module-vts:Nginx virtual host traffic status module,Nginx的監控模組,能夠提供JSON格式的資料產出。
2、nginx-vts-exporter:Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用於收集Nginx的監控資料,並給Prometheus提供監控介面,預設埠號9913。
3、Prometheus:監控Nginx-vts-exporter提供的Nginx資料,並儲存在時序資料庫中,可以使用PromQL對時序資料進行查詢和聚合。
unzip nginx-module-vts-master.zip 解壓
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
make && make install
優化管理
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
檢查開啟的模組
nginx -v 檢查 nginx版本 nginx -V
watch -n 1 nginx 觀察nginx狀態
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
進去後再http{ } 中新增如下內容
vhost_traffic_status_zone; #流量狀態監控 log_format main '{ "@timestamp": "$time_local", ' '"@fields": { ' '"uri":"$request_uri",' '"url":"$uri",' '"upstream_addr":"$upstream_addr",' '"remote_addr": "$remote_addr", ' '"remote_user": "$remote_user", ' '"body_bytes_sent": "$body_bytes_sent", ' '"host":"$host",' '"server_addr":"$server_addr",' '"request_time": "$request_time", ' '"request_time":"$request_time",' '"status":"$status",' '"request": "$request", ' '"request_method": "$request_method", ' '"size":$body_bytes_sent,' '"upstream_time":"$upstream_response_time"' '"http_referrer": "$http_referer", ' '"body_bytes_sent":"$body_bytes_sent", ' '"http_x_forwarded_for": "$http_x_forwarded_for", ' '"http_user_agent": "$http_user_agent" } }';
在server中80埠新增
location /status {<!--{C}%3C!%2D%2D%20%2D%2D%3E--> vhost_traffic_status_display; vhost_traffic_status_display_format html; }
在虛擬機器器中測試 192.168.100.10/status
監控列表各項資訊
Server main 主伺服器
**Host:**主機名
**Version:**版本號
**Uptime:**伺服器執行時間
Connections active:當前使用者端的連線數 reading:讀取使用者端連線的總數 writing:寫入使用者端連線的總數
Requsts accepted:接收使用者端的連線總數 handled:已處理使用者端的連線總數 Total:請求總數 Req/s:每秒請求的數量
Shared memory:共用記憶體 name:設定中指定的共用記憶體名稱 maxSize:設定中指定的共用記憶體的最大限制 usedSize:共用記憶體的當前大小 usedNode:共用記憶體中當前使用的節點數
Server zones 伺服器區域
zone:當前區域
Requests Total:請求總數 Req/s:每秒請求數 time:時間
Responses:狀態碼數量 1xx、2xx、3xx、4xx、5xx:表示響應不同狀態碼數量 Total:響應狀態碼的總數
Traffic表示流量 Sent:傳送的流量 Rcvd:接收的流量 Sent/s:每秒傳送的流量 Rcvd/s:每秒接收的流量
Cache表示快取 Miss:未命中的快取數 Bypass:避開的快取數 Expirde:過期的快取數 Stale:生效的快取數 Updating:快取更新的次數 Revalidated:重新驗證的快取書 Hit:快取命中數 Scarce:未達快取要求的請求次數Total:總數
#!/bin/bash echo "提前準備好安裝包如:nginx-1.15.9.tar.gz nginx-module-vts-master.zip" ##關閉防火牆及核心防護 systemctl stop firewalld systemctl disable firewalld setenforce 0 #刪除原有的nginx rm -rf /var/run/yum.pid ##安裝依賴包 yum -y install gcc gcc-c++ pcre-devel zlib-devel make pcre zlib openssl openssl-devel #解包 tar zxvf nginx-1.15.9.tar.gz unzip nginx-module-vts-master.zip #建立執行使用者、組 useradd -M -s /sbin/nologin nginx ##編譯 cd /opt/nginx-1.15.9/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --add-module=/usr/local/nginx-module-vts-master/ #vts模組 #--with-http_stub_status_module 統計模組 #安裝 make && make install #優化路徑 ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ #檢視nginx安裝資訊 nginx -V #把nginx的加入到systemctl管理中 cat<<EOF >/usr/lib/systemd/system/nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking PIDFile =/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecrReload=/bin/kill -s HUP $MAINPID ExecrStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF #給許可權 chmod 754 /lib/systemd/system/nginx.service #備份nginx組態檔 cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak #修改nginx的組態檔 sed -i "21i vhost_traffic_status_zone; #流量狀態監控" /usr/local/nginx/conf/nginx.conf sed -i "/#log_format main/i log_format main '{ "@timestamp": "$time_local", ' '"@fields": { ' '"uri":"$request_uri",' '"url":"$uri",' '"upstream_addr":"$upstream_addr",' '"remote_addr": "$remote_addr", ' '"remote_user": "$remote_user", ' '"body_bytes_sent": "$body_bytes_sent", ' '"host":"$host",' '"server_addr":"$server_addr",' '"request_time": "$request_time", ' '"request_time":"$request_time",' '"status":"$status",' '"request": "$request", ' '"request_method": "$request_method", ' '"size":$body_bytes_sent,' '"upstream_time":"$upstream_response_time"' '"http_referrer": "$http_referer", ' '"body_bytes_sent":"$body_bytes_sent", ' '"http_x_forwarded_for": "$http_x_forwarded_for", ' '"http_user_agent": "$http_user_agent" } }';" /usr/local/nginx/conf/nginx.conf sed -i "/server_name localhost;/a location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; }" /usr/local/nginx/conf/nginx.conf #重啟nginx systemctl restart nginx &> /dev/null #測試 本機ip/status
到此這篇關於Nginx監控模組(vts模組)的文章就介紹到這了,更多相關Nginx監控模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45