Prometheus+Grafana可视化监控【Nginx状态】
文章目录
- 一、安装Docker
- 二、安装Nginx(Docker容器方式)
- 三、安装Prometheus
- 四、安装Grafana
- 五、Pronetheus和Grafana相关联
- 六、安装nginx_exporter
- 七、Grafana添加Nginx监控模板
一、安装Docker
注意:我这里使用之前写好脚本进行安装Docker,如果已经有Docker请省略此步骤,安装Docker是为了方便部署Nginx WEB服务器,如果已经有数据库前两步骤都可以省略。
点击获取Docker离线安装脚本
tar zxf docker20.10.14Install.tar.gz
cd docker20.10.14Install
bash install.sh
查看Docker状态如下图表示没问题:
systemctl status docker

二、安装Nginx(Docker容器方式)
1、前提准备:
docker pull nginx:1.18
mkdir /home/software/nginx/{conf,logs} -psystemctl stop firewalld
systemctl disable firewalld
iptables -F
2、创建配置文件
cat >> /home/software/nginx/conf/nginx.conf << EOF
worker_processes 1;events {worker_connections 1024;
}http {server {listen 80;location /nginx_status {stub_status on;access_log off;allow all;}location / {return 200 'Hello, Nginx!';}}
}
EOF
2、运行容器:
docker run -itd --name nginx \-v /home/software/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v /etc/localtime:/etc/localtime \-v /home/software/nginx/logs:/var/log/nginx \-p 80:80 --restart=always nginx:1.18
3、验证Nginx服务是否正常
curl http://127.0.0.1/nginx_status
如下图:返回Nginx状态信息,表示无误。

三、安装Prometheus
1、时间和时区同步
timedatectl set-timezone Asia/Shanghai
yum -y install ntpdate
/usr/sbin/ntpdate -u ntp1.aliyun.com
配置计划任务定时同步时间
echo "0 5 * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
crontab -l
2、安装Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gztar zxf prometheus-2.42.0.linux-amd64.tar.gz
mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus
3、配置systemd管理
cat > /usr/lib/systemd/system/prometheus.service << EOF
[Unit][Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
ExecReload=/bin/kill -HUP \$MAINPID[Install]
WantedBy=multi-user.target
Alias=dbus-org.fedoraproject.FirewallD1.service
EOF
4、启动并设置开机自启
systemctl enable prometheus --now
systemctl status prometheus

显示如上图,表示Prometheus也没问题了,默认端口是9090,我们可以浏览器访问一下
点击 Status > Targets 可以查看到Prometheus自己的metrics如下图:

四、安装Grafana
1、安装Grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.1-1.x86_64.rpm
sudo yum install grafana-enterprise-9.4.1-1.x86_64.rpm -ysystemctl enable grafana-server.service --now
2、WEB页面验证
默认端口是3000,第一次访问会提示重新设置密码,如下图:


五、Pronetheus和Grafana相关联



六、安装nginx_exporter
1、安装nginx_exporter
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v0.11.0/nginx-prometheus-exporter_0.11.0_linux_amd64.tar.gz
mkdir /usr/local/nginx-exporter
tar zxf nginx-prometheus-exporter_0.11.0_linux_amd64.tar.gz -C /usr/local/nginx-exporter/
2、配置systemd管理
注意:-nginx.scrape-uri参数设置自己的nginx地址,只要能访问到 /nginx_status路由即可,我这里是本机,我写的是http://127.0.0.1:80/nginx_status
cat > /usr/lib/systemd/system/nginx_exporter.service << EOF
[Unit]
Description=nginx_exporter Service
After=network.target[Service]
Type=simple
ExecStart=/usr/local/nginx-exporter/nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1:80/nginx_status
ExecReload=/bin/kill -HUP \$MAINPID
Restart=on-failure
RestartSec=30s[Install]
WantedBy=multi-user.target
EOF
启动并加入开机自启动
systemctl enable nginx_exporter --now
systemctl status nginx_exporter

默认端口为9113
netstat -anput |grep 9113
4、Prometheus配置文件中指定nginx_exporter信息
vim /usr/local/prometheus/prometheus.yml- job_name: "Nginx_115"static_configs:- targets: ["16.32.15.115:9113"]
添加完成配置文件后使用命令测试格式上是否有问题
cd /usr/local/prometheus/
./promtool check config prometheus.yml
重启Prometheus
systemctl restart prometheus.service
七、Grafana添加Nginx监控模板
这里使用Nginx的模板ID:11199
点击 下方红圈地方 > import > 输入模板ID


最终效果图如下:

相关文章:
Prometheus+Grafana可视化监控【Nginx状态】
文章目录 一、安装Docker二、安装Nginx(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装nginx_exporter七、Grafana添加Nginx监控模板 一、安装Docker 注意:我这里使用之前写好脚本进行安装Docker,如果已经有D…...
R 语言的安装教程
一、下载相关软件 1、R 下载 官网:R: The R Project for Statistical Computing 找到中国镜像,下载快 历史版本点击这里 2、Rtools 下载 进入镜像后,点击这里 然后选择与上面下载的R版本相对应的版本即可 3、Rstudio 下载 官网࿱…...
uniapp-提现功能(demo)
页面布局 提现页面 有一个输入框 一个提现按钮 一段提现全部的文字 首先用v-model 和data内的数据双向绑定 输入框逻辑分析 输入框的逻辑 为了符合日常输出 所以要对输入框加一些条件限制 因为是提现 所以对输入的字符做筛选,只允许出现小数点和数字 这里用正则实现的小数点…...
Spring 篇
1、什么是 Spring? Spring是一个轻量级的IOC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置…...
three.js简单3D图形的使用
npm init vitelatest //创建一个vite的脚手架 选择 Vanilla 之后自己处理一下 在main.js中写入 // 导入three.js import * as THREE from three// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCamera(45, //视角window.inner…...
spark withColumn的使用(笔记)
目录 前言: spark withColumn的语法及使用: 准备源数据演示: 完整实例代码: 前言: withColumn():是Apache Spark中用于DataFrame操作的函数之一,它的作用是在DataFrame中添加或替换列ÿ…...
PTA:7-1 线性表的合并
线性表的合并 题目输入样例输出样例 代码解析 题目 输入样例 4 7 5 3 11 3 2 6 3输出样例 7 5 3 11 2 6 代码 #include<iostream> #include<vector> using namespace std;bool checkrep(const vector<int>& arr, int x) {for (int element : arr) {i…...
Spring 的创建和日志框架的整合
目录 一、第一个 Spring 项目 1、配置环境 2、Spring 的 jar 包 Maven 项目导入 jar 包和设置国内源的方法: 3、Spring 的配置文件 4、Spring 的核心 API ApplicationContext 4、程序开发 5、细节分析 (1)名词解释 (2&…...
11-集合和学生管理系统
1.ArrayList 集合和数组的优势对比: 长度可变添加数据的时候不需要考虑索引,默认将数据添加到末尾 1.1 ArrayList类概述 什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 长度可以变化…...
C语言进阶指针(3) ——qsort的实现
大家好,我们今天来学习回调函数qsort的实现。 首先让我们打开cplusplus.com找到qsort函数。 我们看到这个函数就可以看到它的头文件和参数信息。 #include<stdlib.h> void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const voi…...
Rust源码分析——Rc 和 Weak 源码详解
Rc 和 Weak 源码详解 一个值需要被多个所有者拥有 rust中所有权机制在图这种数据结构中,一个节点可能被多个其它节点所指向。那么如何表示图这种数据结构?在多线程中,多个线程可能会持有同一个数据?如何解决这个问题。 Rc rus…...
【网络编程】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)
TCP协议 1.连接管理机制2.再谈WAIT_TIME状态2.1理解WAIT_TIME状态2.2解决TIME_WAIT状态引起的bind失败的方法2.3监听套接字listen第二个参数介绍 3.滑动窗口3.1介绍3.2丢包情况分析 4.流量控制5.拥塞控制5.1介绍5.2慢启动 6.捎带应答、延时应答 1.连接管理机制 正常情况下&…...
社区团购商城小程序v18.1开源独立版+前端
新增后台清理缓存功能 修复定位权限 修复无法删除手机端管理员 11月新登录接口修复! 修复商家付款到零钱, 修复会员登陆不显示头像, 修复无法修改会员开添加绑定...
MATLAB入门-字符串操作
MATLAB入门-字符串操作 注:本篇文章是学习笔记,课程链接是:link MATLAB中的字符串特性: 无论是字符还是字符串,都要使用单引号来‘’表示;在MATLAB中,字符都是在矩阵中存储的,无论…...
Kong Learning
一、Kong Kong是由Mashape公司开源的可扩展的Api GateWay项目。它运行在调用Api之前,以插件的扩展方式为Api提供了管理。比如,鉴权、限流、监控、健康检查等,Kong是基于lua语言、nginx以及openResty开发的,所有拥有动态路由、负载…...
Python怎样写桌面程序
要编写Python桌面应用程序,可以使用以下几种方法: 1.使用Tkinter模块:Tkinter是Python自带的GUI工具包之一,可以使用它来创建基本的GUI界面。例如,可以创建一个简单的窗口,添加按钮、文本框等控件…...
蓝桥杯2023年第十四届省赛真题-平方差--题解
蓝桥杯2023年第十四届省赛真题-平方差 时间限制: 3s 内存限制: 320MB 提交: 2379 解决: 469 题目描述 给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x y2 − z2。 输入格式 输入一行包含两个整数 L, R,用一个空格分隔。 输出格…...
iText实战--根据绝对位置添加内容
3.1 direct content 概念简介 pdf内容的4个层级 层级1:在text和graphics底下,PdfWriter.getDirectContentUnder() 层级2:graphics层,Chunk, Images背景,PdfPCell的边界等 层级3:text层,Chun…...
使用navicat for mongodb连接mongodb
使用navicat for mongodb连接mongodb 安装navicat for mongodb连接mongodb 安装navicat for mongodb 上文mongodb7.0安装全过程详解我们说过,在安装的时候并没有勾选install mongodb compass 我们使用navicat去进行可视化的数据库管理 navicat for mongodb下载地址…...
Qt ffmpeg音视频转换工具
Qt ffmpeg音视频转换工具,QProcess方式调用ffmpeg,对音视频文件进行格式转换,支持常见的音视频格式,主要在于QProcess的输出处理以及转换的文件名和后缀的处理,可以进一步加上音视频剪切合并和音视频文件属性查询修改的…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
C# WPF 左右布局实现学习笔记(1)
开发流程视频: https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码: GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用(.NET Framework) 2.…...
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...
