Nginx监控-Nginx+Telegraf+Influxb+Grafana

时间:2022-02-09 01:25:13

搭建了Nginx集群后,需要继续深入研究的就是日常Nginx监控。

Nginx如何监控?相信百度就可以找到:nginx-status

通过Nginx-status,实时获取到Nginx监控数据后,如何和现有监控系统集成?一个很好的解决方案:

Nginx+Telegraf+Influxdb+Grafana

即通过Telegraf监控插件定时收集Nginx的监控状态,存储到时序数据库Influxdb中,然后通过Grafana展现即可。

一、Nginx启用nginx-status功能

源码编译安装的nginx,那么需要在编译的时候加上对应的模块

./configure --with-http_stub_status_module 

使用 ./configure --help 能看到更多的模块支持。然后编译安装即可。

如果是直接 apt-get install 安装的 nginx,那么使用命令来查看是否支持 stub_status 这个模块。

如下命令: nginx –V 看看是否有 --with-http_stub_status_module 这个模块。

Nginx监控-Nginx+Telegraf+Influxb+Grafana

修改Nginx配置文件:在Server章节中增加:

       location /nginx-status {
allow 127.0.0.1; //允许的IP
deny all;
stub_status on;
access_log off;
}

Reload 重启Nginx,查看Nginx-Status
Nginx监控-Nginx+Telegraf+Influxb+Grafana

输出信息的说明:

active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

二、Telegraf安装配置Nginx监控

关于Telegraf的安装,请参考官方介绍

https://www.influxdata.com/time-series-platform/telegraf/

Nginx监控-Nginx+Telegraf+Influxb+Grafana

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.4.3-1.x86_64.rpm
sudo yum localinstall telegraf-1.4.-.x86_64.rpm

然后,在配置文件teldgraf.conf中配置Influxdb连接
Nginx监控-Nginx+Telegraf+Influxb+Grafana

增加对Nginx的监控

Nginx监控-Nginx+Telegraf+Influxb+Grafana

配置完成,重启telegraf服务即可。

三、Grafana集成Nginx监控

Grafana中支持Influxdb数据源,配置上上个步骤的Influxdb数据源之后,我们定制Nginx监控图表:

数据源:Influxdb

FROM:nginx

SELECT:field(accepts)

Nginx监控-Nginx+Telegraf+Influxb+Grafana

Nginx监控-Nginx+Telegraf+Influxb+Grafana

展现效果:

Nginx监控-Nginx+Telegraf+Influxb+Grafana

以上我们通过Nginx+Telegraf+Influxb+Grafana,实现了Nginx的监控,非常方便。

周国庆

2017/10/27

Nginx监控-Nginx+Telegraf+Influxb+Grafana的更多相关文章

  1. Nginx技术研究系列4-Nginx监控-Nginx+Telegraf+Influxb+Grafana

    搭建了Nginx集群后,需要继续深入研究的就是日常Nginx监控. Nginx如何监控?相信百度就可以找到:nginx-status 通过Nginx-status,实时获取到Nginx监控数据后,如何 ...

  2. 3 监控项、触发器、web监控、nginx监控

    1.自定义监控项 Item 参数文档 https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_age ...

  3. prometheus+grafana监控nginx

    被监控机器环境搭建&配置 nginx-module-vts下载: https://github.com/vozlt/nginx-module-vts nginx-module-vts安装 un ...

  4. Nginx监控运维

    Nginx是一个开源.免费.高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器.充分利用Nginx的特性,可以有效解决流量高并发请求.cc攻击等问题. 本文探讨了电商场景下Ngi ...

  5. promethus监控nginx

    一.摘要 promethues监控nginx可选两个exporter,通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,p ...

  6. 05 . Prometheus监控Nginx

    List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz nginx-module-vts 节点名 IP 软件版本 硬件 网络 说明 Prometheus ...

  7. Zabbix 监控 Nginx(四)

    简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...

  8. Python 监控nginx服务是否正常

    Python 监控nginx服务是否正常 #!/usr/bin/env python import os, sys, time from time import strftime while True ...

  9. 利用ngxtop实时监控nginx的访问情况

    关于对nginx web server的实时访问的实时监控问题,我很久之前就想实现的,现在虽有nginx自带的status扩展,但那是全局的,无法细分到vhost,并且提供的metric也很少,加之目 ...

随机推荐

  1. 安卓客户端a标签长按弹框提示解决办法

    昨天工作时候发现一个bug,是关于a标签的,在安卓客户端中,如果是a标签的话,长按会出现一个弹框,如图所示 是因为安卓客户端的长按触发机制,以后进行wap端开发的时候,如果用到跳转页面尽量不要用a标签 ...

  2. Python一行代码

    1:Python一行代码画出爱心 print]+(y*-)**-(x**(y*<= ,)]),-,-)]) 2:终端路径切换到某文件夹下,键入: python -m SimpleHTTPServ ...

  3. Chapter 1 Securing Your Server and Network&lpar;6&rpar;&colon;为SQL Server訪问配置防火墙

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题文件夹:http://blog.csdn.net/dba_huangz ...

  4. iOS高效开源类库

    因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...

  5. git三个区域详解

    一.可以将git简单的分为三个区域    1.工作区(working directory)    2.暂缓区(stage index)    3.历史记录区(history) 二.三个区域关系:工作区 ...

  6. I&sol;O----复制文本文件

    文件 "我的青春谁做主.txt" 位于 D 盘根目录下,要求将此文件的内容复制到 C:/myPrime.txt 中. package io.day03; import java.i ...

  7. git知识总结-1&period;git基础之git reference

    1.前言 Git版本管理的内容,是一系列由40bytes SHA-1字符串所代表patch,而Git References,则是对这些字符串的引用(也可以理解为别名).为什么需要别名呢?因为这些字符串 ...

  8. aspx 页面中 js 引用与页面后台的数据交互 --【 后台调用 js 】

    js 中调用后台方法   一.用Response.Write方法 Response.Write("<script type='text/javascript'>alert(&qu ...

  9. hive set 常用参数汇总

    1. set hive.auto.convert.join = true; mapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去 ...

  10. cerebro 配置

    cerebro 是 elastic search 的 监控平台 # Authentication auth = { type: ldap settings: { url = "ldap:// ...