基于Docker容器如何部署ELK日志分析系统
发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,这篇文章将为大家详细讲解有关基于Docker容器如何部署ELK日志分析系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。部署ELK日志分析系统,比较消耗计算机硬件,
千家信息网最后更新 2025年02月10日基于Docker容器如何部署ELK日志分析系统
这篇文章将为大家详细讲解有关基于Docker容器如何部署ELK日志分析系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
部署ELK日志分析系统,比较消耗计算机硬件,如果使用虚拟机进行测试部署,建议分配较多的硬件资源,否则,当elk容器运行后,会使其无法正常运行。我这里将分配给docker主机5G内存,四个CPU。
一、环境准备
我这里使用一台docker主机(如需要部署docker服务,可以参考博文:Docker的安装详细配置),其IP地址为192.168.20.6,在其之上运行elk容器。
二、配置docker主机运行elk容器
[root@docker01 ~]# echo "vm.max_map_count = 655360" >> /etc/sysctl.conf #更改其虚拟内存[root@docker01 ~]# sysctl -p #刷新内核参数vm.max_map_count = 655360 #若容器不能正常运行,可适当调大此参数值[root@docker01 ~]# docker pull sebp/elk #elk镜像大小在2G以上,所以建议先下载到本地,再运行容器[root@docker01 ~]# docker run -itd -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_HEAP_SIZE="3g" -e LS_HEAP_SIZE="1g" --name elk sebp/elk#基于sebp/elk运行elk容器# "-e ES_HEAP_SIZE="3g" ":是限制elasticsearch所使用的内存大小# -e LS_HEAP_SIZE="1g" :限制logstash使用的内存大小
至此,即可通过浏览器访问docker主机的5601端口访问到以下界面了(以下进行的所有操作,看图进行即可,都已标记在图上了):
当看到以下页面后(注意选择RPM选项卡),根据下面的提示命令在我们的docker主机上执行即可。
执行以上页面的提示命令操作,如下:
[root@docker01 ~]# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.0-x86_64.rpm#下载rpm包[root@docker01 ~]# rpm -ivh filebeat-7.4.0-x86_64.rpm #安装下载的rpm包[root@docker01 ~]# vim /etc/filebeat/filebeat.yml======== Filebeat inputs ==========filebeat.inputs: #修改filebeat.inputs下面的内容 enabled: true #改为true,以便启用filebeat paths: #修改path段落,添加要收集的日志路径 - /var/log/messages #指定一下系统日志的文件路径 - /var/lib/docker/containers/*/*.log #这个路径是所有容器存放的日志路径========== Kibana =============host: "192.168.20.6:5601" #去掉此行注释符号,并填写kibana的监听端口及地址------------ Elasticsearch output ------------ hosts: ["192.168.20.6:9200"] #修改为Elasticsearc的监听地址及端口#修改完上述配置后,保存退出即可[root@docker01 ~]# filebeat modules enable elasticsearch #启用elasticsearch模块[root@docker01 ~]# filebeat setup #初始化filebeat,等待时间稍长Index setup finished.Loading dashboards (Kibana must be running and reachable)Loaded dashboardsLoaded machine learning job configurationsLoaded Ingest pipelines#出现上述信息,才是初始化成功[root@docker01 ~]# service filebeat start #启动filebeat
当执行完上述操作后,即可点击下面的"Dicover",进行查看日志的操作了,如下:
若最近十五分钟内有新的日志,并且docker主机的时间也处于同步状态,那么可以考虑执行下面的命令,以便重启elk这个容器再进行查看。
[root@docker01 ~]# systemctl daemon-reload #重新加载配置文件[root@docker01 ~]# docker restart elk #重启elk容器
当可以正常访问到上面的页面时,这时我们运行一个容器,让其每隔十秒钟输出一段字符,然后查看kibana是否可以采集到该容器相关的日志信息,如下:
[root@docker01 ~]# docker run busybox sh -c 'while true;do echo "this is a log message from container busybox!";sleep 10;done'#运行这个容器,每隔十秒输出一段字符
然后看下图,依次操作,如下:
如果能够看到相应的日志信息,则说明elk这个容器运行正常。
关于"基于Docker容器如何部署ELK日志分析系统"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
容器
日志
运行
主机
面的
系统
内存
路径
配置
分析
信息
命令
地址
大小
端口
篇文章
页面
内容
参数
字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全周网络里的魔爪
数据库导出wincc数据
百度网络安全责任
数据库是怎么连接的
我的世界mc动漫联盟服务器
共享网络安全的倡议
校时服务器怎么读
麻将漏洞软件开发
数据库开发能力是什么
淘宝卖家工具软件开发
山东泰州网络安全知识竞赛
郑州众人互联网科技公司
广安网络技术哪家强
北仑游戏软件开发工具
计算机三级网络技术周跃
网络安全生态是 的新需要
网络安全法案由名称
网络技术软件与应用技术是什么
开发的软件怎么安装在服务器上
三门峡三星售后服务器
互联网公司同济科技园
武汉专业的网络安全机构
承德市网络安全系统
北京学软件开发最有名的学校
网络安全录像机
江西本地软件开发预算
陇南网络安全宣传周活动
阜阳坤鹏互联网科技有限公司
你没有安装税控服务器组件接口
奥维个人服务器