环境搭建
版本介绍
组件 | 版本号 |
---|---|
logstash | 7.6.2 |
elasticsearch | 7.6.2 |
kibana | 7.6.2 |
Docker安装ELK
安装Elasticsearch
1、 启动elasticsearch
linux
复制代码
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2
2、 安装中文分词器IKAnalyzer
linux
复制代码
# 进入容器
docker exec -it elasticsearch /bin/bash
# 安装分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
# 退出容器
exit
# 重启
docker restart elasticsearch
安装Logstash
1、 下载logstash
linux
复制代码
docker pull logstash:7.6.2
2、 创建配置文件
linux
复制代码
mkdir /mydata/logstash
cd /mydata/logstash
vi logstash.conf
logstash.conf配置文件如下:
linux
复制代码
input {
# 读取网络数据采用tcp,生产环境不建议使用,因为tcp只能在sizeQueue中缓存20个事件(日志记录)
tcp {
mode => "server"
host => "0.0.0.0"
# 定义的端口
port => 4560
# codec表示使用的插件,json_lines就是之前安装的插件
codec => json_lines
# type可以自定义名称
type => "debug"
}
tcp {
mode => "server"
host => "0.0.0.0"
port => 4561
codec => json_lines
type => "error"
}
redis {
# data_type有三种类型
# list => BLPOP
# channel => SUBSCRIBE
# pattern_channel => PSUBSCRIBE
data_type => "pattern_channel"
# 订阅的key,可以使用模糊
key => "logstash-*"
# redis服务器
host => "192.168.1.41"
# redis端口
port => 6379
threads => 5
}
}
# 过滤器,对数据进行处理
filter{
# 对type=error的日志进行过滤
if [type] == "error" {
mutate {
remove_field => "port"
remove_field => "host"
remove_field => "@version"
}
# 启用json插件解码
json {
# 解码的key名称
source => "message"
# 如果json是多层结构,设置target=jsoncontent
target => "jsoncontent"
}
}
}
output {
# 将日志输出到elasticsearch
elasticsearch {
# 地址
hosts => "192.168.1.41:9200"
# 日志文件名称格式,type引用input中定义的type值
index => "log-%{type}-%{+YYYY.MM.dd}"
}
}
具体的其它类型配置说明可以参考链接 \
3、 启动logstash服务
linux
复制代码
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:es \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2
4、 在logstash安装json_lines插件
linux
复制代码
# 进入容器
docker exec -it logstash /bin/bash
# 进步bin目录
cd /bin/
# 安装插件
logstash-plugin install logstash-codec-json_lines
# 退出容器
exit
# 重启logstash
docker restart logstash
安装Kibana
linux
复制代码
# 下载
docker pull kibana:7.6.2
# 启动
docker run --name kibana -p 5601:5601 --link elasticsearch:es -e "elasticsearch.hosts=http://es:9200" -d kibana:7.6.2
通过访问http://ip:5601 进入kibana
界面说明
整合Springboot
- Maven导入
xml
复制代码
<!--集成logstash-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.3</version>
</dependency>
- 修改日志文件,将日志输出到logstash
xml
复制代码
<!-- appender可以配置多个,每一个可以分别记录不同的日志,输出到logstash配置的端口中 -->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--可以访问的logstash日志收集端口,该端口可以在logstash中配置,可以有多个-->
<destination>192.168.1.41:4560</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<appender name="LOGSTASHINFO" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.1.41:4561</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
- 启动项目并访问,那么打印的日志最终会输出到kibana中
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓