IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nginx-vts监控模块 -> 正文阅读

[系统运维]nginx-vts监控模块


一、Nginx 监控模块简介

监控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对时序数据进行查询和聚合。

二、Nginx 监控模块安装

1.关闭防火墙与核心防护

systemctl stop firewalld.service
setenforce 0

在这里插入图片描述

2.上传nginx-module-vst-master软件包到/opt目录下并解压

上传nginx-1.15.9.tar.gz软件包到/opt目录下并解压
将解压后的vst目录移动到/usr/local/

tar zxvf nginx-1.15.9.tar.gz 

unzip nginx-module-vts-master.zip

mv nginx-module-vts-master /usr/local/ 

在这里插入图片描述

3.安装Nginx依赖环境

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

在这里插入图片描述

4.创建运行用户

useradd -M -s /sbin/nologon nginx

在这里插入图片描述

5.编译安装nginx

cd nginx-1.15.9

 ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --add-module=/usr/local/nginx-module-vts-master/

make && make install

注:–add-module后面加全路径名
在这里插入图片描述
在这里插入图片描述

6.优化管理

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
或cp -a  /usr/local/nginx/sbin/nginx /usr/local/sbin
ls -l /usr/local/sbin/nginx         查看软连接

写入脚本最好使用cp
让系统识别nginx的操作命令
以便管理员
直接执行“nginx”命令就可以调用 Nginx 的主程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.添加nginx系统服务

vim /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
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service

在这里插入图片描述
在这里插入图片描述

8.检查开启的模块

nginx -V

nginx -t

在这里插入图片描述
在这里插入图片描述

9.修改配置文件

主要是修改默认日志文件格式,添加压缩配置,添加监控配置,具体可根据自己的需求修改

cd /usr/local/nginx/conf/

vim nginx.conf

vhost_traffic_status_zone;

在这里插入图片描述
在这里插入图片描述
开启此功能,在Nginx配置有多个server_name的情况下,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个server_name上。
假如nginx没有规范配置server_name或者无需进行监控的server上,那么建议在此vhost上禁用统计监控功能。否则会出现“127.0.0.1”,hostname等的域名监控信息

在http { 下插入以下内容

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" } }';
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

在这里插入图片描述
server的location下插入以下内容

 location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }

在这里插入图片描述

10.查看nginx配置文件

nginx -t

在这里插入图片描述

11.重启nginx

systemctl start nginx

每次更改完配置文件,都要重启服务
在这里插入图片描述

12.访问测试

游览器中输入http://IP,看看nginx服务能不能正常启动
换上配置nginx服务器的IP
在这里插入图片描述
http://IP/status
换上配置nginx服务器的IP
在这里插入图片描述
在这里插入图片描述
在页面的最下方可以指定监控页面刷新的时间间隔,点击JSON,可以转为JSON格式输出。

13.监控列表各项信息

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:总数

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:48:04  更:2022-09-04 01:48:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:27:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码