docker安装logstash

一、概述

需要使用docker 安装Logstash,来收集文件/var/log/messages

环境说明

操作系统:centos 7.6

docker版本:19.03.12

ip地址:192.168.31.196

二、安装

下载镜像

docker pull logstash:7.5.1

启动logstash

docker run -d --name=logstash logstash:7.5.1

等待30秒,查看日志

docker logs -f logstash

如果出现以下信息,说明启动成功。

[2020-08-26T08:12:01,224][INFO ][org.logstash.beats.Server] Starting server on port: 5044
[2020-08-26T08:12:01,722][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

拷贝数据,授予权限

docker cp logstash:/usr/share/logstash /data/elk7/
mkdir /data/elk7/logstash/config/conf.d
chmod 777 -R /data/elk7/logstash

配置文件

请确保elasticsearch运行正常,关于elasticsearch的安装,请参考连接:

https://www.cnblogs.com/xiao987334176/p/13565468.html

修改配置文件中的elasticsearch地址

vi /data/elk7/logstash/config/logstash.yml

完整内容如下:

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.31.196:9200" ]
path.config: /usr/share/logstash/config/conf.d/*.conf
path.logs: /usr/share/logstash/logs

注意:请根据实际情况修改elasticsearch地址

新建文件syslog.conf,用来收集/var/log/messages

vi /data/elk7/logstash/config/conf.d/syslog.conf

内容如下:

input {
  file {
    #标签
    type => "systemlog-localhost"
    #采集点
    path => "/var/log/messages"
    #开始收集点
    start_position => "beginning"
    #扫描间隔时间,默认是1s,建议5s
    stat_interval => "5"
  }
}

output {
  elasticsearch {
    hosts => ["192.168.31.196:9200"]
    index => "logstash-system-localhost-%{+YYYY.MM.dd}"
 }
}

重新启动logstash

docker rm -f logstash

docker run -d \
  --name=logstash \
  --restart=always \
  -p 5044:5044 \
  -v /data/elk7/logstash:/usr/share/logstash \
  -v /var/log/messages:/var/log/messages \
  logstash:7.5.1

重启完成之后,访问elasticsearch-head

确保创建了索引

### 使用 Docker 安装 Logstash 的方法 #### 准备工作 为了确保顺利安装并运行 Logstash,需确认已正确安装 DockerDocker Compose。可以通过命令 `docker --version` 来验证 Docker 是否已经成功安装。 #### 下载官方镜像 使用 Docker 安装 Logstash 非常简单,因为可以直接拉取 Elastic 官方提供的最新版本的 Logstash Docker 镜像: ```bash docker pull docker.elastic.co/logstash/logstash:7.10.2 ``` 此命令会下载指定版本的 Logstash 到本地环境[^4]。 #### 启动容器 创建一个新的目录用于保存配置文件和其他必要的资源,并进入该目录执行如下命令启动 Logstash 实例: ```bash mkdir ~/logstash && cd ~/logstash docker run -d \ --name=logstash \ -v "$PWD"/config:/usr/share/logstash/config \ -v "$PWD"/data:/var/lib/logstash \ -p 5044:5044 \ docker.elastic.co/logstash/logstash:7.10.2 ``` 上述命令中的 `-v` 参数指定了挂载点以便于持久化存储数据以及自定义配置;端口映射使得可以从主机访问 Logstash 提供的服务。 #### 创建配置文件 如果希望进一步定制 Logstash 行为,则可以在之前创建的工作空间内建立名为 `pipeline.yml` 或者其他形式的配置文件来描述输入、过滤器和输出插件的具体设置方式。例如,在 `~/logstash/config/pipeline.conf` 中添加以下内容作为基础模板: ```ruby input { beats { port => "5044" } } output { stdout { codec => rubydebug } } ``` 这将允许 Beats 类型的数据源通过 TCP 连接发送日志给监听在 5044 端口上的 Logstash 输入插件处理后打印至标准输出设备显示调试信息。 #### 测试服务状态 最后可以利用 Linux 自带的服务管理工具检查 Logstash 当前是否处于正常工作的状态下: ```bash sudo service logstash status ``` 这条指令适用于基于 System V init 脚本管理系统上部署的传统包管理模式下的 Logstash 应用程序实例监控[^3]。对于通过 Docker 方式构建起来的应用来说,应该采用不同的手段查看其健康状况,比如借助 `docker ps` 命令获取正在运行中的容器列表及其基本信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值