1.简介
Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。
输入
采集各种样式、大小和来源的数据
数据往往以各种各样的形式,或分散或集中地存在于很多系统中。 Logstash 支持 各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
过滤器
实时解析和转换数据
数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。
- 利用 Grok 从非结构化数据中派生出结构
- 从 IP 地址破译出地理坐标
- 将 PII 数据匿名化,完全排除敏感字段
- 简化整体处理,不受数据源、格式或架构的影响
输出
选择您的存储库,导出您的数据
尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。
Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。
可扩展
以您自己的方式创建和配置管道
Logstash 采用可插拔框架,拥有 200 多个插件。可以将不同的输入选择、过滤器和输出选择混合搭配、精心安排,让它们在管道中和谐地运行。
可靠性与安全性
构建可信的交付管道
假如 Logstash 节点发生故障,Logstash 会通过持久化队列来保证至少将运行中的事件送达一次。那些未被正常处理的消息会被送往死信队列 (dead letter queue) 以便做进一步处理。由于具备了这种吸收吞吐量的能力,现在您无需采用额外的队列层,Logstash 就能平稳度过高峰期。此外,还能让您充分确保自己采集管道的安全性。
全方位监视您的部署
Logstash 管道通常服务于多种用途,会变得非常复杂,因此充分了解管道性能、可用性和瓶颈异常重要。借助监测和管道查看器功能,您可以轻松观察和研究处于活动状态的 Logstash 节点或整个部署。
总体概括
1.Logstash简介 |
2.Logstash入门 |
2.1.安装Logstash |
2.2.简单使用 |
2.3.用Logstash解析日志 |
2.4.将多个输入和输出插件拼接在一起 |
3.Logstash的工作原理 |
3.1.执行模型 |
4.设置和运行Logstash |
4.1.Logstash目录布局 |
4.2.Logstash配置文件 |
4.3.logstash.yml |
4.4.安全设置的机密密钥库 |
4.5.以命令行的方式运行Logstash |
4.6.在Debian/RPM上运行Logstash服务 |
4.7.在Docker上运行Logstash |
4.8.为Docker配置Logstash |
4.9.在Windows上运行Logstash |
4.10.日志 |
4.11.关闭Logstash |
4.12.设置X-Pack |
5.升级Logstash |
5.1.使用包管理器升级 |
5.2.使用直接下载进行升级 |
5.3.在旧版本之间的升级 |
5.4.将Logstash升级到7.0 |
5.5.启用持久队列升级 |
6.配置Logstash |
6.1.配置文件的结构 |
6.2.访问配置中的事件数据和字段 |
6.3.在配置中使用环境变量 |
6.4.Logstash配置示例 |
6.5.多个管道 |
6.6.管道到管道通信(测试版) |
6.7.重新加载配置文件 |
6.8.管理多行事件 |
6.9.全局模式支持 |
6.10.转换摄取节点管道 |
6.11.Logstash-to-Logstash通信 |
6.12.集中管道管理 |
6.13.X-Pack监控 |
6.14.X-Pack安全性 |
6.15.X-Pack设置 |
7.管理Logstash |
7.1.集中管道管理 |
8.使用Logstash模块 |
8.1.使用Elastic Cloud |
8.2.ArcSight模块 |
8.3.Netflow模块 |
8.4.Azure模块 |
9.使用Filebeat模块 |
9.1.使用摄取管道进行解析 |
9.2.使用Logstash管道进行解析 |
9.3.示例:设置Filebeat模块以使用Kafka和Logstash |
10.数据弹性 |
10.1.持久队列 |
10.2.死信队列 |
11.转换数据 |
11.1.执行核心操作 |
11.2.反序列化数据 |
11.3.提取字段和包装数据 |
11.4.通过查找丰富数据 |
12.部署和扩展Logstash |
13.性能调优 |
13.1.性能故障排除指南 |
13.2.调整和分析Logstash性能 |
14.监控Logstash |
14.1.概要 |
14.2.监控UI |
14.3.管道查看器UI |
14.4.故障排除 |
15.监控API |
15.1.节点信息API |
15.2.插件信息API |
15.3.节点状态API |
15.4.热线程API |
16.使用插件 |
16.1.生成插件 |
16.2.离线插件管理 |
16.3.私人Gem仓库 |
16.4.事件API |
17.输入插件 |
17.1. azure_event_hubs |
17.2. beats |
17.3. cloudwatch |
17.4. couchdb_changes |
17.5. dead_letter_queue |
17.6. elasticsearch |
17.7. exec |
17.8. file |
17.9. ganglia |
17.10. gelf |
17.11. generator |
17.12. github |
17.13. google_cloud_storage |
17.14. google_pubsub |
17.15. graphite |
17.16. heartbeat |
17.17. http |
17.18. http_poller |
17.19. imap |
17.20. irc |
17.21. java_generator |
17.22. java_stdin |
17.23. jdbc |
17.24. jms |
17.25. jmx |
17.26. kafka |
17.27. kinesis |
17.28. log4j |
17.29. lumberjack |
17.30. meetup |
17.31. pipe |
17.32. puppet_facter |
17.33. rabbitmq |
17.34. redis |
17.35. relp |
17.36. rss |
17.37. s3 |
17.38. salesforce |
17.39. snmp |
17.40. snmptrap |
17.41. sqlite |
17.42. sqs |
17.43. stdin |
17.44. stomp |
17.45. syslog |
17.46. tcp |
17.47. twitter |
17.48. udp |
17.49. unix |
17.50. varnishlog |
17.51. websocket |
17.52. wmi |
17.53. xmpp |
18.输出插件 |
18.1. boundary |
18.2. circonus |
18.3. cloudwatch |
18.4. csv |
18.5. datadog |
18.6. datadog_metrics |
18.7. elastic_app_search |
18.8. elasticsearch |
18.9. email |
18.10. exec |
18.11. file |
18.12. ganglia |
18.13. gelf |
18.14. google_bigquery |
18.15. google_cloud_storage |
18.16. google_pubsub |
18.17. graphite |
18.18. graphtastic |
18.19. http |
18.20. influxdb |
18.21. irc |
18.22. java_sink |
18.23. java_stdout |
18.24. juggernaut |
18.25. kafka |
18.26. librato |
18.27. loggly |
18.28. lumberjack |
18.29. metriccatcher |
18.30. mongodb |
18.31. nagios |
18.32. nagios_nsca |
18.33. opentsdb |
18.34. pagerduty |
18.35. pipe |
18.36. rabbitmq |
18.37. redis |
18.38. redmine |
18.39. riak |
18.40. riemann |
18.41. s3 |
18.42. sns |
18.43. solr_http |
18.44. sqs |
18.45. statsd |
18.46. stdout |
18.47. stomp |
18.48. syslog |
18.49. tcp |
18.50. timber |
18.51. udp |
18.52. webhdfs |
18.53. websocket |
18.54. xmpp |
18.55. zabbix |
19. 过滤器插件 |
19.1. aggregate |
19.2. alter |
19.3. bytes |
19.4. cidr |
19.5. cipher |
19.6. clone |
19.7. csv |
19.8. date |
19.9. de_dot |
19.10. dissect |
19.11. dns |
19.12. drop |
19.13. elapsed |
19.14. elasticsearch |
19.15. environment |
19.16. extractnumbers |
19.17. fingerprint |
19.18. geoip |
19.19. grok |
19.20. http |
19.21. i18n |
19.22. java_uuid |
19.23. jdbc_static |
19.24. jdbc_streaming |
19.25. json |
19.26. json_encode |
19.27. kv |
19.28. memcached |
19.29. metricize |
19.30. metrics |
19.31. mutate |
19.32. prune |
19.33. range |
19.34. ruby |
19.35. sleep |
19.36. split |
19.37. syslog_pri |
19.38. threats_classifier |
19.39. throttle |
19.40. tld |
19.41. translate |
19.42. truncate |
19.43. urldecode |
19.44. useragent |
19.45. uuid |
19.46. xml |
20. 编解码器插件 |
20.1. avro |
20.2. cef |
20.3. cloudfront |
20.4. cloudtrail |
20.5. collectd |
20.6. dots |
20.7. edn |
20.8. edn_lines |
20.9. es_bulk |
20.10. fluent |
20.11. graphite |
20.12. gzip_lines |
20.13. jdots |
20.14. java_line |
20.15. json |
20.16. json_lines |
20.17. line |
20.18. msgpack |
20.19. multiline |
20.20. netflow |
20.21. nmap |
20.22. plain |
20.23. protobuf |
20.24. rubydebug |
21.提示和最佳实践 |
22.解决常见问题 |
23.贡献于Logstash |
23.1. 如何编写Logstash输入插件 |
23.2. 如何编写Logstash编解码器插件 |
23.3. 如何编写Logstash过滤器插件 |
23.4. 如何编写Logstash输出插件 |
23.5. 记录你的插件 |
23.6. 将修补程序贡献给Logstash插件 |
23.7. Logstash插件社区维护者指南 |
23.8. 将您的插件提交到RubyGems.org和logstash-plugins存储库 |
24.贡献Java插件 |
24.1. 如何编写Java输入插件 |
24.2. 如何编写Java编解码器插件 |
24.3. 如何编写Java过滤器插件 |
24.4. 如何编写Java输出插件 |
25.专业术语 |
26.突破性变化 |
26.1 突破7.0的变化 |
26.2 在Logstash 6.3.0之前突破PQ版本的变化 |
26.3 打破6.0的变化 |
27.发行说明(略) |