filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据1.为什么要指定索引库名称由于一台机器上不止一个应用服务,比如web机器,上面一定会有tomcat、nginx、redis这种服务,如果我们不指定每个应用收集来的日志存放在es集群中的索引名的话,filebeat会将所有的日志存放在一个叫filebeat-xxx的索引库中,这样一来,我们想针对性的看某一个应用的日志将会非常困难

filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据

1.为什么要指定索引库名称

由于一台机器上不止一个应用服务,比如web机器,上面一定会有tomcat、nginx、redis这种服务,如果我们不指定每个应用收集来的日志存放在es集群中的索引名的话,filebeat会将所有的日志存放在一个叫filebeat-xxx的索引库中,这样一来,我们想针对性的看某一个应用的日志将会非常困难

因此就需要当filebeat收集完日志存放在es时,指定不同应用对应的不同索引名,这样就能实现tomcat在tomcat的索引库,nginx在nginx 的索引库,互不干扰

2.配置文件详解

filebeat.inputs:              //收集什么日志
- type: log                   //采集类型,如果有多个应用系统则配置多个
  enabled: true                 //是否启用,true为启用,false为不起用,启用后就会在es上创建索引库
  paths:                    //日志所在路径
    - /var/log/nginx/access.log 
    - /var/log/nginx/error.log
  fields:                   //在es库里额外增加一个字段,也类似于标签
    index: nginx                //字段名:值
  json.keys_under_root: true            //解析json格式的日志
  json.overwrite_keys: true
output.elasticsearch:               //日志存放在哪个es集群
  hosts: ["192.168.81.210:9200"]          //集群地址
  indices:                      //索引信息
    - index: "elk-nginx-%{+yyyy.MM.dd}"       //索引名称
      when.equals:            //匹配哪个标签
        fields:             //配置标签类型为字段
          index: "nginx"          //配置指定的字段,当index字段的值为nginx则存储到elk-nginx索引中

3.filebeat配置多个应用日志收集并存放到不同的索引库

3.1.修改配置文件

[root@logsj ~]# vim /etc/filebeat/filebeat.yml 
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
  fields:
    index: nginx
  json.keys_under_root: true
  json.overwrite_keys: true
- type: log
  enabled: true
  paths:
    - /application/tomcat/logs/catalina.out
  fields:
    index: tomcat
output.elasticsearch:
  hosts: ["192.168.81.210:9200"]
  indices:
    - index: "elk-nginx-%{+yyyy.MM.dd}"
      when.equals:
        fields:
          index: "nginx"
    - index: "elk-tomcat-%{+yyyy.MM.dd}"
      when.equals:
        fields:
          index: "tomcat"

3.2.重启filebeat

[root@logsj ~]# systemctl restart filebeat

3.3.查看es上创建的索引库

已经有了tomcat索引和nginx索引,可以看到已经不是默认的3个索引了,因为我们也修改了默认的模板,只要自定义索引名,就默认启用了新的模板配置,就成了es默认的5个分片,1个副本

4.在kibana上创建tomcat和nginx的索引库

在kibana上创建的索引,其实就是调了es上的索引

在这里填写了es索引库的名称后,会自动把匹配的索引库都列出来,所以就相当于调用了

填写名称时要写通配符,比如elk-nginx-*,因为filebeat每天收集来的日志都是单独存放在不用的索引库中,比如第一天为elk-nginx-01,第二天就是elk-nginx-02,这样一来,如果写死索引名,则每天都需要新增索引库,非常麻烦,因此就填写通配符,这样就会把每天的日志都合并在一起,也可以做到不同日期进行对比查询

4.1.创建elk-tomcat索引库

点击Managerment—kibana一栏—索引模式

名称那填写elk-tomcat-*

字段选择@timestamp

创建完成

4.2.创建elk-nginx索引库

名称那填写elk-nginx-*

自动选择@timestamp

4.3.创建完成

5.在kibana上统计不同应用的日志

5.1.统计tomcat日志

点击Discovery—选择对应的tomcat索引

需要统计什么就填写筛选器,如果搜索内容就在上面>_里搜

5.2.统计nginx日志

nginx开启了json格式的日志,因此统计的面更全

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8天前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
5天前
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
24 3
|
5天前
|
存储 JSON 前端开发
一文搞懂 Go 1.21 的日志标准库 - slog
一文搞懂 Go 1.21 的日志标准库 - slog
16 2
|
5天前
|
JSON Go API
一文搞懂 Golang 高性能日志库 - Zap
一文搞懂 Golang 高性能日志库 - Zap
15 2
|
11天前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块
|
5天前
|
存储 JSON Go
一文搞懂 Golang 高性能日志库 Zerolog
一文搞懂 Golang 高性能日志库 Zerolog
8 0
|
4天前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
6天前
|
SQL 存储 JSON
更快更强,SLS 推出高性能 SPL 日志查询模式
从海量的日志数据中,按照各种灵活的条件进行即时查询搜索,是可观测场景下的基本需求。本文介绍了 SLS 新推出的高性能 SPL 日志查询模式,支持 Unix 风格级联管道式语法,以及各种丰富的 SQL 处理函数。同时通过计算下推、向量化计算等优化,使得 SPL 查询可以在数秒内处理亿级数据,并支持 SPL 过滤结果分布图、随机翻页等特性。
205 65
|
3天前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
7天前
|
Java 应用服务中间件
SpringBoot 记录 access.log 日志
SpringBoot 记录 access.log 日志
17 0
SpringBoot 记录 access.log 日志

热门文章

最新文章