- Logstash 参考文档其他版本
- Logstash 简介
- Logstash 入门
- Logstash 的工作原理
- 设置和运行 Logstash
- 升级 Logstash
- 创建 Logstash 管道
- 保护您的连接
- 高级 Logstash 配置
- Logstash 到 Logstash 通信
- 管理 Logstash
- 将 Logstash 与 Elastic Integrations 一起使用
- 使用 Logstash 模块
- 使用 Filebeat 模块
- 使用 Winlogbeat 模块
- 队列和数据弹性
- 转换数据
- 部署和扩展 Logstash
- 管理 GeoIP 数据库
- 性能调优
- 使用 Elastic Agent 监控 Logstash
- 监控 Logstash(旧版)
- 使用 API 监控 Logstash
- 使用插件
- 集成插件
- 输入插件
- azure_event_hubs
- beats
- cloudwatch
- couchdb_changes
- dead_letter_queue
- elastic_agent
- elastic_serverless_forwarder
- elasticsearch
- exec
- file
- ganglia
- gelf
- generator
- github
- google_cloud_storage
- google_pubsub
- graphite
- heartbeat
- http
- http_poller
- imap
- irc
- java_generator
- java_stdin
- jdbc
- jms
- jmx
- kafka
- kinesis
- logstash
- log4j
- lumberjack
- meetup
- pipe
- puppet_facter
- rabbitmq
- redis
- relp
- rss
- s3
- s3-sns-sqs
- salesforce
- snmp
- snmptrap
- sqlite
- sqs
- stdin
- stomp
- syslog
- tcp
- udp
- unix
- varnishlog
- websocket
- wmi
- xmpp
- 输出插件
- boundary
- circonus
- cloudwatch
- csv
- datadog
- datadog_metrics
- dynatrace
- elastic_app_search
- elastic_workplace_search
- elasticsearch
- exec
- file
- ganglia
- gelf
- google_bigquery
- google_cloud_storage
- google_pubsub
- graphite
- graphtastic
- http
- influxdb
- irc
- java_stdout
- juggernaut
- kafka
- librato
- logstash
- loggly
- lumberjack
- metriccatcher
- mongodb
- nagios
- nagios_nsca
- opentsdb
- pagerduty
- pipe
- rabbitmq
- redis
- redmine
- riak
- riemann
- s3
- sink
- sns
- solr_http
- sqs
- statsd
- stdout
- stomp
- syslog
- tcp
- timber
- udp
- webhdfs
- websocket
- xmpp
- zabbix
- 过滤器插件
- age
- aggregate
- alter
- bytes
- cidr
- cipher
- clone
- csv
- date
- de_dot
- dissect
- dns
- drop
- elapsed
- elastic_integration
- elasticsearch
- environment
- extractnumbers
- fingerprint
- geoip
- grok
- http
- i18n
- java_uuid
- jdbc_static
- jdbc_streaming
- json
- json_encode
- kv
- memcached
- metricize
- metrics
- mutate
- prune
- range
- ruby
- sleep
- split
- syslog_pri
- threats_classifier
- throttle
- tld
- translate
- truncate
- urldecode
- useragent
- uuid
- wurfl_device_detection
- xml
- 编解码器插件
- 技巧和最佳实践
- 故障排除
- 为 Logstash 做贡献
- 贡献 Java 插件
- 重大变更
- 发行说明
- Logstash 8.17.0 发行说明
- Logstash 8.16.1 发行说明
- Logstash 8.16.0 发行说明
- Logstash 8.15.4 发行说明
- Logstash 8.15.3 发行说明
- Logstash 8.15.2 发行说明
- Logstash 8.15.1 发行说明
- Logstash 8.15.0 发行说明
- Logstash 8.14.3 发行说明
- Logstash 8.14.2 发行说明
- Logstash 8.14.1 发行说明
- Logstash 8.14.0 发行说明
- Logstash 8.13.4 发行说明
- Logstash 8.13.3 发行说明
- Logstash 8.13.2 发行说明
- Logstash 8.13.1 发行说明
- Logstash 8.13.0 发行说明
- Logstash 8.12.2 发行说明
- Logstash 8.12.1 发行说明
- Logstash 8.12.0 发行说明
- Logstash 8.11.4 发行说明
- Logstash 8.11.3 发行说明
- Logstash 8.11.2 发行说明
- Logstash 8.11.1 发行说明
- Logstash 8.11.0 发行说明
- Logstash 8.10.4 发行说明
- Logstash 8.10.3 发行说明
- Logstash 8.10.2 发行说明
- Logstash 8.10.1 发行说明
- Logstash 8.10.0 发行说明
- Logstash 8.9.2 发行说明
- Logstash 8.9.1 发行说明
- Logstash 8.9.0 发行说明
- Logstash 8.8.2 发行说明
- Logstash 8.8.1 发行说明
- Logstash 8.8.0 发行说明
- Logstash 8.7.1 发行说明
- Logstash 8.7.0 发行说明
- Logstash 8.6.2 发行说明
- Logstash 8.6.1 发行说明
- Logstash 8.6.0 发行说明
- Logstash 8.5.3 发行说明
- Logstash 8.5.2 发行说明
- Logstash 8.5.1 发行说明
- Logstash 8.5.0 发行说明
- Logstash 8.4.2 发行说明
- Logstash 8.4.1 发行说明
- Logstash 8.4.0 发行说明
- Logstash 8.3.3 发行说明
- Logstash 8.3.2 发行说明
- Logstash 8.3.1 发行说明
- Logstash 8.3.0 发行说明
- Logstash 8.2.3 发行说明
- Logstash 8.2.2 发行说明
- Logstash 8.2.1 发行说明
- Logstash 8.2.0 发行说明
- Logstash 8.1.3 发行说明
- Logstash 8.1.2 发行说明
- Logstash 8.1.1 发行说明
- Logstash 8.1.0 发行说明
- Logstash 8.0.1 发行说明
- Logstash 8.0.0 发行说明
- Logstash 8.0.0-rc2 发行说明
- Logstash 8.0.0-rc1 发行说明
- Logstash 8.0.0-beta1 发行说明
- Logstash 8.0.0-alpha2 发行说明
- Logstash 8.0.0-alpha1 发行说明
Google BigQuery 输出插件
编辑Google BigQuery 输出插件
编辑- 插件版本:v4.6.0
- 发布于:2024-09-16
- 更新日志
对于其他版本,请参阅版本化插件文档。
安装
编辑对于默认未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-output-google_bigquery
轻松安装。有关详细信息,请参阅使用插件。
获取帮助
编辑如有关于插件的问题,请在 Discuss 论坛中开一个主题。如有错误或功能请求,请在 Github 中提出一个问题。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑环境配置
编辑您必须在 Google Cloud 帐户上启用 BigQuery,并创建一个数据集来保存此插件生成的表。
您还必须授予此插件使用的服务帐户对数据集的访问权限。
您可以使用Logstash 条件和多个配置块来上传具有不同结构的事件。
用法
编辑这是一个 Logstash 配置的示例
output { google_bigquery { project_id => "folkloric-guru-278" (required) dataset => "logs" (required) csv_schema => "path:STRING,status:INTEGER,score:FLOAT" (required) json_key_file => "/path/to/key.json" (optional) error_directory => "/tmp/bigquery-errors" (required) date_pattern => "%Y-%m-%dT%H:00" (optional) flush_interval_secs => 30 (optional) } }
指定 csv_schema 或 json_schema。 |
|
如果未使用密钥,则插件会尝试查找应用程序默认凭据 |
注意事项
编辑- 使用流式 API 将数据插入 BigQuery 需要少量费用。
- 此插件在内存中缓冲事件,因此请确保刷新配置适合您的用例,并考虑使用Logstash 持久队列。
- 当满足
batch_size
、batch_size_bytes
或flush_interval_secs
时,将刷新事件,以先满足的条件为准。如果您注意到处理延迟或吞吐量低,请尝试调整这些设置。
Google BigQuery 输出配置选项
编辑此插件支持以下配置选项以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
否 |
||
否 |
||
否 |
||
是 |
||
否 |
||
已弃用 |
||
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
已弃用 |
||
是 |
||
已弃用 |
||
否 |
||
否 |
||
否 |
||
已弃用 |
||
已弃用 |
||
已弃用 |
另请参阅通用选项,了解所有输出插件支持的选项列表。
batch_size
编辑在 4.0.0 中添加。
- 值类型为 number
- 默认值为
128
一次上传的最大消息数。此数字必须 < 10,000。批处理可以提高性能和吞吐量,但会以每次请求的延迟为代价。每个请求的行太少,每个请求的开销都会使摄取效率低下。每个请求的行太多,吞吐量可能会下降。BigQuery 建议每个请求使用大约 500 行,但使用有代表性的数据(模式和数据大小)进行实验将有助于您确定理想的批处理大小。
batch_size_bytes
编辑在 4.0.0 中添加。
- 值类型为 number
- 默认值为
1_000_000
作为批处理一部分上传的字节数的近似值。此数字应 < 10MB,否则插入可能会失败。
csv_schema
编辑- 值类型为 string
- 默认值为
nil
日志数据的架构。它必须遵循格式 name1:type1(,name2:type2)*
。例如,path:STRING,status:INTEGER,score:FLOAT
。
date_pattern
编辑- 值类型为 string
- 默认值为
"%Y-%m-%dT%H:00"
BigQuery 表的时间模式,默认为每小时表。必须是 Time.strftime 模式:www.ruby-doc.org/core-2.0/Time.html#method-i-strftime
error_directory
编辑在 4.0.0 中添加。
- 这是一个必需的设置。
- 值类型为 string
- 默认值为
"/tmp/bigquery"
。
存储由于错误而无法上传的事件的位置。默认情况下,如果插入中的任何消息无效,则所有消息都将失败。您可以使用 skip_invalid_rows
来允许部分插入。
考虑使用其他 Logstash 输入将这些内容管道传输到警报平台,以便您可以手动修复事件。
或使用 GCS FUSE 透明地上传到 GCS 存储桶。
文件名遵循模式 [表名]-[UNIX 时间戳].log
ignore_unknown_values
编辑- 值类型为 boolean
- 默认值为
false
指示 BigQuery 是否应忽略表中未表示的值。如果为 true,则会丢弃额外的值。如果为 false,BigQuery 将拒绝包含额外字段的记录,并且作业将失败。默认值为 false。
您可能需要添加如下所示的 Logstash 过滤器来删除它添加的常见字段
mutate { remove_field => ["@version","@timestamp","path","host","type", "message"] }
json_key_file
编辑在 4.0.0 中添加。
替换 key_password
和 service_account
。
- 值类型为 string
- 默认值为
nil
如果 Logstash 在 Google Compute Engine 中运行,则插件可以使用 GCE 的应用程序默认凭据。在 GCE 之外,您需要指定服务帐户 JSON 密钥文件。
json_schema
编辑- 值类型为 hash
- 默认值为
nil
日志数据作为哈希的架构。这些可以包括嵌套记录、描述和模式。
示例
json_schema => { fields => [{ name => "endpoint" type => "STRING" description => "Request route" }, { name => "status" type => "INTEGER" mode => "NULLABLE" }, { name => "params" type => "RECORD" mode => "REPEATED" fields => [{ name => "key" type => "STRING" }, { name => "value" type => "STRING" }] }] }
skip_invalid_rows
编辑在 4.1.0 中添加。
- 值类型为 boolean
- 默认值为
false
插入请求的所有有效行,即使存在无效行也是如此。默认值为 false,如果存在任何无效行,则会导致整个请求失败。
On this page
- 安装
- 获取帮助
- 描述
- 摘要
- 环境配置
- 用法
- 注意事项
- 其他资源
- Google BigQuery 输出配置选项
batch_size
batch_size_bytes
csv_schema
dataset
date_pattern
deleter_interval_secs
error_directory
flush_interval_secs
ignore_unknown_values
json_key_file
json_schema
key_password
project_id
service_account
skip_invalid_rows
table_prefix
table_separator
temp_directory
temp_file_prefix
uploader_interval_secs
- 通用选项
codec
enable_metric
id