- 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 发行说明
Exec 输入插件
编辑Exec 输入插件
编辑- 插件版本:v3.6.0
- 发布日期:2022-06-15
- 更新日志
有关其他版本,请参阅版本化插件文档。
获取帮助
编辑有关插件的问题,请在Discuss论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个问题。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑定期运行 shell 命令并将整个输出捕获为一个事件。
- 此事件的
command
字段将是运行的命令。 - 此事件的
message
字段将是该命令的整个标准输出。
exec 输入最终使用 fork
来生成子进程。使用 fork 会复制父进程的地址空间(在我们的例子中,logstash 和 JVM);这可以通过操作系统写时复制来缓解,但最终您可能会为“简单”的可执行文件分配大量内存。如果 exec 输入出现类似 ENOMEM: 无法分配内存
的错误,则表明没有足够的非 JVM 堆物理内存来执行 fork 操作。
示例
input { exec { command => "echo 'hi!'" interval => 30 } }
这将每 30 秒执行一次 echo
命令。
与 Elastic Common Schema (ECS) 的兼容性
编辑此插件添加有关事件来源的元数据,并且可以配置为以与 ECS 兼容的方式使用ecs_compatibility
进行此操作。此元数据在事件由适当的编解码器解码后添加,并且不会覆盖现有值。
ECS 已禁用 | ECS v1 , v8 | 描述 |
---|---|---|
|
|
处理事件的 Logstash 主机的名称 |
|
|
插件运行的命令 |
|
|
进程的退出代码 |
— |
|
命令运行所花费的时间(以纳秒为单位) |
|
— |
命令持续时间(以秒为单位的浮点数)(已弃用) |
Exec 输入配置选项
编辑此插件支持以下配置选项以及稍后描述的通用选项。
另请参阅通用选项,了解所有输入插件支持的选项列表。
ecs_compatibility
编辑- 值类型是字符串
-
支持的值为
-
disabled
:使用向后兼容的字段名称,例如[host]
-
v1
、v8
:使用与 ECS 兼容的字段,例如[host][name]
-
控制此插件与Elastic Common Schema (ECS)的兼容性。有关详细信息,请参阅与 Elastic Common Schema (ECS) 的兼容性。
示例输出:已启用 ECS
{ "message" => "hi!\n", "process" => { "command_line" => "echo 'hi!'", "exit_code" => 0 }, "host" => { "name" => "deus-ex-machina" }, "@metadata" => { "input" => { "exec" => { "process" => { "elapsed_time"=>3042 } } } } }
示例输出:已禁用 ECS
{ "message" => "hi!\n", "command" => "echo 'hi!'", "host" => "deus-ex-machina", "@metadata" => { "exit_status" => 0, "duration" => 0.004388 } }
schedule
编辑- 值类型是字符串
- 此设置没有默认值。
定期运行命令的时间表。
此调度语法由 rufus-scheduler 提供支持。该语法类似于 cron,并具有 Rufus 特有的一些扩展(例如时区支持)。
示例
|
将在 1 月到 3 月每天早上 5 点的每分钟执行一次。 |
|
将在每天每小时的第 0 分钟执行。 |
|
将在每天早上 6:00(UTC/GMT -5)执行。 |
有关描述此语法的更多文档,请参见此处。
必须定义 interval
或 schedule
选项之一。
On this page