阿里云Logstash支持100余款系統默認插件,包含開源和自研Logstash插件,能夠提升集群在數據傳輸和處理、日志調試等各方面的能力。本文介紹阿里云Logstash支持的系統默認插件。
阿里云Logstash僅支持系統默認插件,不支持自定義插件。系統默認插件為阿里云Logstash預置的插件,您可以根據需求卸載或安裝。具體操作,請參見安裝或卸載插件。阿里云Logstash實例資源屬于客戶,請勿進行違法操作。
阿里云Logstash支持的插件如下:
自研插件
類別
名稱
說明
介紹
input
logstash-input-datahub
從阿里云流式數據服務DataHub讀取數據。
logstash-input-maxcompute
從阿里云大數據計算服務MaxCompute讀取數據。
logstash-input-oss
從阿里云對象存儲服務OSS讀取數據。
logstash-input-sls
從阿里云日志服務SLS讀取日志。
output
logstash-output-datahub
傳輸數據至阿里云流式數據服務DataHub。
logstash-output-file_extend
直接在控制臺上查看管道配置的輸出結果。
logstash-output-oss
批量傳輸數據至阿里云對象存儲服務OSS。
開源插件
類別
名稱
說明
介紹
input
logstash-input-azure_event_hubs
使用Azure事件中心中的事件。
logstash-input-beats
從Elastic Beats框架中接收事件。
logstash-input-dead_letter_queue
從Logstash的死信隊列中讀取事件。
logstash-input-elasticsearch
從Elasticsearch集群中讀取數據。
logstash-input-exec
定期運行Shell命令,將Shell命令的全部輸出作為事件捕獲。
logstash-input-ganglia
通過用戶數據協議UDP(User Datagram Protocol)從網絡讀取Ganglia包。
logstash-input-gelf
在網絡上將GELF格式信息作為事件讀取。
logstash-input-generator
生成隨機日志事件。
logstash-input-graphite
從Graphite工具讀取指標。
logstash-input-heartbeat
生成心跳消息。
logstash-input-http
通過HTTP或HTTPS接收單行或多行事件。
logstash-input-http_poller
調用HTTP API,將輸出解碼為事件,并發送事件。
logstash-input-imap
從IMAP服務器讀取郵件。
logstash-input-jdbc
通過JDBC界面,將任一數據庫數據讀取到Logstash中。
logstash-input-kafka
從Kafka主題讀取事件。
logstash-input-pipe
從長時間運行的管道命令中流式讀取事件。
logstash-input-rabbitmq
從RabbitMQ隊列中讀取事件。
logstash-input-redis
從Redis實例中讀取事件。
logstash-input-s3
從S3 Bucket中的文件流式讀取事件。
logstash-input-snmp
使用簡單網絡管理協議(SNMP)輪詢網絡設備,獲取當前設備操作狀態信息。
logstash-input-snmptrap
將SNMP trap消息作為事件讀取。
logstash-input-sqs
從Amazon Web Services簡單隊列服務(Simple Queue Service,SQS)隊列中讀取事件。
logstash-input-stdin
從標準輸入讀取事件。
logstash-input-syslog
在網絡上將syslog消息作為事件讀取。
logstash-input-tcp
通過TCP套接字讀取事件。
logstash-input-twitter
從Twitter Streaming API接收事件。
logstash-input-udp
在網絡上通過UDP,將消息作為事件讀取。
logstash-input-unix
通過UNIX套接字讀取事件。
output
logstash-output-elasticsearch
向Elasticsearch集群寫入數據。
logstash-output-kafka
向Kafka主題寫入事件。
logstash-output-lumberjack
使用lumberjack協議發送事件。
logstash-output-nagios
通過Nagios命令文件,向Nagios發送被動檢查結果。
logstash-output-pagerduty
根據預先配置的服務和升級政策發送通知。
logstash-output-pipe
將事件輸送到另一個程序的標準輸入。
logstash-output-rabbitmq
將事件推送到RabbitMQ exchange。
logstash-output-redis
使用RPUSH命令將事件發送到Redis隊列。
logstash-output-s3
向亞馬遜簡單存儲服務(Amazon Simple Storage Service, Amazon S3)批量上傳Logstash事件。
logstash-output-sns
向采用托管pub/sub框架的亞馬遜簡單通知服務(Amazon Simple Notification Service)發送事件。
logstash-output-sqs
將事件推送到Amazon Web Services(AWS)SQS隊列。
logstash-output-stdout
將事件打印到運行Shell命令的Logstash標準輸出。
logstash-output-tcp
通過TCP套接字寫入事件。
logstash-output-udp
通過UDP發送事件。
logstash-output-webhdfs
通過webhdfs REST API向HDFS中的文件發送Logstash事件。
logstash-output-cloudwatch
聚合并發送指標數據到AWS CloudWatch。
logstash-output-csv
以逗號分隔(CSV)或其他分隔的格式,將事件寫入磁盤。基于文件輸出共享配置值。內部使用Ruby CSV庫。
logstash-output-elastic_app_search
向Elastic App Search解決方案發送事件。
logstash-output-email
收到輸出后發送電子郵件。 您也可以使用條件來包含,或者排除電子郵件輸出執行。
logstash-output-file
向磁盤文件寫入事件。您可以將事件中的字段作為文件名和/或路徑的一部分。
logstash-output-graphite
從日志中讀取指標數據,并將它們發送到Graphite工具。Graphite是一個用于存儲和繪制指標的開源工具。
logstash-output-http
向通用HTTP或HTTPS端點發送事件。
filter
logstash-filter-aggregate
聚合單個任務下多個事件(通常為日志記錄)的信息,并將聚合信息推送到最后的任務事件。
logstash-filter-anonymize
將字段值替換為一致性哈希值,以實現字段匿名化。
logstash-filter-cidr
根據網絡塊列表檢查事件中的IP地址。
logstash-filter-prune
基于黑名單或白名單的字段列表來精簡事件數據。
logstash-filter-clone
檢查重復事件。將為克隆列表中的每個類型創建克隆。
logstash-filter-csv
解析包含CSV數據的事件字段,并將其作為單獨字段存儲(名字也可指定)。 該過濾器還可以解析帶有任何分隔符(不只是逗號)的數據。
logstash-filter-date
解析字段中的日期,然后使用該日期或時間戳作為事件的logstash時間戳。
logstash-filter-de_dot
將點(.)字符替換為其他分隔符,以重命名字段。 在實際應用中,該過濾器的代價較大。它必須將源字段內容拷貝到新目的字段,該新字段的名字中不再包含點(.),然后移除相應源字段。
logstash-filter-dissect
Dissect過濾器是一種拆分操作。
logstash-filter-dns
對reverse陣列下的各個或指定記錄執行DNS查找(A記錄或CNAME記錄查找,或PTR記錄的反向查找)。
logstash-filter-drop
刪除滿足此過濾器的所有事件。
logstash-filter-elasticsearch
搜索Elasticsearch中的過往日志事件,并將其部分字段復制到當前事件。
logstash-filter-fingerprint
創建一個或多個字段的一致性哈希值(指紋),并將結果存儲在新字段。
logstash-filter-geoip
根據Maxmind GeoLite2數據庫的數據添加關于IP地址的地理位置信息。
logstash-filter-grok
解析任意非結構化文本并將其結構化。
logstash-filter-http
整合外部網絡服務或多個REST API。
logstash-filter-jdbc_static
使用預先從遠程數據庫加載的數據豐富事件。
logstash-filter-jdbc_streaming
執行SQL查詢,并將結果集存儲到目標字段。 將結果緩存到具有有效期的本地最近最少使用(LRU)緩存。
logstash-filter-json
JSON解析過濾器,將包含JSON的已有字段擴展為Logstash事件中的實際數據結構。
logstash-filter-kv
自動解析各種foo=bar消息(或特定事件字段)。
logstash-filter-memcached
將外部數據整合到Memcached。
logstash-filter-metrics
聚合指標。
logstash-filter-mutate
在字段上執行轉變。您可以重命名、刪除、更換并修改您事件中的字段。
logstash-filter-ruby
執行Ruby代碼。 該過濾器接受內聯Ruby代碼或文件。 這兩個方案互斥,在工作方式方面略有不同。
logstash-filter-sleep
按照指定的休眠時間長度休眠。 在休眠時間內,Logstash將停止。這有助于限流。
logstash-filter-split
通過分解事件的一個字段,并將產生的每個值嵌入原始事件的克隆版,從而克隆事件。 被分解的字段可以是字符串或字符串數組。
logstash-filter-syslog_pri
解析Syslog(RFC3164)消息前部的PRI字段。 如果沒有設置優先級,它會默認為13(每個請求注解)。
logstash-filter-throttle
限制事件的數量。
logstash-filter-translate
一款普通搜索和替換工具,基于配置的哈希和/或文件決定替換值。
logstash-filter-truncate
截斷超過一定長度的字段。
logstash-filter-urldecode
解碼URL編碼字段。
logstash-filter-useragent
基于BrowserScope數據,將用戶代理字符串解析為結構化數據。
logstash-filter-xml
XML過濾器。將包含XML的字段,擴展為實際數據結構。
codec
logstash-codec-cef
根據《實施 ArcSight 通用事件格式》第二十次修訂版(2013 年 6 月 5 日),使用Logstash編解碼器處理ArcSight通用事件格式(CEF)。
logstash-codec-collectd
在網絡上通過UDP從collectd二進制協議中讀取事件。
logstash-codec-dots
該編解碼器生成一個點(.),代表它處理的一個事件。
logstash-codec-edn
讀取并產生EDN格式數據。
logstash-codec-edn_lines
讀取并產生以新行分隔的EDN格式數據。
logstash-codec-es_bulk
將Elasticsearch bulk格式解碼到單獨的事件中,并將元數據解碼到[@metadata](/metadata)字段。
logstash-codec-fluent
處理fluentd msgpack模式。
logstash-codec-graphite
編碼并解碼Graphite格式的行。
logstash-codec-json
解碼(通過輸入)和編碼(通過輸出)完整的JSON消息。
logstash-codec-json_lines
解碼以新行分隔的JSON流。
logstash-codec-line
讀取面向行的文本數據。
logstash-codec-msgpack
讀取并產生MessagePack編碼內容。
logstash-codec-multiline
將多行消息合并到單個事件中。
logstash-codec-netflow
解碼Netflow v5、v9和v10(IPFIX)數據。
logstash-codec-plain
處理事件之間沒有分隔的明文。
logstash-codec-rubydebug
使用Ruby Awesome Print庫輸出Logstash事件數據。