侧边栏壁纸
  • 累计撰写 38 篇文章
  • 累计创建 81 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
ELK

ELK日志分析搭建(二),Logstash + Golang

小李同学
2023-12-19 / 0 评论 / 0 点赞 / 648 阅读 / 366 字 / 正在检测是否收录...

每一个Golang的容器实例中需要有一个Logstash的服务用于读取日志文件并上传到ES中,这里为了方便提前制作了一个镜像,可以直接使用
docker pull jasonleemz/golang:231219
https://hub.docker.com/r/jasonleemz/golang/tags

附上 logstash-config.conf

input {
  file {
      path => "/home/app/logs/log1/*.log"  # 监听 log1 目录下的日志文件
      start_position => "beginning"
      sincedb_path => "/dev/null"
      ignore_older => 0
      tags => ["log1"]  # 使用标签区分不同的日志文件
    }
    file {
      path => "/home/app/logs/log2/*.log"  # 监听 log2 目录下的日志文件
      start_position => "beginning"
      sincedb_path => "/dev/null"
      ignore_older => 0
      tags => ["log2"]  # 使用标签区分不同的日志文件
    }
}

filter {
  if "log1" in [tags] {
    mutate {
      add_field => { "es_index" => "index_for_log1" }  # 设置 log1 对应的 Elasticsearch 索引名
    }
  }
  if "log2" in [tags] {
    mutate {
      add_field => { "es_index" => "index_for_log2" }  # 设置 log2 对应的 Elasticsearch 索引名
    }
  }
}

output {
  elasticsearch {
    hosts => ["elasticsearch:9200"]  # 这里修改成真实的ES地址
    index => "%{es_index}"  # 使用动态设置的索引名
  }
}

修改配置文件

因为镜像中的服务由supervisor托管,需要将logstash-config修改成自己对应的服务路径后重新启动

 cd /etc/supervisor/conf.d/
 mv logstash.ini.example logstash.ini
 supervisorctl reload

Create an index pattern

进入Kibana - Management - Stack Management - Index patterns
image-1702974819789

回到 Analytics - Discover 可以看到日志已经收集上来了
image-1702975033847

0

评论区