首页 > 其他分享 >ELK日志拆分

ELK日志拆分

时间:2023-12-07 14:14:07浏览次数:34  
标签:ELK filebeat log fields Logstash 拆分 qfzs 日志 logstash

当然,下面是一个完整的示例,包括Filebeat和Logstash的配置,以便实现按项目进行索引拆分的日志收集:

**Filebeat 配置示例:**

```yaml
filebeat.inputs:
- type: log
enabled: true
paths:
- /opt/logs/qfzs-assistant/log_info.log
fields:
project: "assistant"

- type: log
enabled: true
paths:
- /opt/logs/qfzs-shop/log_info.log
fields:
project: "qfzs-shop"

- type: log
enabled: true
paths:
- /opt/logs/qfzs-table/log_info.log
fields:
project: "qfzs-table"

- type: log
enabled: true
paths:
- /opt/logs/qfzs-user/log_info.log
fields:
project: "qfzs-user"

output.logstash:
hosts: ["localhost:5044"]
```

**Logstash 配置示例:**

```conf
input {
beats {
port => 5044
}
}

filter {
if "assistant" in [fields][project] {
mutate {
add_field => { "index_prefix" => "filebeat-assistant" }
}
}
else if "qfzs-shop" in [fields][project] {
mutate {
add_field => { "index_prefix" => "filebeat-qfzs-shop" }
}
}
else if "qfzs-table" in [fields][project] {
mutate {
add_field => { "index_prefix" => "filebeat-qfzs-table" }
}
}
else if "qfzs-user" in [fields][project] {
mutate {
add_field => { "index_prefix" => "filebeat-qfzs-user" }
}
}
else {
mutate {
add_field => { "index_prefix" => "filebeat-default" }
}
}
}

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "%{[index_prefix]}-%{+YYYY.MM.dd}"
}
}
```

请确保你在机器上正确安装了Filebeat和Logstash,并将上述配置文件分别保存为`filebeat.yml`和`logstash.conf`。然后按照以下步骤进行配置:

1. 将`filebeat.yml`配置文件放置到Filebeat的配置目录中,通常是`/etc/filebeat/`。
2. 将`logstash.conf`配置文件放置到Logstash的配置目录中,通常是`/etc/logstash/conf.d/`。
3. 确保Logstash已经安装了beats输入插件和elasticsearch输出插件。你可以使用以下命令来安装插件:

```bash
sudo bin/logstash-plugin install logstash-input-beats
sudo bin/logstash-plugin install logstash-output-elasticsearch
```

4. 启动Logstash服务:

```bash
sudo bin/logstash -f /etc/logstash/conf.d/logstash.conf
```

5. 启动Filebeat服务:

```bash
sudo systemctl start filebeat
```

现在,Filebeat将按照配置的路径和项目字段值收集日志,并发送到Logstash的5044端口。Logstash根据项目字段的值将日志事件发送到不同的索引。每个索引的名称格式为`filebeat-projectName-YYYY.MM.dd`,其中`projectName`对应于每个项目的名称。

希望这个完整示例可以帮助你实现按项目进行索引拆分的日志收集。如果有任何进一步的问题,请随时提问。

标签:ELK,filebeat,log,fields,Logstash,拆分,qfzs,日志,logstash
From: https://www.cnblogs.com/JIKes/p/17881856.html

相关文章

  • ELK 日志保留三天
    如果你希望只保留3天的日志数据,你可以通过使用Elasticsearch的索引生命周期管理(ILM)功能来实现。ILM允许你定义自动化的索引生命周期策略,包括日志数据的保留时间。以下是一个示例,演示如何配置针对每个项目的3天日志保留策略:1.首先,确保你的Elasticsearch版本支持索引生命周期管理......
  • nginx中增加自定义的header,并且在nginx的日志中显示这个header的具体的值
    1、需求说明有的时候,为了进行某些特性的调试,需要增加自定义的header。 那么,要去测试这个header是否真的加成功了,后面某些的设置,需要使用这个值。 怎么办呢? 使用日志的方式,看nginx到底,有没有获得这个值。 2、配置过程 2.1谷歌浏览器使用插件,增加header 插件......
  • P6入门:项目初始化4-项目详情之预算日志及汇总Budget
    前言使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等,在接下来的博文中,我将结合官方帮助介绍这些基本设置,希望给对P6感兴趣的人带来帮助。涉及P6 项目详情设置包括:G......
  • .NET 6 (C#) Microsoft.Extensions.Logging 日志框架的使用
    .NET6中的日志框架主要是基于Microsoft.Extensions.Logging,这是一个通用的、可扩展的日志记录接口,允许使用不同的日志提供程序(例如控制台、文件、第三方库等)进行日志记录。本文主要介绍.NET6(C#)中Microsoft.Extensions.Logging日志框架的使用,以及相关的示例代码。1......
  • .NET 6 (C#) Serilog 日志框架的使用
    ​Serilog是.NET6中常用的日志框架之一,用于记录和管理应用程序的日志信息。它具有灵活的配置选项和丰富的扩展功能,使开发人员能够轻松地集成日志记录功能到他们的应用程序中。Serilog是一个用于.NET应用程序的诊断日志库。它易于设置,具有清晰的API,并且可以在所有最新的.NET平台上......
  • kibana上发现很多ERROR日志换行情况
    我们在部署elk完后,在kibana上发现很多ERROR日志换行情况,结果会在kibana上看到多行的error日志我们常出现的ERROR日志如下[INFO][2020-03-2222:37:05,064][org.apache.commons.httpclient.HttpMethodDirector]Retryingrequestjava.net.ConnectException:拒绝连接(Connection......
  • Java Spring Boot logback 日志配置与使用总结
    在项目开发中,日志是必不可少的,没有日志,怎么排查bug,而且日志也有助于我们看到相关的输入输出,总的来说,日志是日常项目开发必须要有的。今天我们学习SpringBoot中集成logback日志,这里主要会涉及到日志的配置和简单实现,更多的细节请移步官方文档,自己品读,此文档有助于初涉Sprin......
  • Abp vNext 禁用数据库日志
    AbpvNext禁用数据库日志使用AbpvNext6.0在abp创建的数据库里有四张表是跟日志有关的AbpAuditLogs:审计日志,记录网络请求的AbpSecurityLogs:安全日志,记录登录日志的OpenIddictAuthorizations:OpenIddict记录登录操作的OpenIddictTokens:OpenIddict记录token的,access_token和......
  • .NET 6 使用Nlog 记录日志到本地并写入SQLserver数据库
    1.安装Nlog对应Nuget包版本NLog:5.0.4NLog.Database:5.0.4NLog.Web.AspNetCore:5.1.4Microsoft.Data.SqlClient:5.0.0(写入SQLServer数据库用的)2.建表SQLCREATETABLE[dbo].[NLog]( [Id][bigint]IDENTITY(1,1)NOTNULL, [Application][nvarchar](50)NOTNULL, [Lo......
  • 定时清理docker容器日志
    场景:docker容器启用一段时间之后日志会逐渐累积,越来越臃肿,可能高达几十个G,我们需要定期自动清理此容器日志1.创建文件夹,创建文件写入命令,更改可执行权限:mkdir-p/opt/docker-shcat>/opt/docker-sh/clean_docker_log.sh<<EOF#!/bin/shecho"========startclean......