日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

promehteus 监控超时_05 . Prometheus监控Nginx

發布時間:2023/12/15 Nginx 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 promehteus 监控超时_05 . Prometheus监控Nginx 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

List

CentOS7.3

prometheus-2.2.1.linux-amd64.tar.gz

nginx-module-vts

節點名

IP

軟件版本

硬件

網絡

說明

Prometheus

192.168.0.106

list 里面都有

2C4G

Nat,內網

測試環境

Nginx

192.168.0.107

list 里面都有

2C4G

Nat,內網

測試環境

部署Prometheus

部署Promehteus請看我前面寫的文章

部署Nginx

三個模塊

nginx-module-vts:Nginx virtual host traffic status module,

# Nginx的監控模塊,能夠提供JSON格式的數據產出。

nginx-vts-exporter:Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。

# 主要用于收集Nginx的監控數據,并給Prometheus提供監控接口,默認端口號9913。

Prometheus:

# 監控Nginx-vts-exporter提供的Nginx數據,并存儲在時序數據庫中,可以使用PromQL對時序數據進行查詢和聚合。

Nginx-module-vts模塊編譯

# nginx_vts_exporter依賴nginx-module-vts模塊,安裝此模塊無需任何其他依賴。模塊與Nginx的版本兼容性如下:

1.11.x (last tested: 1.11.10)

1.10.x (last tested: 1.10.3)

1.8.x (last tested: 1.8.0)

1.6.x (last tested: 1.6.3)

1.4.x (last tested: 1.4.7)

部署nginx-module-vts

# 下載編譯模塊

git clone git://github.com/vozlt/nginx-module-vts.git

# 編譯配置

--add-module=/path/to/nginx-module-vts

# 下載官方的軟件包并編譯進vts模塊,例如:

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_sysguard_module --add-module=nginx-module-vts

# 安裝Nginx

#!/usr/bin/env bash

version="nginx-1.14.2.tar.gz"

user="nginx"

nginx=${version%.tar*}

path=/usr/local/src/$nginx

echo $path

if ! ping -c2 www.baidu.com &>/dev/null

then

echo "網絡不通,無法安裝"

exit

fi

yum install -y gcc gcc-c++ openssl-devel pcre-devel make zlib-devel wget psmisc

if [ ! -e $version ];then

wget http://nginx.org/download/$version

fi

if ! id $user &>/dev/null

then

useradd $user -M -s /sbin/nologin

fi

if [ ! -d /var/tmp/nginx ];then

mkdir -p /var/tmp/nginx/{client,proxy,fastcgi,uwsgi,scgi}

fi

tar xf $version -C /usr/local/src

cd $path

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --add-module=/usr/local/src/nginx-1.14.0/nginx-module-vts/ && make && make install

配置nginx.conf

http {

vhost_traffic_status_zone;

vhost_traffic_status_filter_by_host on;

server {

location /status {

vhost_traffic_status_display;

vhost_traffic_status_display_format html;

}

}

}

配置建議

1 . 打開vhost過濾:

vhost_traffic_status_filter_by_host on;

開啟此功能,在Nginx配置有多個server_name的情況下,會根據不同的server_name進行流量的統計,否則默認會把流量全部計算到第一個server_name上

2 . 在不想統計流量的server區域禁用vhost_traffic_status,配置示例:

server {

...

vhost_traffic_status off;

...

}

假如nginx沒有規范配置server_name或者無需進行監控的server上,那么建議在此vhost上禁用統計監控功能。否則會出現“127.0.0.1”,hostname等的域名監控信息。

查看監控數據

安裝完vts模塊后,可以通過nginx status接口進行監控數據的查看,比如:http://127.0.0.1/status:

配置Nginx-vts-exporter

exporter會收集nginx性能指標的JSON格式數據,并匯總后暴露監控接口給Prometheus。

它的安裝使用很簡單,開箱即用

下載軟件包

wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz

配置運行

tar xvf nginx-vts-exporter-0.9.1.linux-amd64.tar.gz

nginx-vts-exporter-0.9.1.linux-amd64/nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://127.0.0.1/status/format/json

# 推薦exporter和nginx安裝在同一臺機器上,如果不在同一臺主機,把scrape_uri改為nginx主機的地址。

# nginx_vts_exporter的默認端口號:9913,對外暴露監控接口http://xxx:9913/metrics.

# 我們可以訪問瀏覽器 IP:9913

將node exporter配置到prometheus里

# 配置Prometheus,收集node exporter的數據

# 可以看到node exporter啟動后也就是暴露了9100端口,并沒有把數據傳到prometheus,

# 我們還需要在prometheus中配置,讓prometheus去pull這個接口的數據。

# 我們去監控主機編輯prometheus.yml文件,修改最后幾行,然后重啟服務

vim /usr/local/prometheus/prometheus.yml

scrape_configs:

- job_name: 'prometheus'

static_configs:

- targets: ['localhost:9090']

- job_name: 'nginx'

static_configs:

- targets: ['192.168.0.107:9913']

# node節點的targets處的IP填寫你要監控的node的IP.

systemctl restart prometheus

# 我們登錄到Prometheus主機,看下這個節點是不是up狀態

Grafana安裝

此處我們拿prometheus做例子,雖然說prometheus能展示一些圖表,但對比Grafana,那只是過家家,接下來我們在同一個服務器安裝Grafana服務,用來展示prometheus收集到的數據

下載并解壓安裝包

wget https://dl.grafana.com/oss/release/grafana-6.4.2.linux-amd64.tar.gz

tar xvf grafana-6.4.2.linux-amd64.tar.gz -C /usr/local/

ln -s /usr/local/grafana-6.4.2/ /usr/local/grafana

創建grafana用戶及數據存放目錄

useradd -s /sbin/nologin -M grafana

mkdir /data/grafana

mkdir /data/grafana/plugins

mkdir /data/grafana/provisioning

mkdir /data/grafana/data

mkdir /data/grafana/log

chown -R grafana:grafana /usr/local/grafana/

chown -R grafana:grafana /data/grafana/

修改配置文件

vim /usr/local/grafana/conf/defaults.ini

data = /data/grafana/data

logs = /data/grafana/log

plugins = /data/grafana/plugins

provisioning = /data/grafana/conf/provisioning

把grafana-server添加到systemd中

vim /usr/lib/systemd/system/grafana-server.service

[Unit]

Description=Grafana

After=network.target

[Service]

User=grafana

Group=grafana

Type=notify

ExecStart=/usr/local/grafana/bin/grafana-server -homepath /usr/local/grafana

Restart=on-failure

[Install]

WantedBy=multi-user.target

systemctl start grafana-server && systemctl enable graana-server

啟動服務,并用web訪問http://IP:3000,默認3000端口,admin/admin

添加數據源

# grafana雖然已經安裝好了,但是這個時候還沒有數據,沒辦法作圖。

# 下面我們把grafana和prometheus關聯起來,也就是在grafana中添加添加數據源。

# 在配置頁面點擊添加數據源,然后選擇prometheus,輸入prometheus服務的參數即可。

添加nginx模板

總結

以上是生活随笔為你收集整理的promehteus 监控超时_05 . Prometheus监控Nginx的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。