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
在这里插入图片描述

在这里插入图片描述

最终效果图如下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试、压力测试、持续集成

因为项目的原因&#xff0c;前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家&#xff0c;希望对需要的人有所帮助。 SoapUI 是什么&#xff1f; SoapUI 是一个开源测试工具&#xff0c;通过 soap/http 来检查、调用、实现 Web Service 的…

Spring 篇

1、什么是 Spring&#xff1f; Spring是一个轻量级的IOC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架&#xff0c;目的是用于简化企业应用程序的开发&#xff0c;它使得开发者只需要关心业务需求。常见的配置方式有三种&#xff1a;基于XML的配置、基于注解的配置…

Dockerfile打包nginx镜像

Dockerfile&#xff1a; FROM nginxENV WORK_DIR /project ENV GATEWAY_IP127.0.0.1USER root RUN mkdir ${WORK_DIR}#拷贝前端项目 ADD chinaunicom-digitward-portal-web-view.tar.gz ${WORK_DIR} ADD mdt-view.tar.gz ${WORK_DIR} ADD unicom-cloud-medical-admin-view.tar…

Python 基本语法

相关内容 代码行 单行代码 每行代码结尾不需要加标点 a 123多行换行 多行代码&#xff0c;直接换行 a 123 b a 1复杂过长的计算、操作可用括号然后缩进换行 income (gross_wages taxable_interest (dividends - qualified_dividends)- ira_deduction- student_loan_…

Python Union联合类型注解

视频版教程 Python3零基础7天入门实战视频教程 我们看下如下的示例&#xff1a; my_list2: list[int] [1, 2, 3, 4] my_dict2: dict[str, float] {"python222": 3.14, "java1234": 4.35} l1 [1, "python222", True] # 如何注解多种元素类型…

高速DSP系统设计参考指南(二)传输线(TL)效应

&#xff08;二&#xff09;传输线&#xff08;TL&#xff09;效应 1. 概述2. 传输线理论3. 并行终端仿真4. 传输线的目标阻抗5. TL仿真和实验结果对比5.1 无负载或源端接的传输线5.2 传输线源端串联 6. 接地网络对传输线的影响 1. 概述 传输线(TL)效应是高速 DSP 系统中噪声问…

mysql组合索引详解

组合索引 什么是组合索引组合索引具体使用组合索引注意事项 什么是组合索引 索引是一种数据结构&#xff0c;用于优化数据库查询速度&#xff0c;而组合索引指的是在 数据库中使用多个字段来创建一个索引。这种类型的索引允许数据库 更快地检索和排序数据&#xff0c;特别是…

如何修改jupyter notebook默认打开路径

1、用jupyter notebook在其他位置打开自己的ipython项目&#xff1a; jupyter notebook是一个很好用的工具&#xff0c;可以保存运行结果&#xff0c;还可以给项目添加很多可视化操作与介绍文字。安装anaconda后&#xff0c;jupyter notebook就会自动安装&#xff0c;点开它会…

忘记VMware vcenter的Administrator@vsphere.local密码

忘记VMware vcenter的Administratorvsphere.local密码的解决办法 一、 重置密码&#xff1a; ssh root192.168.230.100 Connecting to 192.168.230.100:22... Connection established. To escape to local shell, press CtrlAlt]. VMware vCenter Server Appliance 6.7.0.4400…

读书笔记:《读懂会计学》

银行&#xff08;意大利&#xff09; 意大利的银行面向威尼斯商人提供无现金服务和货币兑换服务。 基督教禁止收利息&#xff1a; 利用犹太人收取利息歪曲利息为&#xff0c;用在其他地方会得到的收益&#xff0c;即机会成本 商人使用卖商品的钱偿还货款&#xff0c;而进货…

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…

MS SQL Server问题汇总

1.报SQL Server Agent连接不上的错误 15:38:57.991 [debezium-sqlserverconnector-sqlserver_transaction_log_source-change-event-source-coordinator] WARN i.d.connector.sqlserver.SqlServerStreamingChangeEventSource - No maximum LSN recorded in the database; pl…

电商平台API接口采集电商平台淘宝天猫京东拼多多数据获取产品详情信息,销量,价格,sku案例

淘宝SKU详情接口是指&#xff0c;获取指定商品的SKU&#xff08;Stock Keeping Unit&#xff0c;即库存量单位&#xff09;的详细信息。SKU是指提供不同的商品参数组合的一个机制&#xff0c;通过不同的SKU来标识商品的不同组合形式&#xff0c;如颜色、尺寸等。SKU详情接口可以…

使用VMware 16 安装银河麒麟V10 --九五小庞

1.下载 银河麒麟系统V10 服务版镜像包&#xff1a; Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso 百度云盘链接&#xff1a;https://pan.baidu.com/s/1z0GCEadvefUA8R988qDP5Q 提取码&#xff1a;1l0g 2.运行VMware Workstation&#xff0c;创建新的虚拟机&…

(三十三)大数据实战——Canal安装部署及其应用案例实战

前言 Canal 是一个开源的MySQL数据库binlog监听和解析框架&#xff0c;用于实时捕获 MySQL数据库的binlog 变更事件&#xff0c;并将其解析成易于消费的数据格式。Canal 可以实时监听 MySQL 数据库的 binlog&#xff0c;并即时捕获数据库的数据变更事件。Canal可以将捕获到的b…

【CCF】第30次csp认证——202305-1重复局面

202305-1重复局面&#xff1a; 问题描述 国际象棋每一个局面可以用大小为 88 的字符数组来表示&#xff0c;其中每一位对应棋盘上的一个格子。六种棋子王、后、车、象、马、兵分别用字母 k、q、r、b、n、p 表示&#xff0c;其中大写字母对应白方、小写字母对应黑方。棋盘上无…

文举论金:9.13黄金原油全面走势分析策略指导。

市场没有绝对&#xff0c;涨跌没有定势&#xff0c;所以&#xff0c;对市场行情的涨跌平衡判断就是你的制胜法宝。欲望&#xff01;有句意大利谚语&#xff1a;让金钱成为我们忠心耿耿的仆人&#xff0c;否则&#xff0c;它就会成为一个专横跋扈的主人。空头&#xff0c;多头都…

Acwing 829. 模拟队列

Acwing 829. 模拟队列 题目描述思路讲解代码展示 题目描述 思路讲解 队列是先进先出&#xff0c;类比排队买饭 代码展示 #include <iostream>using namespace std;const int N 100010;int m; int q[N], hh, tt -1;int main() {cin >> m;while (m -- ){string …

微信小程序——生命周期详解(代码解读)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

比较字符串和字符

Leetcode 93&#xff08;复原ip地址&#xff09; 比较字符串&#xff08;数字型&#xff09;大致有两种方法&#xff1a; 1、通过Integer.valueOf()转化成数字 class Solution {List<String> result new ArrayList<>();LinkedList<String> temp new Lin…