Metricbeat 采集 Nginx 状态

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: Nginx 状态页可用于分析目前的服务健康状态和负载,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢?

> Nginx 状态页可用于分析目前的服务健康状态和负载,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢?


#### 架构设计

涉及到 Elastic Stack 中 Metricbeat 是用于采集 Nginx 相关的性能指标, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具。


在 Nginx 中相关的状态页面需要通过打开 http_stub_status_module 这个模块获取,在编译 Nginx 时,通过加上 --with-http_stub_status_module 进行打开,对应的访问 /nginx_status 页面就可以获取的 Nginx 的服务状态了。

image.jpeg

#### 实施方法

以 Docker 环境下为例


##### Nginx


启动 Nginx 容器,并且将存储卷映射到日志目录

docker run -d --name nginx -p 80:80 nginx:latest


进入容器修改配置

docker exec -it nginx /bin/bash


安装 vim 工具,便于修改配置

apt update; apt install vim


添加 status 页面

vim /etc/nginx/conf.d/default.conf

location/nginx_status {
stub_statuson;
allowall;
}


##### Metricbeat

启动 Metricbeat 容器

docker run -d --name metricbeat --user=root elastic/metricbeat:7.9.2


进入容器修改配置

docker exec -it metricbeat /bin/bash


修改配置,添加 Elasticsearch 和 Kibana 的主机

vi metricbeat.yml

metricbeat.config.modules:
path: ${path.config}/modules.d/*.yml  reload.enabled: falseprocessors:  - add_cloud_metadata: ~  - add_docker_metadata: ~output.elasticsearch:  hosts: 'elasticsearch:9200'  username: 'elastic'  password: 'xxx'setup.kibana:  host: "kibana:5601"


启用 Nginx 采集模块

metricbeat modules enable nginx


编辑 Nginx 采集配置

vi modules.d/nginx.yml

-module: nginxmetricsets:
-stubstatusperiod: 10shosts: ["http://172.20.31.151:80/"]
server_status_path: "nginx_status"


设置 Metricbeat 创建 Kibana上的 Index Pattern 和 Dashboard

metricbeat setup


重启 Metricbeat  生效配置

docker restart metricbeat


#### 可视化展示

通过 Kibana 中的 Dashboard 功能

展示目前 Nginx 的连接数等请求数据

image.jpeg


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
存储 数据采集 安全
通过filebeat、logstash、rsyslog采集nginx日志的几种方式
由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大家关注的问题。本文通过几个实例来介绍如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志。
493 0
|
运维 监控 应用服务中间件
用 Golang 采集 Nginx 接口流量大小
用 Golang 采集 Nginx 接口流量大小
|
弹性计算 监控 应用服务中间件
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
|
NoSQL 应用服务中间件 Shell
redis&nginx运行参数采集脚本
redis&nginx运行参数采集脚本
|
Web App开发 存储 弹性计算
半天掌握日志存储 云启实验室系列课程 第一讲 | 日志服务之使用 Nginx 模式采集日志
半天掌握日志存储 云启实验室系列课程 第一讲 |日志服务之使用 Nginx 模式采集日志。 本文介绍如何通过日志服务控制台创建 Nginx 模式的Logtail 配置快速采集 Nginx 日志并进行多维度分析。专家支持:阿里云日志服务技术专家 沐自
302 0
半天掌握日志存储 云启实验室系列课程 第一讲 | 日志服务之使用 Nginx 模式采集日志
|
Web App开发 弹性计算 移动开发
日志服务之使用Nginx模式采集日志-4
日志服务之使用Nginx模式采集日志-4
158 0
|
弹性计算 监控 应用服务中间件
日志服务之使用Nginx模式采集日志-3
日志服务之使用Nginx模式采集日志-3
155 0
|
Web App开发 移动开发 监控
日志服务之使用Nginx模式采集日志-2
日志服务之使用Nginx模式采集日志-2
146 0
|
Web App开发 弹性计算 监控
日志服务之使用Nginx模式采集日志-1
日志服务之使用Nginx模式采集日志
151 0
|
数据采集 弹性计算 运维
日志服务之使用Nginx模式采集日志-0
日志服务之使用Nginx模式采集日志-0
147 0