Metricbeat 采集 Nginx 状态

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 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


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
存储 数据采集 安全
通过filebeat、logstash、rsyslog采集nginx日志的几种方式
由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大家关注的问题。本文通过几个实例来介绍如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志。
834 0
|
运维 监控 应用服务中间件
用 Golang 采集 Nginx 接口流量大小
用 Golang 采集 Nginx 接口流量大小
|
弹性计算 监控 应用服务中间件
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
|
NoSQL 应用服务中间件 Shell
redis&nginx运行参数采集脚本
redis&nginx运行参数采集脚本
|
Web App开发 存储 弹性计算
半天掌握日志存储 云启实验室系列课程 第一讲 | 日志服务之使用 Nginx 模式采集日志
半天掌握日志存储 云启实验室系列课程 第一讲 |日志服务之使用 Nginx 模式采集日志。 本文介绍如何通过日志服务控制台创建 Nginx 模式的Logtail 配置快速采集 Nginx 日志并进行多维度分析。专家支持:阿里云日志服务技术专家 沐自
356 0
半天掌握日志存储 云启实验室系列课程 第一讲 | 日志服务之使用 Nginx 模式采集日志
|
Web App开发 弹性计算 移动开发
日志服务之使用Nginx模式采集日志-4
日志服务之使用Nginx模式采集日志-4
205 0
|
弹性计算 监控 应用服务中间件
日志服务之使用Nginx模式采集日志-3
日志服务之使用Nginx模式采集日志-3
186 0
|
Web App开发 移动开发 监控
日志服务之使用Nginx模式采集日志-2
日志服务之使用Nginx模式采集日志-2
183 0
|
Web App开发 弹性计算 监控
日志服务之使用Nginx模式采集日志-1
日志服务之使用Nginx模式采集日志
185 0
|
数据采集 弹性计算 运维
日志服务之使用Nginx模式采集日志-0
日志服务之使用Nginx模式采集日志-0
178 0