从 OpenSearch 读取
由于我们使用 OpenSearch 输出插件 将 Logstash 事件发送到 OpenSearch 集群,我们也可以使用 OpenSearch 输入插件 对 OpenSearch 集群执行读取操作并将数据加载到 Logstash 中。
OpenSearch 输入插件读取在 OpenSearch 集群上执行的搜索查询结果并将其加载到 Logstash 中。这允许您重播测试日志、重新索引以及根据加载的数据执行其他操作。您可以使用 cron 表达式 定期调度摄入,或者通过运行一次查询手动将数据加载到 Logstash 中。
OpenSearch 输入插件
要运行 OpenSearch 输入插件,请将配置添加到 Logstash config
文件夹中的 pipeline.conf
文件。以下示例运行 match_all
查询过滤器并加载一次数据。
input {
opensearch {
hosts => "https://hostname:port"
user => "admin"
password => "admin"
index => "logstash-logs-%{+YYYY.MM.dd}"
query => '{ "query": { "match_all": {}} }'
}
}
filter {
}
output {
}
要按计划摄入数据,请使用指定所需计划的 cron 表达式。例如,要每分钟加载数据,请将 schedule => "* * * * *"
添加到 pipeline.conf
文件的输入部分。
与输出插件类似,在将配置添加到 pipeline.conf
文件后,通过提供该文件的路径来启动 Logstash
$ bin/logstash -f config/pipeline.conf --config.reload.automatic
config/pipeline.conf
是 pipeline.conf
文件的相对路径。您也可以使用绝对路径。
将 stdout{}
添加到 pipeline.conf
文件的 output{}
部分会将查询结果打印到控制台。
要将数据重新索引到 OpenSearch 域中,请在 output{}
部分添加目标域配置,如此处所示。