您的当前位置:首页正文

ubuntu中在docker中搭建logstash监听log日志, 发送到java接口

2024-11-26 来源:个人技术集锦

安装logstash

docker pull logstash:7.6.0

注意这里的版本号必须指定, 默认的latest会报错找不到latest版本
启动logstash

docker run --name logstash -d -p 5044:5044 logstash:7.6.0

进入容器中, 查看容器的内部文件

docker exec -it logstash /bin/bash

进入到config文件夹下, 可以找到logstash-sample.conf文件, 这个文件是logstash的启动配置文件, 用于配置输入和输出, 以及简单地数据处理
将此文件复制到宿主机中进行编辑

docker cp fc1cf5f94e00:/usr/share/logstash/config/logstash-sample.conf /usr/local/docker/

先通过docker ps获取logstash的容器id, 然后根据路径去赋值文件

先测试一个简单地输入输出, 从文件中获取数据, 输出就使用stdout{}

input {
    file{
        path => ["/usr/local/docker/postLogstash.txt"]
        start_position => "beginning"
      }

}
filter{
  mutate{
    remove_field => ["host","path","@timestamp","@version"]
    rename => {"message"=>"logInfo"}
    gsub => [ "logInfo", "\r", "" ]
  }
}

output {
  #elasticsearch {
  #  hosts => ["http://localhost:9200"]
   # index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  #}
  stdout{}
}

然后将修改后的文件复制到宿主机中, 这样把配置文件拿出来又塞回去的方式, 就是解决在容器内无法编辑的问题

docker cp /usr/local/docker/logstash-sample.conf fc1cf5f94e00:/usr/share/logstash/config/
显示全文