我的编程空间,编程开发者的网络收藏夹
学习永远不晚

promethus监控nginx

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

promethus监控nginx

promethues监控nginx可选两个exporter,通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,promethues中对应的metrics也较少,想要监控更多的指标可以通过nginx-vts-exporter采集信息,依赖在编译nginx的时候添加nginx-module-vts模块来实现。

nginx virtual host traffic status模块是nginx第三方模块之一,vts提供了访问虚拟主机状态的信息,包含server,upstream以及cache的当前状态,类似于NGINX Plus 提供的在线活动监控功能。

下载链接:

https://github.com/discordianfish/nginx_exporter

 

nginx_exporter.go,需要使用go语言环境将源码编译成二进制可执行文件。

虽然我尝试安装了golang,使用

go build 代码.go

编译未能成功。

 

这里,介绍一个很简单的办法,先下载nginx_exporter的docker镜像。

docker pull fish/nginx-exporter

执行之后,会hold住,先不要关闭窗口。查看docker进程

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

 

复制编译后的文件

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

 

执行帮助命令:

root@ubuntu:~# /opt/nginx_exporter --help
Usage of /opt/nginx_exporter:
  -insecure
        Ignore server certificate if using https (default true)
  -nginx.scrape_uri string
        URI to nginx stub status page (default "http://localhost/nginx_status")
  -telemetry.address string
        Address on which to expose metrics. (default ":9113")
  -telemetry.endpoint string
        Path under which to expose metrics. (default "/metrics")


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

 

 

先安装nginx

apt-get install -y nginx

 

编辑配置文件

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

内容如下:

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_status
Active connections: 2 
server accepts handled requests
 6 6 15 
Reading: 0 Writing: 1 Waiting: 1

创建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 monitor
After=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/5
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target


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

systemctl daemon-reload
systemctl enable nginx_exporter.service
systemctl start nginx_exporter.service

 

查看端口

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

 

使用网页访问metrics

http://192.168.1.24:9113/metrics

 

效果如下:

1.png

 

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

 

vim /opt/prometheus/prometheus.yml

 

 最后一行增加以下内容:

- job_name: nginx_exporter
static_configs:
  - targets:
    - 192.168.1.24:9113
    labels:
      instance: nginx-24

 

重启prometheus,访问页面:

http://192.168.1.24:9090/targets

 

确保nginx_exporter状态为UP

1.png

下载json文件

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

 

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

 

点击import

1.png

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

1.png

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

 1.png

注意:TOP10 是没有数据的,据说需要使用脚本实现,具体怎么实现,我也不太清理。

可以直接将没有数据的图标删除掉!

 

本文参考链接:

https://it.baiked.com/nginx/2697.html


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

promethus监控nginx

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

promethus监控nginx

promethues监控nginx可选两个exporter,通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,promethues中对应的metrics也较少,想
2023-01-31

promethus监控mysql

下载页面https://github.com/prometheus/mysqld_exporter/releases下载最新版本https://github.com/prometheus/mysqld_exporter/releases/d
2023-01-31

promethus监控Redis

Prometheus exporter for Redis metrics.github地址:https://github.com/oliver006/redis_exporter线上服务器,自建了6台Redis实例,需要进行监控。下载最新
2023-01-31

promethus监控RDS

线上有2台阿里云RDS,一台测试,一台生产。监控是默认每5分钟采集一次,如果要调整为更快,需要收费!下载页面https://github.com/prometheus/mysqld_exporter/releases下载最新版本https:
2023-01-31

linux下 nginx监控问题

nginx安装 保证虚拟机能上网: 1、root用户登录 2、查看nginx安装信息:yum info nginx 3、如果找不到nginx信息,则执行如下:rpm -ivh http://nginx.org/packages/centos
2022-06-04

prometheus+grafana如何监控nginx

这篇文章主要介绍prometheus+grafana如何监控nginx,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在prometheus需要向ngxin中打入探针,通过探针获取ngxin信息,并通过接口输出。下文将
2023-06-21

zabbix如何配置nginx监控

本篇内容主要讲解“zabbix如何配置nginx监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zabbix如何配置nginx监控”吧!案例:zabbix 配置 nginx 监控1. 修改配置
2023-06-30

如何实时监控Nginx服务器

本篇内容主要讲解“如何实时监控Nginx服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实时监控Nginx服务器”吧!Linux运维工程师的首要职责就是保证业务7 x 24小时稳定的运行
2023-06-03

Nginx负载均衡的监控与调优

引言:随着互联网应用的不断发展,网站的访问量与请求量也越来越大,为了保障网站的高可用性和性能,使用负载均衡是非常常见的一种解决方案。而Nginx作为一款高性能的Web服务器和反向代理服务器,具备了强大的负载均衡功能。本文将介绍如何使用Ngi
2023-10-21

Docker容器化Nginx的监控与告警实现(如何监控并设置告警运行在Docker中的Nginx?)

通过Dockerstats监测资源使用情况,使用Prometheus和Grafana构建可视化仪表盘。利用Prometheus警报管理器和Alertmanager规则设置告警,并配置Slack或电子邮件接收器。实施步骤包括部署Prometheus和Grafana、收集容器指标、创建仪表盘、配置警报管理器、设置接收器并测试告警。此外,建议采用滚动更新、自动缩放、数据备份和安全加固等最佳实践。
Docker容器化Nginx的监控与告警实现(如何监控并设置告警运行在Docker中的Nginx?)
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录