当前位置: 首页 > news >正文

docker部署elk+filebeat日志收集分析系统

简介

ELK 是由三个开源项目组成的日志管理解决方案,分别是 Elasticsearch、Logstash 和 Kibana。这三个工具协同工作,提供强大的日志收集、处理、存储和可视化能力。通常,ELK 被用于大规模的日志分析和数据监控,帮助开发人员和运维团队快速发现问题、进行故障排查和性能优化。

环境

阿里云ecs,centos7.9 16c 32g

组件

ElasticSearch、Logstash 和 Kiabana +Filebeat

安装docker

源码方式:

可下载对应docker包,执行脚本部署,参考如下链接

https://blog.csdn.net/eighters/article/details/155743885?spm=1011.2415.3001.5331

https://download.docker.com/linux/static/stable/x86_64/

部署完成后需要配置daemon.json文件添加阿里云加速器

这里我还修改了docker数据的默认存放目录



安装elasticsearch

1.创建工作目录

mkdir -p /data/docker/elasticsearch/{plugins,data}

2.下载镜像并创建网络

docker pull elasticsearch:7.9.3

docker network create elk

3.配置系统参数

echo 'vm.max_map_count=262144' >>/etc/sysctl.conf

生效参数

sysctl -p

4.给es数据目录授权

chmod -R 777 /data/docker/

5.启动es

docker run -itd --name=es --network elk --restart=always -p 9200:9200 -p 9300:9300 -v /data/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /data/docker/elasticsearch/data:/usr/share/elasticsearch/data --privileged -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3

6.访问端口测试服务

安装kibana

1.下载镜像

docker pull kibana:7.9.3

2.启动服务

docker run -d --restart=always --name kibana --network elk -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://es:9200 kibana:7.9.3

3.修改配置文件

添加中文

i18n.locale: "zh-CN"

4.验证服务

容器内测试 es容器

测试kibana服务

安装logstash

1.下载镜像

docker pull logstash:7.9.3

2.创建目录

mkdir -p -m 777 /data/docker/logstash/{pipeline.data.config}

3.启动一个基础容器,拷贝数据

docker run -d --name=logstash logstash:7.9.3

docker cp logstash:/usr/share/logstash /data/docker

4.修改配置文件

config/logstash.yml

config/pipelines.yml

pipeline/logstash.conf

5.重新创建logstash

docker run -d --name logstash --restart=always --privileged -p 5044:5044 -p 9600:9600 --network elk -v /etc/localtime:/etc/localtime -v /data/docker/logstash/config:/usr/share/logstash/config -v /data/docker/logstash/pipeline:/usr/share/logstash/pipeline -v /data/docker/logstash/data:/usr/share/logstash/data logstash:7.9.3

目标机器部署filebeat

1.下载版本包

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.3-linux-x86_64.tar.gz

2.解压及创建目录

tar -zxvf filebeat-7.9.3-linux-x86_64.tar.gz

mv filebeat-7.9.3-linux-x86_64 filebeat

mkdir /opt/filebeat/{data,log}

3.设置权限

chmod 777 filebeat -R
chmod 755 /opt/filebeat
chmod 755 /opt/filebeat/filebeat
chmod 600 /opt/filebeat/filebeat.yml
chmod 755 /opt/filebeat/log
chmod 700 /opt/filebeat/data

4.systemd程序

[root@iZ2zei1gxlnqhosc4uizbmZ ~]# systemctl cat filebeat
# /etc/systemd/system/filebeat.service
[Unit]
Description=Filebeat Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/filebeat/filebeat -c /opt/filebeat/filebeat.yml --path.home /opt/filebeat --path.data /opt/filebeat/data --path.logs /opt/filebeat/logs
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

5.修改配置文件

input设置

此处定义了两个类型的日志,分别定义了不同的app名字(这块设置可用于页面日志搜索类别使用

kibana设置

output设置

6.启动服务查看日志

systemctl restart filebeat

tail -f /opt/filebeat/logs/filebeat

有这个harvester字符说明文件已经读到了

kibana页面访问查看docker

1.点击discover按提示创建索引,预期是可以看到索引数据

2.点击observability----日志,预期是可以看到日志并且点击实时流日志无报错

注意此处fields.app就是filebeat配置的app名字,可以根据这个名字去过滤你需要的日志

使用方法:

搜索处 fields.app : xxx

http://www.rkmt.cn/news/188815.html

相关文章:

  • 2025年转身,面向2026|当AI回到价值本身
  • iBox CEO宣松涛畅谈数字文创破局之道
  • Nginx 站点垂直扩容(单机性能升级)全攻略
  • 搞懂 Nginx 垂直扩容的核心理解逻辑(从根到果,层层通透)
  • 主流CRM系统核心能力深度横评:从线索到复购的全流程胜负手
  • vue基于PHP的招聘求职管理系统的设计与实现
  • 书刊教材网上商城销售系统设计与实现_n92j5d1b
  • SQL性能优化指南:如何优化MySQL多表join场景
  • CCF-GESP计算机学会等级考试2025年12月二级C++T2 黄金格
  • List集合
  • 下载 | Windows Server 2016最新原版ISO映像!(集成12月更新、标准版、数据中心版、14393.8692)
  • ⚡ 实时控制也能多线程?高效并行机制解析-SFTW-Multithreading
  • 专科生必看!8个降AI率工具高效避坑指南
  • 跨年夜收转账这么回,笑到他心甘情愿再转“
  • linux系统加固
  • 异步线程加速实时模型:多线程效率提升实战-SFTW-FIFO
  • 2025最新!9款AI论文平台测评:本科生写论文必备推荐
  • 日语契机相关
  • 动态重构与实时模型切换-SFTW-MutiModel
  • 双碳背景下24小时分时综合能源系统低碳优化调度实践
  • 用禅道做好项目管理!这几个常用功能你用对了吗?
  • 氧化铝陶瓷基板检测:筑牢电子核心的品质防线
  • 日语时间相关
  • 日语助动词与名词、形容词与动词的变形之间的关系
  • 样本库的管理者最担心什么?是温度波动吗?还是湿度异常呢?
  • 日语动词的意志型、可能型、假定型、被动型、使役型
  • 日语助动词和补助动词的区别
  • 2025年UWB超宽带定位模块产品技术对比与应用方案解析
  • MySql 5.7 索引不存在则创建,存在则忽略
  • vue基于Python+Django的高校考培中心考试培训管理服务系统