Docker 安装 Logstash
简介
Logstash 是一个开源的日志收集、解析和运送管道,用于收集、处理和存储日志数据。使用 Docker 容器安装 Logstash 可以简化部署过程,并确保一致性和可移植性。
安装 Docker
在安装 Logstash 之前,请确保已在您的系统上安装了 Docker。有关安装说明,请参阅 Docker 文档。
创建 Logstash 容器
使用以下命令创建 Logstash 容器:``` docker run -d --name logstash -p 5044:5044 logstash/logstash:latest ```此命令将执行以下操作:
从 Docker Hub 中的官方 logstash/logstash:latest 映像创建名为 logstash 的容器。
将容器的 5044 端口映射到主机的 5044 端口。这将允许您通过主机上的 5044 端口访问 Logstash。
以上述映像作为基础启动容器。
配置 Logstash
容器启动后,您可以使用以下命令连接到它的 bash shell:``` docker exec -it logstash bash ```在容器的 shell 中,您可以编辑 /etc/logstash/conf.d/02-beats-input.conf 文件以配置 Logstash。以下是一个示例配置:``` input {beats {port => 5044} }filter {grok {match => { "message" => "%{SYSLOG_TIMESTAMP} %{SYSLOG_HOST} %{SYSLOG_SOURCE}: %{SYSLOG_TAG}: %{SYSLOG_MESSAGE}" }} }output {stdout {codec => json} } ```此配置将监听来自 5044 端口的 Beats 输入(如 Filebeat 或 Metricbeat)。它使用 Grok 过滤器解析系统日志消息,并将转换后的日志数据输出到 stdout。
退出容器
要退出容器的 shell,请使用以下命令:``` exit ```
验证 Logstash
要验证 Logstash 是否正在运行,请使用以下命令发送测试日志消息:``` docker exec -it logstash echo "Hello Logstash!" | nc -w 1 localhost 5044 ```如果您在 Logstash 容器的 stdout 中看到 "Hello Logstash!" 消息,则表明 Logstash 已成功配置并正在运行。