您的位置:首页 > 教育 > 培训 > 通过es+ Kibana+ LogStash收集日志

通过es+ Kibana+ LogStash收集日志

2024/10/5 23:29:48 来源:https://blog.csdn.net/paterl/article/details/141169663  浏览:    关键词:通过es+ Kibana+ LogStash收集日志

架构

服务产生的日志,通过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镜像

参数解释
-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镜像

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

部署logstash

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

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

解压到你想在的目录下
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索引"}
}

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

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com