Logstash Elasticsearch 输出插件使用教程
logstash-output-elasticsearch项目地址:https://gitcode.com/gh_mirrors/lo/logstash-output-elasticsearch
1. 项目的目录结构及介绍
logstash-output-elasticsearch/
├── CONTRIBUTING.md
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
├── lib/
│ ├── logstash/
│ │ └── outputs/
│ │ └── elasticsearch.rb
├── logstash-output-elasticsearch.gemspec
├── spec/
│ ├── logstash/
│ │ └── outputs/
│ │ └── elasticsearch_spec.rb
- CONTRIBUTING.md: 贡献指南。
- Gemfile: 定义项目依赖。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- Rakefile: Rake 任务配置文件。
- lib/logstash/outputs/elasticsearch.rb: 插件核心代码。
- logstash-output-elasticsearch.gemspec: 插件的 gem 规范文件。
- spec/logstash/outputs/elasticsearch_spec.rb: 插件的测试文件。
2. 项目的启动文件介绍
项目的启动文件位于 lib/logstash/outputs/elasticsearch.rb
。这个文件定义了 Elasticsearch 输出插件的主要逻辑和配置选项。
require "logstash/outputs/base"
require "logstash/namespace"
class LogStash::Outputs::ElasticSearch < LogStash::Outputs::Base
config_name "elasticsearch"
# 配置选项定义
# ...
public
def register
# 初始化代码
end
public
def receive(event)
# 处理事件的代码
end
end
3. 项目的配置文件介绍
配置文件通常位于 Logstash 的 config
目录下,文件名通常为 logstash.conf
。以下是一个示例配置文件:
input {
file {
path => "/path/to/your/logfile.log"
start_position => "beginning"
}
}
filter {
# 过滤器配置
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}
- input: 定义输入源,例如文件输入。
- filter: 定义过滤器,用于处理输入数据。
- output: 定义输出目标,这里使用 Elasticsearch 输出插件。
- hosts: Elasticsearch 集群的地址。
- index: 指定索引名称。
通过以上配置,Logstash 可以将日志数据发送到 Elasticsearch 进行存储和分析。
logstash-output-elasticsearch项目地址:https://gitcode.com/gh_mirrors/lo/logstash-output-elasticsearch