院长简介
作者:院长
职位:运维开发工程师
官网:https://deanit.cn
博客:https://blog.deanit.cn
擅长:
【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】
项目简介
Elasticsearch
+
Logstash
+
Kibana
+
Filebeat
搭建日志监控系统
-
Filebeat
采集日志
-
Logstash
日志过滤
-
Elasticsearch
日志搜索
-
Kibana
日志展示
部署安装
安装Docker
curl -sSL https://get.docker.com/ | sh
安装Docker-compose
下载 Docker-Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
给文件增加执行权限
chmod +x /usr/local/bin/docker-compose
检查 Docker-Compose 版本
docker-compose -v
准备工作和创建资源清单
创建服务目录
mkdir /elkf && cd /elkf
下载地址:
将压缩包里的根目录,解压至该目录,然后启动服务
# 运行
docker-compose -f docker-compose.yml -p elkf up -d
# 当前目录下所有文件赋予权限(读、写、执行) -- 解决es启动报错问题...
chmod -R 777 ./app/elasticsearch
# 解决logstash启动报错问题...
chmod -R 777 ./app/logstash
访问信息
-
ES访问地址:
ip地址:9200
默认账号密码:
elastic/123456
-
kibana访问地址:
ip地址:5601
默认账号密码:
elastic/123456
Kibana配置日志查看
tips: 在
./app/filebeat/my-log/demo.log
中添加日志数据
1、创建索引模式
http://127.0.0.1:5601/app/management/kibana/indexPatterns
2、查看日志
http://127.0.0.1:5601/app/discover
遇到的问题
filebeat收集日志到logstash时乱码问题;如果直接在springboot中推日志到logstash中则正常。
解决:将 logstash 的输入配置从
input {
tcp {
mode => "server"
host => "0.0.0.0" # 允许任意主机发送日志
type => "demo" # 设定type以区分每个输入源
port => 5044
codec => json_lines # 数据格式
}
}
修改为
input {
beats {
port => 5044
}
}
logstash - Grok过滤器配置
ex: java日志如下
2023-01-17 14:16:59.763 INFO 29332 --- [ main] com.zhengqing.demo.DemoApplication : Started DemoApplication in 1.912 seconds (JVM running for 2.415)
Grok 模式
(?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3})\s+(?\w+)\s+\d+\s+-+\s\[[^\[\]]+\]\s+(?\S+)\s+:(?.*)
处理后,数据格式如下
{
"msg": " Started DemoApplication in 1.912 seconds (JVM running for 2.415)",
"datetime": "2023-01-17 14:16:59.763",
"level": "INFO",
"class": "com.zhengqing.demo.DemoApplication"
}
可以到 http://127.0.0.1:5601/app/dev_tools#/grokdebugger 中测试
招贤纳士
欢迎👏关注《院长技术》,只做原创,干货~~~
更多技术干货持续输出中......
知识星球,试运营中,
原价188¥在不断上涨,
现加入仅需129¥
,文档正逐渐上传!
欢迎加入
QQ-4
群:【