当前位置:   article > 正文

通过es+ Kibana+ LogStash收集日志_es+kibana搭建生产环境日志收集系统

es+kibana搭建生产环境日志收集系统

架构

服务产生的日志,通过logstash收集到es中,并通过kibana展示出来,这里不再介绍三者的作用在这里插入图片描述

部署es+Kibana

这三个的版本尽量要保持一致,我使用的是7.13.4

通过docker部署es

命令:

docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" /
 -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 docker镜像
  • 1
  • 2

参数解释
-e ES_JAVA_OPTS=“-Xms1024m -Xmx1024m” 限制内存大小,es比较吃内存,这里建议可以设置大一点
-e “discovery.type=single-node” 以单节点启动
-p 将端口映射出来
elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯

docker部署kibana
docker run -d --name kibana  -e ELASTICSEARCH_HOSTS=es服务ip:端口 / -p 5601:5601 docker镜像
  • 1

启动之后,如果需要可以配置一下这里面的用户,具体可以自己查询

部署logstash

这个是部署在你项目服务器上的,用于采集项目运行时产生的日志

wget https://artifacts.elastic.co/downloads/logstash/logstash-对应版本-linux-x86_64.tar.gz 
  • 1

解压到你想在的目录下
tar -zxvf 压缩包
解压完进入logstash/config目录配置日志的输入源和输出位置
vim 你想要的名字.conf

#添加配置文件
input {
   # 从文件读取日志信息 输送到控制台
   file {
   # 日志文件目录
       path => "/home/shuxue/service/shuxueservice/web_app.log"
       codec => "json" ## 以JSON格式读取日志
       type => "elasticsearch"
       # 从头开始输出
       start_position => "beginning"
   }
}

# filter {
#
# }

output {
   # 标准输出
   # stdout {}
   # 输出进行格式化,如果不想在控制台输出,就把下面这一行注掉
   # stdout { codec => rubydebug }
        elasticsearch {
       hosts => ["es服务地址:9200"]
       index => "es索引"
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

然后启动logstash,今日logstash/bin目录

./logstash -f ../config/上面的文件名.conf
  • 1

这个时候访问kibana就能看到创建出来的索引了
但是这个时候你在ctrl+c的时候会退出,这个时候可以使用systemd让他常驻后台就可以了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/994943
推荐阅读
相关标签
  

闽ICP备14008679号