Google Cloud Storage 输出插件
编辑Google Cloud Storage 输出插件
编辑- 插件版本:v4.5.0
- 发布日期:2024-09-16
- 变更日志
有关其他版本,请参阅版本化插件文档。
安装
编辑对于默认未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-output-google_cloud_storage
轻松安装。有关更多详细信息,请参阅使用插件。
获取帮助
编辑有关插件的问题,请在讨论论坛中开一个主题。对于错误或功能请求,请在Github中开一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑一个将日志事件上传到 Google Cloud Storage (GCS) 的插件,它会根据配置设置中提供的日期模式滚动文件。事件被写入本地文件,一旦文件关闭,此插件会将其上传到配置的存储桶。
有关 Google Cloud Storage 的更多信息,请访问:https://cloud.google.com/products/cloud-storage
为了使用此插件,必须使用 Google 服务帐户。有关更多信息,请参阅:https://developers.google.com/storage/docs/authentication#service_accounts
建议:根据您生成的日志数据量尝试设置,以便上传器可以跟上生成的日志。使用 gzip 输出可以很好地减少上传日志文件时的网络流量,并且可以降低存储成本。
用法
编辑这是一个 logstash 配置的示例
output { google_cloud_storage { bucket => "my_bucket" (required) json_key_file => "/path/to/privatekey.json" (optional) temp_directory => "/tmp/logstash-gcs" (optional) log_file_prefix => "logstash_gcs" (optional) max_file_size_kbytes => 1024 (optional) output_format => "plain" (optional) date_pattern => "%Y-%m-%dT%H:00" (optional) flush_interval_secs => 2 (optional) gzip => false (optional) gzip_content_encoding => false (optional) uploader_interval_secs => 60 (optional) include_uuid => true (optional) include_hostname => true (optional) } }
改进待办事项列表
编辑- 支持 logstash 事件变量以确定文件名。
- 将 Google API 代码转换为插件 Mixin(如 AwsConfig)。
- 没有恢复方法,因此如果 logstash/插件崩溃,文件可能不会上传到 GCS。
- 允许用户配置文件名。
- 允许并行上传以应对更大的负载(+如果 Ruby API 客户端公开,则允许连接配置)
Google_cloud_storage 输出配置选项
编辑此插件支持以下配置选项,以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
已弃用 |
||
否 |
||
否 |
||
否 |
||
string,可以是 |
已弃用 |
|
已弃用 |
||
否 |
||
否 |
另请参阅通用选项,了解所有输出插件支持的选项列表。
date_pattern
编辑- 值类型是string
- 默认值是
"%Y-%m-%dT%H:00"
日志文件的时间模式,默认为每小时文件。必须是 Time.strftime 模式:www.ruby-doc.org/core-2.0/Time.html#method-i-strftime
gzip
编辑- 值类型是boolean
- 默认值是
false
将事件写入日志文件时压缩输出流,将 Content-Type
设置为 application/gzip
而不是 text/plain
,并使用文件后缀 .log.gz
而不是 .log
。
gzip_content_encoding
编辑在 3.3.0 中添加。
- 值类型是boolean
- 默认值是
false
将事件写入日志文件时压缩输出流并将 Content-Encoding
设置为 gzip
。这将以 gzip
格式上传您的文件,从而节省网络和存储成本,但是当您从存储桶中读取它们时,它们将以透明的方式解压缩。
有关更多信息,请参阅 Cloud Storage 文档中的元数据和转码。
注意:不建议同时使用 gzip_content_encoding
和 gzip
。这会两次压缩您的文件,这将增加您机器的工作量,并使文件比仅压缩一次更大。
include_hostname
编辑在 3.1.0 中添加。
- 值类型是boolean
- 默认值是
true
文件名中是否应包含主机名?您可能出于隐私原因或如果您运行 Logstash 的多个实例并且需要将您创建的文件与简单的 glob 匹配(例如,如果您想将文件导入 BigQuery)而关闭此功能。
include_uuid
编辑在 3.1.0 中添加。
- 值类型是boolean
- 默认值是
false
将 UUID 添加到文件名的末尾。如果运行 Logstash 的多个实例,或者您预期节点频繁重启,则可能需要启用此功能,以使文件不会相互覆盖。
json_key_file
编辑- 值类型是string
- 默认值是
nil
如果插件在 Compute Engine、Kubernetes Engine、App Engine 或 Cloud Functions 上运行,则可以使用应用程序默认凭据 (ADC)。
在 Google Cloud 之外,您需要通过 Web 界面或使用以下命令创建一个服务帐户 JSON 密钥文件:gcloud iam service-accounts keys create key.json --iam-account [email protected]
max_concurrent_uploads
编辑- 值类型是number
- 默认值是
5
设置同时上传到 Cloud Storage 的最大并发数。上传是 I/O 绑定的,因此根据可用的网络带宽以及您的服务器与 Cloud Storage 之间的延迟来调整此参数是有意义的。
output_format
编辑- 值可以是:
json
、plain
或无值 - 默认值是无值
已弃用,此功能将在下一个主要版本中删除。请改用编解码器。
- 如果您今天正在使用
json
值,请切换到json_lines
编解码器。 - 如果您今天正在使用
plain
值,请切换到line
编解码器。
您要存储在文件中的事件格式。默认为纯文本。
注意:如果您想使用编解码器,则一定不能设置此值。
通用选项
编辑所有输出插件都支持这些配置选项