社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

Docker部署elasticsearch-kibana-logstash-filebeat

院长技术 • 3 月前 • 136 次点击  

院长简介

作者:院长

职位:运维开发工程师

官网: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群:【

1群-2群-3群已满

图片

推荐阅读

K8s命令行交互运维神器


院长带你玩转K8s证书续签


Nginx配置SSL证书及跳转特别配置


Docker自建轻量监控系统


欢迎关注我的公众号“院长技术”,原创技术文章第一时间推送。

图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179041
 
136 次点击