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

Prometheus 监控 Nginx

作者:琉璃

一、Nginx_exporter安装

下载链接:

https://github.com/discordianfish/nginx_exporter

下载nginx_exporter的docker镜像。

ocker pull fish/nginx-exporter

先run一下,执行之后,会hold住,先不要关闭窗口。

docker run -it fish/nginx-exporter

新开一个窗口,查看docker进程

root@ubuntu:~# docker ps|grep nginx-exporter5baa06db43d9        fish/nginx-exporter   "/usr/local/bin/ngin…"   13 minutes ago      Up 13 minutes       9113/tcp            lucid_germain

复制编译后的文件到/opt

docker cp 5baa06db43d9:/usr/local/bin/nginx_exporter /opt/

执行帮助命令:

root@ubuntu:~# /opt/nginx_exporter --helpUsage of /opt/nginx_exporter:-insecureIgnore server certificate if using https (default true)-nginx.scrape_uri stringURI to nginx stub status page (default "http://localhost/nginx_status")-telemetry.address stringAddress on which to expose metrics. (default ":9113")-telemetry.endpoint stringPath under which to expose metrics. (default "/metrics")

如果能执行成功,说明脚本可以运行了。

然后使用Ctrl+c 关闭docker容器。

二、Nginx开启状态

在线安装nginx

安装nginx

apt-get install -y nginx

编译安装nginx

wget -c http://mirror.nienbo.com/nginx/nginx-1.12.1.tar.gztar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make 
make install

编辑配置文件

vi /etc/nginx/sites-enabled/status.conf

注意:这是在线安装nginx的路径。请根据实际情况修改。

内容如下:

server {       listen 8011;       server_name localhost;       location /nginx_status {           stub_status on;           access_log off;           allow 127.0.0.1;}
}

重新加载配置文件

nginx -s reload

访问nginx状态页面

root@ubuntu:/etc/nginx/sites-enabled# curl 127.0.0.1:8011/nginx_statusActive connections: 2 server accepts handled requests 6 6 15 Reading: 0 Writing: 1 Waiting: 1

三、nginx_exporter封装service服务

创建nginx_exporter目录,移动文件

mkdir -p /etc/nginx_exporter/bin/mv /opt/nginx_exporter /etc/nginx_exporter/bin/

封装service

vim /lib/systemd/system/nginx_exporter.service

内容如下:

[Unit]Description=nginx monitorAfter=network.target[Service]ExecStart=/etc/nginx_exporter/bin/nginx_exporter -nginx.scrape_uri="http://127.0.0.1:8011/nginx_status"ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5TimeoutStopSec=5KillMode=mixed[Install]WantedBy=multi-user.target

重新加载service配置文件,设置开机自启动,并启动服务

systemctl daemon-reloadsystemctl enable nginx_exporter.servicesystemctl start nginx_exporter.service

查看端口

root@ubuntu:/etc/nginx/sites-enabled# netstat -anpt|grep nginx_exportetcp        0      0 127.0.0.1:33780         127.0.0.1:8011          ESTABLISHED 19006/nginx_exportetcp6       0      0 :::9113                 :::*                    LISTEN      19006/nginx_exportetcp6       0      0 192.168.1.24:9113       172.17.0.2:50776        ESTABLISHED 19006/nginx_exporte

使用网页访问metrics

http://192.168.1.24:9113/metrics

效果如下:

请添加图片描述

如果数据输出正常,则表示成功。

四、promethus增加job

vim /opt/prometheus/prometheus.yml

增加以下内容:

- job_name: nginx_exporterstatic_configs:- targets:- 192.168.1.24:9113labels:instance: nginx-24

重启prometheus,访问页面:

http://192.168.1.24:9090/targets

确保nginx_exporter状态为UP

请添加图片描述

五、Grafana导入Dashboards

下载json文件

https://files.cnblogs.com/files/xiao987334176/Nginx%E7%9B%91%E6%8E%A7-1563001010074.zip

解压之后,里面就是一个json文件

点击import

请添加图片描述

上传json文件,设置Name,选择prometheus,点击import

请添加图片描述

等待一段时间,数据多了之后,效果如下:

请添加图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++高阶】:C++11的深度解析下
  • Redis结合Lua脚本的简单使用
  • 使用MySQLdump定时备份数据库实战
  • [Kimi笔记]C# 中,public、private 和 internal 访问修饰符
  • H5+JS 4096小游戏
  • 从零入门CV图像竞赛(2024全球Deepfake攻防挑战赛)
  • Java基础:反射
  • 笑谈“八股文”,人生不成文
  • 【Kubernetes】k8s集群的资源发布方式
  • LSPatch制作内置模块应用软件无需root 教你制作内置应用
  • 【Java】深度解析Java的反射机制
  • 后端学习笔记(3)--Maven
  • python爬虫实践
  • 【C++】入门基础知识
  • 用VBA在Word中随机打乱单词表,进行分列
  • [nginx文档翻译系列] 控制nginx
  • 03Go 类型总结
  • Fabric架构演变之路
  • happypack两次报错的问题
  • httpie使用详解
  • Java Agent 学习笔记
  • java2019面试题北京
  • JavaScript DOM 10 - 滚动
  • js
  • Linux各目录及每个目录的详细介绍
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React中的“虫洞”——Context
  • Sublime Text 2/3 绑定Eclipse快捷键
  • SwizzleMethod 黑魔法
  • Vue.js-Day01
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 构建二叉树进行数值数组的去重及优化
  • 利用jquery编写加法运算验证码
  • 使用API自动生成工具优化前端工作流
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 系统认识JavaScript正则表达式
  • 用 Swift 编写面向协议的视图
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 运行时添加log4j2的appender
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • #VERDI# 关于如何查看FSM状态机的方法
  • (1)(1.11) SiK Radio v2(一)
  • (3)STL算法之搜索
  • (a /b)*c的值
  • (C++17) optional的使用
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (三)uboot源码分析
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ***利用Ms05002溢出找“肉鸡
  • ***原理与防范
  • .NET程序员迈向卓越的必由之路