Grafana + prometheus在Centos搭建服务器监控系统(三)--配置监控Nginx

article/2025/10/29 15:40:08

部署并配置nginx-module-vts

参考我之前的文章:

Linux下Nginx配置nginx-module-vts_allen的博客-CSDN博客

配置nginx-vts-exporter

exporter会收集nginx性能指标的JSON格式数据,并汇总后暴露监控接口给Prometheus。

cd /data/program
wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
#也可下载最新版本
tar xvf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
mv nginx-vts-exporte-0.10.3.linux-amd64.tar.gz nginx-vts-exporte

配置运行

// 创建文件 /etc/systemd/system/nginx-vts-exporte.service
[Unit]
Description=nginx-vts-exporte
Documentation=nginx-vts-exporte
[Service]
ExecStart=/data/program/nginx-vts-exporte/nginx-vts-exporte -nginx.scrape_timeout 10 -nginx.scrape_uri http://127.0.0.1/status/format/jsonRestart=on-failure
[Install]
WantedBy=multi-user.target
// data/program/nginx-vts-exporte 是我nginx-vts-exporte的解压路径,可以按需修改# 推荐exporter和nginx安装在同一台机器上,如果不在同一台主机,把scrape_uri改为nginx主机的地址。
# nginx_vts_exporter的默认端口号:9913,对外暴露监控接口http://xxx:9913/metrics.# 我们可以访问浏览器 IP:9913

 将nginx-vts-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: ['127.0.0.1:9913']# node节点的targets处的IP填写你要监控的node的IP.        
systemctl restart prometheus
# 我们登录到Prometheus主机,看下这个节点是不是up状态

 配置grafana显示

如未安装,参考教程:Grafana + prometheus在Centos搭建服务器监控系统(一)---安装、配置_allen的博客-CSDN博客

此处我们拿prometheus做例子,虽然说prometheus能展示一些图表,但对比Grafana,那只是过家家,接下来我们在同一个服务器安装Grafana服务,用来展示prometheus收集到的数据

添加nginx模板

 

通过vts自定义key

通过以上部署只能拿到默认的指标,生产中可能还会需要监控uri的请求量,监控IP访问情况(同一个IP出现大量访问时可能被攻击),获取不同agent请求量用于分析等,通过vts模块的vhost_traffic_status_filter_by_set_key功能可以自定义需要获取的指标。此处的指标需要加到对应的server配置中.

# 添加自定义配置,地址根据自己的修改
$ vim /etc/nginx/conf.d/default.conf
server {listen      80;server_name localhost;vhost_traffic_status_filter_by_set_key $uri uri::$server_name;     #每个uri访问量vhost_traffic_status_filter_by_set_key $status $server_name;     #http code统计vhost_traffic_status_filter_by_set_key $upstream_addr upstream::backend;     #后端转发统计vhost_traffic_status_filter_by_set_key $remote_port client::ports::$server_name;     #请求端口统计vhost_traffic_status_filter_by_set_key $remote_addr client::addr::$server_name;     #请求IP统计location ~ ^/storage/(.+)/.*$ {set $volume $1;vhost_traffic_status_filter_by_set_key $volume storage::$server_name;     #请求路径统计}}  


http://chatgpt.dhexx.cn/article/mfB6lEIx.shtml

相关文章

shell脚本实现服务监控报警并重启

第一篇 使用crontab指令的shell脚本实现服务监控报警重启 这两天做了一个服务监控报警重启的脚本。本质就是用一个shell命令去监控服务状态,如果宕机就会自动重启,并向指定邮箱发送邮件对管理人员进行提醒,再使用crontab命令设置每隔一分钟…

Zabbix +Grafana 服务器监控体系

无监控,不运维。废话不多说,下面都是干货 官方地址: https://www.zabbix.com/cn/download 声明 使用的是zabbix6.0.7版本。Mysql 8.0.26。演示使用的系统镜像为rocky linux 8.6 --------------------------------------------Zabbix--------…

SpringBoot整合Admin服务监控(图文详细)

SpringBoot整合Admin服务监控组件 1 SpringBootAdmin 简介 1.1 概述 SpringBootAdmin 是一个非常好用的监控和管理的开源组件,该组件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功…

windows下的文件服务器监控

windows下的文件服务器监控 一、使用Windows自带的管理工具进行查看当前服务器连接的用户及打开的文件,但是该功能比较简单,无法对文件进行监控,比如什么时间哪个用户连接到共享文件夹对该文件夹的文件进行过什么操作。 二、使用工具软件 …

java项目实现服务器监控,Java实现服务器状态监控

Java实现服务器状态监控 内容精选 换一换 云容器实例(Cloud Container Instance,CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器。Serverless 是一种架构理念,是指不用创建和管理服务器、不用担心服务器的运行状态(服务…

安利一款免费、开源、实时的服务器监控工具:Netdata

Netdata 是一个免费、开源、实时的服务器监控工具,可以可视化和监控实时数据,如 CPU 使用率、RAM 使用率、负载、SWAP 使用率、带宽使用率、磁盘使用率等。它可以帮助系统管理员了解您的系统或应用程序中正在发生的事情以及刚刚发生的事情。它可以安装在…

Spring Boot服务监控(Prometheus)

哲学 最近看到了一句话:定乎内外之分 辩乎荣辱之境。 一个外国作家也说过: 我生命里的的最大突破之一,就是我不再为别人的看法而担忧。此后,我真的能自由的去做我认为对自己最好的事,只有在我们不需要外来的赞许时&…

几种服务器监控系统,几种服务器监控系统

几种服务器监控系统 内容精选 换一换 设置“云服务器名称”。名称可自定义,但需符合命名规则:只能由中文字符、英文字母、数字及“_”、“-”、“.”组成。如果同时购买多台弹性云服务器,系统会自动按序增加后缀。一次创建多台弹性云服务器时…

无线监控设置smtp服务器,监控smtp服务器

监控smtp服务器 内容精选 换一换 华为云提供了云监控服务,您可以使用该服务监控弹性云服务器,在您开通了弹性云服务器后,云监控服务将自动实时监控并根据您设置的告警预置触发告警和通知,帮助您更好地了解弹性云服务器的各项性能指…

对微服务的监控的两种办法(springbootAdmin、prometheus+grafana)

1、springboot-admin实现对服务的监控 一、actuator客户端(即每一个需要监控的微服务) 1、在业务微服务中引入jar包 <!-- 引入Actuator监控依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

语言模型BERT理解

一、BERT概述 BERT是由Google在2018年提出的一种预训练语言模型。BERT的创新之处在于采用了双向Transformer编码器来生成上下文相关的词向量表示。 传统的单向语言模型只考虑了左侧或右侧的上下文信息&#xff0c;而BERT则同时考虑了左侧和右侧的上下文信息&#xff0c;使得生…

【BERT类预训练模型整理】

BERT类预训练模型整理 1.BERT的相关内容1.1 BERT的预训练技术1.1.1 掩码机制1.1.2 NSP&#xff08; Next Sentence Prediction&#xff09; 1.2 BERT模型的局限性 2. RoBERTa的相关内容2.1 RoBERTa的预训练技术2.1.1动态掩码&#xff08;Dynamic Masking&#xff09;2.1.2取消N…

(四)目标检测yolov5-6.0模型训练

安装好yolov5-6.0环境后 1.数据结构格式 文件夹结构&#xff1a;新建coco128 images文件夹下的train与val都是图像 labels文件夹下的train与val都是yolo格式的txt标签文件 2.修改配置文件 第一个需要修改的文件data/coco128.yaml 修改数据集路径&#xff1a; 例如&#xf…

caffe 训练自己的分类模型

学习caffe的最终目的&#xff0c;是可以利用自己的数据集&#xff0c;训练模型&#xff0c;并解决实际问题。 所以在前面跑通了mnist和cifar-10例程的基础上&#xff0c;尝试训练自己的模型&#xff0c;从头到尾走一遍所有的流程。准备数据、训练并得到模型&#xff0c;利用模…

bert中文分类模型训练+推理+部署

文章预览&#xff1a; 0. bert简介1. bert结构1. bert中文分类模型训练1 下载bert项目代码代码结构 2 下载中文预训练模型3 制作中文训练数据集 2. bert模型推理1.tensorflow推理 2. onnxruntime推理1. checkpoint格式转换为saveModel格式2. saveModel格式转换为onnx格式3. 使用…

Bert模型详解和训练实例

前面已经介绍了transformer&#xff0c;理解了transformer&#xff0c;那么理解bert就简单多了。对transformer不是很了解的可以跳转到https://blog.csdn.net/one_super_dreamer/article/details/105181690 bert的核心代码解读在https://blog.csdn.net/one_super_dreamer/arti…

无监督模型 训练过程_监督使用训练模型

无监督模型 训练过程 Machine Learning, Artificial Intelligence, and Deep Learning are some of the most complex, yet highly demanded fields of expertise today. There are innumerable resources and tools to work in these fields, and one such popular tool is Su…

Tensorflow V2 图像识别模型训练流程

Tensorflow V2.0 图像识别教程 代码&#xff1a; https://github.com/dwSun/classification-tutorial.git 教程参考官方专家高级教程&#xff1a; https://tensorflow.google.cn/tutorials/quickstart/advanced?hlen 这里以 TinyMind 《汉字书法识别》比赛数据为例&#xf…

(三)mmclassification图像分类——模型训练

&#xff08;三&#xff09;mmclassification图像分类——模型训练和测试 1.模型训练1.1使用预训练模型1.2使用自己的数据训练1.2.1制作数据集1.2.2修改模型参数&#xff08;configs文件&#xff09;(1)models(2)datasets(3)schedules(4)新建mobilenet_v2_b32x8_car.py 1.3训练…

tensorflow CNN模型训练+优化参数+实战

训练线性函数 import numpy as np import tensorflow.keras as keras # 构建模型 model keras.Sequential([keras.layers.Dense(units1,input_shape[1])]) # optimizer优化&#xff0c;loss损失 model.compile(optimizersgd, lossmean_squared_error) #准备训练数据 xsnp.ar…