09-ELK环境搭建
环境说明方案:使用ElasticSearch保存日志,使用Kibana进行日志展示、搜索、过期删除,使用 ElasticSearch 的pipeline进行日志的解析,使用 filebeat 采集日志发送给ElasticSearch。使用服务器192.168.xxx.xxx进行部署。准备:从官网下载 ElasticSearch(elasticsearch-8.15.0-linux-x86_64.tar.gz)上传到服务器从官网下载 kibana(kibana-8.15.0-linux-x86_64.tar.gz)上传到服务器从官网下载 elastic/filebeat 的docker镜像,推送到cce镜像仓库部署环境环境检查检查vm.max_map_count的大小,要求该值至少为262144:
如果该值不满足要求,可以修改/etc/sysctl.conf文件,在该文件中新增一行或者修改vm.max_map_count:检查ulimit的值:修改ulimit的值为65536:配置防火墙:部署ElasticSearch将 ElasticSearch 解压:调整 ElasticSearch的配置文件:config/elasticsearch.yml:创建对应的文件夹:/home/elk/elasticsearch-workspace/data:数据文件夹/home/elk/elasticsearch-workspace/logs:日志文件夹生成证书:生成CA:通过CA生成证书:启动ElasticSearch:配置用户密码:访问ElasticSearch:http://192.168.xxx.xxx:9200如果提示需要用户密码,输入用户elastic,密码123456(即上面设置的密码)关闭elasticsearch:部署kibana解压Kibana:
1
tar -zxvf kibana-8.15.0-linux-x86_64.tar.gz
调整Kibana配置文件:config/kibana.yml
# 端口号,默认5601
server.port: 5601
# 设置为0.0.0.0,允许访问
server.host: "0.0.0.0"
# 填写elastic的地址、用户、密码等信息
elasticsearch.hosts: ["http://localhost:9200"]
elasticsearch.username: "kibana"
elasticsearch.password: "123456"
# 设置publicBaseUrl,最后面不要带斜杠
server.publicBaseUrl: "http://192.168.xxx.xxx:5601"
# 设置国际化语言中文
i18n.locale: "zh-CN"
启动kibana:
1
2
# nohup方式访问
nohup ./bin/kibana &
访问kibana:http://192.168.xxx.xxx:5601/如果提示需要用户密码,输入用户elastic,密码123456(即elasticsearch设置的密码)关闭Kibana:
1
2
# kibana会启动一个node进程,查看node相关进程,进行kill
ps -ef | grep node
配置项目的日志格式调整项目的日志格式,使其成为固定格式,例如:
1
2
<!--按空格拆分:[0 1]时间-date [2]追踪ID [3]用户 [4]线程名称-thread [5]日志等级-level [6]logger类名-class [7]主要信息-message -->
<property name="ENCODER_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{log_opid}] [%X{log_userid }] [%thread] %-5level %logger{80} - %msg%n" />
调整日志的输出路径、日志名称、日志级别等信息