资讯专栏INFORMATION COLUMN

Prometheus 监控 Nginx

邹强 / 708人阅读

摘要:前言官网有介绍各种监控方案,以前我们常用和日志来实现监控。本文主要介绍基于的种监控方案和,在真实的生产环境中你可能需要研究和选择哪种方法才是适合你的,收购后的未来让我们一起拭目以待。

前言

Nginx官网有介绍各种监控方案,以前我们常用stub_status和Log日志来实现Nginx监控。本文主要介绍基于Prometheus的2种监控方案nginx-lua-prometheus和nginx-vts-exporter,在真实的生产环境中你可能需要研究和选择哪种方法才是适合你的,F5收购Nginx后的未来让我们一起拭目以待。

Prometheus 监控 Nginx
更新历史

2019年03月25日 - 初稿

阅读原文 - https://wsgzao.github.io/post...

扩展阅读

Monitoring NGINX - https://www.nginx.com/blog/mo...


Nginx监控

官网介绍的监控方案 - https://www.nginx.com/blog/mo...

Prometheus 集成的 HTTP exporter 方案 - https://prometheus.io/docs/in...

聊聊 Nginx 的监控 - https://zhuanlan.zhihu.com/p/...

使用rpmbuild制作Nginx的RPM包 - https://wsgzao.github.io/post...

Prometheus 监控 Nginx nginx-lua-prometheus
Nginx 需要添加 Lua 扩展

https://github.com/knyar/ngin...

# 下载redis_exporter
https://github.com/knyar/nginx-lua-prometheus/releases
wget https://github.com/knyar/nginx-lua-prometheus/archive/0.20181120.tar.gz
tar xf 0.20181120.tar.gz
cd nginx-lua-prometheus-0.20181120

# 创建prometheus.lua目录
mkdir -p /etc/nginx/lua/
cp prometheus.lua /etc/nginx/lua/

# 编辑nginx配置文件修改,注意修改lua_package_path "/etc/nginx/lua/prometheus.lua";
vim /etc/nginx/nginx.conf

lua_shared_dict prometheus_metrics 10M;
lua_package_path "/etc/nginx/lua/prometheus.lua";
init_by_lua "
  prometheus = require("prometheus").init("prometheus_metrics")
  metric_requests = prometheus:counter(
    "nginx_http_requests_total", "Number of HTTP requests", {"host", "status"})
  metric_latency = prometheus:histogram(
    "nginx_http_request_duration_seconds", "HTTP request latency", {"host"})
  metric_connections = prometheus:gauge(
    "nginx_http_connections", "Number of HTTP connections", {"state"})
";
log_by_lua "
  metric_requests:inc(1, {ngx.var.server_name, ngx.var.status})
  metric_latency:observe(tonumber(ngx.var.request_time), {ngx.var.server_name})
";

# 创建nginx-lua-prometheus
vim /etc/nginx/sites-available/nginx-lua-prometheus

server {
  listen 9145;
  location /metrics {
    content_by_lua "
      metric_connections:set(ngx.var.connections_reading, {"reading"})
      metric_connections:set(ngx.var.connections_waiting, {"waiting"})
      metric_connections:set(ngx.var.connections_writing, {"writing"})
      prometheus:collect()
    ";
  }
}

# 创建软链接
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/prometheus

# 测试Nginx语法并reload测试metrics
nginx -t
nginx -s reload
curl http://127.0.0.1:9145/metrics

# iptables rule for Prometheus Nginx 
-A INPUT -s xxx -p tcp --dport 9145 -j ACCEPT
nginx-vts-exporter

https://github.com/hnlq715/ng...

对方正在输入中

Grafana nginx-lua-prometheus

https://grafana.com/dashboard...

nginx-vts-exporter

https://grafana.com/dashboard...

参考文献

https://prometheus.io/docs/in...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40399.html

相关文章

  • 容器监控实践—Prometheus部署方案

    摘要:同时有权限控制日志审计整体配置过期时间等功能。将成为趋势前置条件要求的版本应该是因为和支持的限制的核心思想是将的部署与它监控的对象的配置分离,做到部署与监控对象的配置分离之后,就可以轻松实现动态配置。 一.单独部署 二进制安装各版本下载地址:https://prometheus.io/download/ Docker运行 运行命令:docker run --name promet...

    GeekQiaQia 评论0 收藏0
  • 容器监控实践—Cortex

    摘要:在监控模块最大化利用了,并在其基础上添加了很多组件,实现了多租户管理高可用的监控集群。其使用的核心监控组件就是。请求身份验证和授权由外部反向代理处理。技术方案实现讨论细节大会讲稿本文为容器监控实践系列文章,完整内容见 一.概述 cortex:一个支持多租户、水平扩展的prometheus服务。 当时调研cortex其实是因为看到了Weave Cloud这个商业产品中的监控模块介绍,we...

    IntMain 评论0 收藏0
  • 容器监控实践—Cortex

    摘要:在监控模块最大化利用了,并在其基础上添加了很多组件,实现了多租户管理高可用的监控集群。其使用的核心监控组件就是。请求身份验证和授权由外部反向代理处理。技术方案实现讨论细节大会讲稿本文为容器监控实践系列文章,完整内容见 一.概述 cortex:一个支持多租户、水平扩展的prometheus服务。 当时调研cortex其实是因为看到了Weave Cloud这个商业产品中的监控模块介绍,we...

    longmon 评论0 收藏0
  • 一些由 Prometheus 引出的闲言碎语

    摘要:普罗米修斯是谁在希腊神话中,是泰坦神族的神明之一,名字的意思是先见之明。普罗米修斯与智慧女神雅典娜共同创造了人类,普罗米修斯负责用泥土雕塑出人的形状,雅典娜则为泥人灌注灵魂,并教会了人类很多知识。普罗米修斯是谁?From Wikipedia:在希腊神话中,是泰坦神族的神明之一,名字的意思是先见之明。普罗米修斯与智慧女神雅典娜共同创造了人类,普罗米修斯负责用泥土雕塑出人的形状,雅典娜则为泥人灌...

    Tecode 评论0 收藏0
  • Kubernetes集群监控详解

    摘要:仪表板是一个附加组件,它能提供集群上运行的资源的概述信息。可以很容易地创建图形,并且把它们合并称仪表板,而这些仪表板由一个强大的身份验证和授权层保护,它们还可以和其他仪表板进行共享而不需要访问服务器本身。 介 绍 Kubernetes在Github上拥有超过4万颗星,7万以上的commits,以及像Google这样的主要贡献者。Kubernetes可以说已经快速地接管了容器生态系统,成...

    A Loity 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<