发布时间:2022-11-05 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

本文主要介绍 Logstash 的一些常用输出插件;相关的环境及软件信息如下:CentOS7.9、Logstash 8.2.2。

1、Stdout 输出插件

Stdout 插件把结果数据输出到标准输出。

input {
  stdin {
  }
}
output {
  stdout {
  }
}

2、File 输出插件

File 插件把结果数据输出文件。

input {
  stdin {
  }
}
output {
  file {
    path => "/home/hadoop/a.txt"
    codec => line {
      format => "%{message}" #只把原始数据写入文件
    }
  }
}

3、Elasticsearch 输出插件

Elasticsearch插件把结果数据写入到 Elasticsearch 中。

input {
  stdin {
    codec => json
  }
}
output {
  stdout { } #同时把结果输出到控制台
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "my-index"
    user => "elastic"
    password => "123456"
  }
}

4、Kafka 输出插件

Kafka 插件把结果数据写入到 Kafka 中。

input {
  stdin {
  }
}
output {
  stdout {}
  kafka {
    topic_id => "test"
    codec => "plain"
  }
}

5、Rabbitmq 输出插件

Rabbitmq 插件把结果数据写入到 Rabbitmq中。

input {
  stdin {
  }
}
output {
  stdout {} #同时把结果输出到控制台
  rabbitmq {
    host => "localhost"
    port => 5672
    user => "admin"
    password => "admin"
    exchange => "" #默认交换机
    exchange_type => "direct"
    key => "test" #exchance绑定queue的routeKey
    codec => "plain"
  }
}

6、Http 输出插件

Rabbitmq 插件使用结果数据调用配置的 HTTP 接口。

input {
  stdin {
  }
}
output {
  stdout {}
  http {
    url => "http://localhost:8080/test/hello2"
    http_method => "post"
    format => "json"
    codec => "json"
  }
}

7、Redis 输出插件

Redis 插件把结果数据写入到 Redis 中。

input {
  stdin {
  }
}
output {
  stdout {
  }
  redis {
    host => "localhost"
    port => 6379
    data_type => "list"
    key => "a"
    codec => plain {
      format => "%{message}" #只把原始数据写入文件
    }
  }
}