logstash多input 多 output 配置

本文详细解析了Logstash中RabbitMQ输入插件的配置方法,包括不同类型的日志如何通过RabbitMQ发送到Elasticsearch进行索引归档。具体涵盖了交换机设置、队列管理、身份验证及日志类型路由等关键配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置文件

input {
  rabbitmq {
       type =>"credit"
       durable => true
       exchange => "rabbit.credit.log"
       exchange_type => "direct"
       key => "credit_log"
       port => 5672
       user => "guest"
       password => "894924454"
       queue => "credit_log_queue"
       auto_delete => false
  }    
  rabbitmq {
       type =>"system"
       durable => true
       exchange => "rabbit.system.log"
       exchange_type => "direct"
       key => "system_log"
       host => "127.0.0.1"
       port => 5672
       user => "guest"
       password => "894924454"
       queue => "credit_log_queue"
       auto_delete => false
  }     
 
}

output{

   if [type] == "system"{
       elasticsearch {
        hosts=>["127.0.0.1:9200"]
        index => "es-credit-%{+YYYY.MM.dd}" #对日志进行索引归档
       }
   }   
   if [type] == "system"{
       elasticsearch {
        hosts=>["127.0.0.1:9200"]
        index => "es-credit-%{+YYYY.MM.dd}" #对日志进行索引归档
       }
    } 
   

当需要多个系统通过ELK (Elasticsearch、Logstash Kibana) 集成处理日志时,你需要对 Logstash 进行一些配置,以便它能够接收来自不同系统的输入并输出到相应的存储位置。以下是基本步骤: 1. **设置输入插件**: - 对于每个不同的源系统,配置一个适合的 Logstash 输入插件。例如,对于文件系统,使用 `file` 插件;对于网络流,可以使用 `tcp`, `udp`, 或 `beats` 等。每个输入应该有一个独特的管道名称(pipeline),如 `%{[source]}`,这样可以根据日志来源区分。 ```json input { [对应系统的输入插件配置] file { path => "path/to/[system_name]/*.log" codec => "json" # 根据实际日志格式调整 } beats { # 如果是通过 Beats 接收数据 port => 5044 # 可能需要修改 } } ``` 2. **创建管道(pipelines)**: 在 `logstash.conf` 文件中,为每个系统创建一个独立的管道,它们将共享相同的输出配置,但有不同的输入配置。 ```ruby input { [第一个系统输入配置] } [input管道名称_第二个系统] { [第二个系统输入配置] } output { [共同输出配置] } ``` 3. **设置共同输出**: 使用 `stdout` 输出作为默认,或者配置 Elasticsearch 输出以将所有数据发送到一个共同的目标索引。如果是多个 Elasticsearch 节点,你需要指定适当的 hosts 配置。 ```ruby output { stdout {} elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } } ``` 4. **启动管理**: 启动 Logstash 服务,并根据需要监控各个输入输出管道的状态,确保数据能够正确流向 ELK stack 的各个环节。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值