首页
/ Fluent-plugin-elasticsearch 使用教程

Fluent-plugin-elasticsearch 使用教程

2026-01-17 09:35:20作者:乔或婵

1. 项目的目录结构及介绍

Fluent-plugin-elasticsearch 是一个用于将日志发送到 Elasticsearch 的 Fluentd 插件。以下是该项目的目录结构及其介绍:

fluent-plugin-elasticsearch/
├── CONTRIBUTING.md
├── Gemfile
├── LICENSE.txt
├── README.md
├── Rakefile
├── fluent-plugin-elasticsearch.gemspec
├── lib/
│   └── fluent/
│       └── plugin/
│           ├── in_elasticsearch.rb
│           ├── out_elasticsearch.rb
│           └── out_elasticsearch_dynamic.rb
├── test/
│   └── plugin/
│       ├── test_in_elasticsearch.rb
│       ├── test_out_elasticsearch.rb
│       └── test_out_elasticsearch_dynamic.rb
└── README_ELASTICSEARCH_INPUT.md

目录结构说明

  • CONTRIBUTING.md: 贡献指南文件。
  • Gemfile: Ruby 项目的依赖管理文件。
  • LICENSE.txt: 项目许可证文件。
  • README.md: 项目主文档文件。
  • Rakefile: Ruby 项目的自动化任务文件。
  • fluent-plugin-elasticsearch.gemspec: 项目的 gem 规范文件。
  • lib/fluent/plugin/: 包含插件的核心代码文件。
    • in_elasticsearch.rb: Elasticsearch 输入插件。
    • out_elasticsearch.rb: Elasticsearch 输出插件。
    • out_elasticsearch_dynamic.rb: 动态 Elasticsearch 输出插件。
  • test/plugin/: 包含插件的测试代码文件。
    • test_in_elasticsearch.rb: Elasticsearch 输入插件的测试文件。
    • test_out_elasticsearch.rb: Elasticsearch 输出插件的测试文件。
    • test_out_elasticsearch_dynamic.rb: 动态 Elasticsearch 输出插件的测试文件。
  • README_ELASTICSEARCH_INPUT.md: Elasticsearch 输入插件的详细文档文件。

2. 项目的启动文件介绍

Fluent-plugin-elasticsearch 的启动文件主要是 out_elasticsearch.rbin_elasticsearch.rb

out_elasticsearch.rb

该文件定义了 Fluentd 如何将日志数据发送到 Elasticsearch。它包含了插件的主要逻辑和配置选项。

in_elasticsearch.rb

该文件定义了 Fluentd 如何从 Elasticsearch 读取数据。它包含了插件的主要逻辑和配置选项。

3. 项目的配置文件介绍

Fluent-plugin-elasticsearch 的配置文件主要是 fluent-plugin-elasticsearch.gemspecGemfile

fluent-plugin-elasticsearch.gemspec

该文件定义了插件的 gem 规范,包括名称、版本、依赖等信息。

Gem::Specification.new do |spec|
  spec.name          = "fluent-plugin-elasticsearch"
  spec.version       = "5.4.3"
  spec.authors       = ["diogo"]
  spec.summary       = "Elasticsearch output plugin for Fluentd"
  spec.description   = "Send your logs to Elasticsearch (and search them with Kibana)!"
  spec.homepage      = "https://github.com/uken/fluent-plugin-elasticsearch"
  spec.license       = "MIT"

  spec.files         = `git ls-files`.split($/)
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

  spec.add_runtime_dependency "elasticsearch", ">= 0"
  spec.add_runtime_dependency "excon", ">= 0"
  spec.add_runtime_dependency "fluentd", ">= 0.10.43"

  spec.add_development_dependency "minitest", "~> 5.8"
  spec.add_development_dependency "rake", ">= 0"
  spec.add_development_dependency "test-unit", "~> 3.1.0"
  spec.add_development
登录后查看全文
热门项目推荐
相关项目推荐