【发布时间】:2021-04-10 18:14:26
【问题描述】:
将此配置用于logstash 的输出。它使用/tmp/logstash-gcs 作为本地文件夹。当文件变为 1024 kbytes 时发送到 GCS。
input {
beats {
port => 5044
}
}
filter {}
output {
google_cloud_storage {
bucket => "gcs-bucket-name"
json_key_file => "/secrets/service_account/credentials.json"
temp_directory => "/tmp/logstash-gcs"
log_file_prefix => "logstash_gcs"
max_file_size_kbytes => 1024
output_format => "json"
date_pattern => "%Y-%m-%dT%H:00"
flush_interval_secs => 2
gzip => false
gzip_content_encoding => false
uploader_interval_secs => 60
include_uuid => true
include_hostname => true
}
}
重新启动机器后,是否可以连续执行作业计划而不会丢失任何数据? 它是否具有队列功能可以作为发布/订阅进行管理?
【问题讨论】:
-
您的意见是什么?如果您重新启动 logstash 机器,您可能会在服务中断时丢失数据,具体取决于您的输入。
-
我添加了输入。这是文件节拍。
-
Filebeat 跟踪它发送到 logstash 的最后一行,如果 logstash 失败,它将继续重试,直到 logstash 恢复并且logstash 将开始输出这些事件,因此您不应期望任何数据丢失。跨度>
-
我在 kubernetes 上部署了一个 logstash 服务。它使用 PVC 将
/tmp/logstash-gcs路径挂载到存储。 pod重启后,可以找到文件,但还没有上传到gcs:sh-4.2$ ls -l /tmp/logstash-gcs/,-rw-r--r-- 1 logstash logstash 875 Jan 5 01:45 logstash_gcs_logstash-log-pipeline-0_2021-01-05T01:00.part000.d31cb8f9-2e88-9dff-7acd-1ca258ef7681.log。等了60秒,还是没有上传。大小在1024kb以下,正常吗?什么时候可以上传? -
我不使用此输出,但查看documentation,您在改进列表中有此信息:“没有恢复方法,因此如果logstash/plugin 崩溃,文件可能不会上传到GCS。”也许重启时也会发生这种情况。
标签: google-cloud-storage logstash instance publish-subscribe data-persistence