ELK搭建(十二):搭建Nginx访问、错误日志监控平台

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。Nginx已经在大多数业务中普遍使用,因此针对Nginx的流量监控,错误日志监控极其必要,这样才能让我们能够及时了解系统运行情况。那么今天,我们就来看看如何搭建Nginx访问记录、错误日志监控平台

0. 引言

Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。

Nginx已经在大多数业务中普遍使用,因此针对Nginx的流量监控,错误日志监控极其必要,这样才能让我们能够及时了解系统运行情况。

那么今天,我们就来看看如何搭建Nginx访问记录、错误日志监控平台

在这里插入图片描述

2. 下载

我们的平台是基于elasticsearch+kibana来实现的,也就是我们常说的ELK体系。我们采用filebeat插件来采集监控postgresql的运行数据。

当然我们这里为了保证搭建的便捷性,并没有使用到Logstash,如果大家有需要的话可以把filebeat采集到的数据输出到Logstash

关于ELK的搭建就不再累述了,不清楚的同学可以看看往期博客:
ELK搭建(一):实现分布式微服务日志监控

因为我的ELK环境是7.13.0的,所以我们需要下载对应版本的filebeat
filebeat官方下载地址

3. filebeat介绍

filebeat是elastic官方提供的一个轻量级的日志采集器,根据名称也能知道,主要用于文件的数据采集。基于Golang开发,可以安装到想要日志的服务器或者主机上来定期读取对应的数据,并发送到elasticsearch或者logstash上,甚至数据量大时,我们还可以先输出到kafka、redis等中间件上。

根据官方文档的解释,filebeat 主要包含两个主要组件:input和harvesters。

  • harvester: harvester用于按行读取单个文件的内容。每个文件都会启动一个harvester,harvester负责打开和关闭文件。filebeat中还有一个Registrar组件用于记录文件的偏移量,即上一次读取的位置,下一次打开文件时会从Registrar读取偏移量然后继续读取数据
  • input:负责管理harvester并且找到所有符合读取条件的文件。如果输入类型为log,则input会在驱动器上找到与定义的路径符合的文件,并会给每个文件都启动一个harvester.

其次再配置Output组件将获取的数据进行输出。
在这里插入图片描述

filebeat中支持多种服务的数据采集,包括但不仅限于Mysql,MongoDB,Nginx,Redis,ActiveMQ,PostgreSQL,RabbitMQ,Tomcat等等。更多可查看官方文档

搭配上kibana提供的开箱即用的数据看板,可以快速搭建监控平台。

4. 安装filebeat

1、解压压缩包(这里以mac版本示例,实际操作时请根据需要下载对应系统及版本的filebeat)

tar -zxvf filebeat-7.13.0-darwin-x86_64.tar.gz

2、修改filebeat.yml配置文件

vim filebeat.yml

修改内容

setup.template.settings:
  index.number_of_shards: 1
  # 因为es是单节点,所以将副本分片设置为0.否则会报黄
  index.number_of_replicas: 0
output.elasticsearch:
  hosts: ["192.168.244.11:9200"]
  username: "elastic"
  password: "elastic"
setup.kibana:
  host: "192.168.244.11:5601"

3、启用nginx模块

./filebeat modules enable nginx

4、修改postgresql module配置文件

vim modules.d/nginx.yml

修改内容,这里开启了错误日志和访问日志

- module: nginx
  # Access logs
  access:
    enabled: true
    var.paths: ['/opt/homebrew/Cellar/nginx/1.21.6/logs/access.log']

  # Error logs
  error:
    enabled: true
    var.paths: ['/opt/homebrew/Cellar/nginx/1.21.6/logs/error.log']

5、加载kibana仪表盘,如果之前执行过该指令的就无需再执行了

./filebeat setup

6、运行filebeat,注意这里不要把上述的指令中断后再执行,直接新开窗口执行,否则可能生成面板失败

./filebeat -e

在这里插入图片描述

7、在kibana的discover中查询filebeat-*索引模版,如果存在nginx相关字段,并且有数据输出表示配置正确。需要注意查询时间范围

在这里插入图片描述

8、点击dashboard进入仪表盘页面,搜索nginx,点击Access and error logs ECS点击进入nginx日志监控面板
在这里插入图片描述

如下图所示,我们的日志数据就呈现出来了
在这里插入图片描述
点击Nginx logs overview可以切换到汇总面板

在这里插入图片描述

如果面板中没有数据显示,检查一下面板右上角查询的时间范围是否在日志的范围内、nginx服务器的日期是否正常

关注公众号Elasticsearch之家,了解更多新鲜内容

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1天前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
11天前
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
48 6
|
13天前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
|
20天前
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
|
3天前
|
数据可视化 Java API
如何在项目中快速引入Logback日志并搭配ELK使用
如何在项目中快速引入Logback日志并搭配ELK使用
|
6天前
|
存储 监控 Ubuntu
一键搞定:用脚本轻松部署ELK,让日志分析变得简单又高效
【8月更文挑战第13天】ELK栈由Elasticsearch、Logstash和Kibana组成,用于日志存储、解析及展示,是大数据领域广泛采用的日志解决方案。鉴于其安装配置复杂,本文提供了一个适用于Ubuntu 16.04的ELK自动安装Shell脚本示例。脚本首先确保Java环境安装,接着添加Elastic.co的APT仓库并安装ELK组件,最后启动所有服务。通过自动化流程,简化部署工作,减少人为错误,提升效率。实际应用中还需根据具体需求调整配置和服务设置。
12 0
|
1月前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
46 1
|
22天前
|
负载均衡 应用服务中间件 nginx
nginx配置kibana访问用户名和密码认证、及无认证访问配置
nginx配置kibana访问用户名和密码认证、及无认证访问配置
53 0
|
1月前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
1月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​