当前位置: 首页 > news >正文

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.lryc.cn/news/168547.html

相关文章:

  • R 语言的安装教程
  • uniapp-提现功能(demo)
  • Spring 篇
  • three.js简单3D图形的使用
  • spark withColumn的使用(笔记)
  • PTA:7-1 线性表的合并
  • Spring 的创建和日志框架的整合
  • 11-集合和学生管理系统
  • C语言进阶指针(3) ——qsort的实现
  • Rust源码分析——Rc 和 Weak 源码详解
  • 【网络编程】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)
  • 社区团购商城小程序v18.1开源独立版+前端
  • MATLAB入门-字符串操作
  • Kong Learning
  • Python怎样写桌面程序
  • 蓝桥杯2023年第十四届省赛真题-平方差--题解
  • iText实战--根据绝对位置添加内容
  • 使用navicat for mongodb连接mongodb
  • Qt ffmpeg音视频转换工具
  • 机器学习笔记 - 视频分析和人类活动识别技术路线简述
  • Redis从入门到精通(三:常用指令)
  • 代码随想录day39 || 动态规划 || 不同路径
  • 电商平台API接口采集电商平台淘宝天猫京东拼多多数据获取产品详情信息,销量,价格,sku案例
  • The ‘<‘ operator is reserved for future use. 错误解决
  • vulnhub靶机Thoth-Tech
  • 不可思议,无密码登录所有网站!
  • 深度学习编译器关键组件
  • 【C++】string类模拟实现下篇(附完整源码)
  • Android高级开发-APK极致优化
  • Rocketmq--消息驱动