专栏名称: 院长技术
《院长技术》专注于DevOps技术栈研究,云原生、Istio,CICD、Docker、Prometheus、K8s、ServiceMesh、Jenkins、Linux、微服务、分布式存储、监控、日志收集、安全渗透、虚拟化等技术栈。
目录
51好读  ›  专栏  ›  院长技术

Docker部署elasticsearch-kibana-logstash-filebeat

院长技术  · 公众号  ·  · 2025-02-12 11:39

正文

院长简介

作者:院长

职位:运维开发工程师

官网:https://deanit.cn

博客:https://blog.deanit.cn

擅长:

【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】

项目简介

Elasticsearch + Logstash + Kibana + Filebeat 搭建日志监控系统

  1. Filebeat 采集日志

  2. Logstash 日志过滤

  3. Elasticsearch 日志搜索

  4. 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

下载地址:

链接:http://bt.deanit.cn:8888/down/L4nD4EVzKprU.zip提取码:atZXeS

将压缩包里的根目录,解压至该目录,然后启动服务

# 运行

docker-compose -f docker-compose.yml -p elkf up -d
# 当前目录下所有文件赋予权限(读、写、执行) -- 解决es启动报错问题...
chmod -R 777 ./app/elasticsearch
# 解决logstash启动报错问题...
chmod -R 777 ./app/logstash


访问信息

  1. ES访问地址: ip地址:9200 默认账号密码: elastic/123456

  2. kibana访问地址: ip地址:5601 默认账号密码: elastic/123456


Kibana配置日志查看

tips: 在 ./app/filebeat/my-log/demo.log 中添加日志数据

1、创建索引模式

http://127.0.0.1:5601/app/management/kibana/indexPatterns

img.png img.png img.png img.png

2、查看日志

http://127.0.0.1:5601/app/discover

img.png


遇到的问题

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 中测试 img.png


招贤纳士

欢迎👏关注《院长技术》,只做原创,干货~~~

图片

更多技术干货持续输出中......


知识星球,试运营中,

原价188¥在不断上涨, 现加入仅需129¥ ,文档正逐渐上传!

图片

欢迎加入 QQ-4 群:【







请到「今天看啥」查看全文