基于Docker容器部署ELK日志分析系统

部署ELK日志分析系统,比较消耗计算机硬件,如果使用虚拟机进行测试部署,建议分配较多的硬件资源,否则,当elk容器运行后,会使其无法正常运行。我这里将分配给docker主机5G内存,四个CPU。

一、环境准备

我这里使用一台docker主机(如需要部署docker服务,可以参考博文:Docker的安装详细配置),其IP地址为192.168.20.6,在其之上运行elk容器。

二、配置docker主机运行elk容器

[[email protected] ~]# echo "vm.max_map_count = 655360" >> /etc/sysctl.conf
#更改其虚拟内存
[[email protected] ~]# sysctl -p     #刷新内核参数
vm.max_map_count = 655360        #若容器不能正常运行,可适当调大此参数值
[[email protected] ~]# docker pull sebp/elk            #elk镜像大小在2G以上,所以建议先下载到本地,再运行容器
[[email protected] ~]# 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主机上执行即可。

执行以上页面的提示命令操作,如下:


[[email protected] ~]# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.0-x86_64.rpm
#下载rpm包
[[email protected] ~]# rpm -ivh filebeat-7.4.0-x86_64.rpm    #安装下载的rpm包
[[email protected] ~]# 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的监听地址及端口
#修改完上述配置后,保存退出即可
[[email protected] ~]# filebeat modules enable elasticsearch     #启用elasticsearch模块
[[email protected] ~]# filebeat setup   #初始化filebeat,等待时间稍长
Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Loaded machine learning job configurations
Loaded Ingest pipelines
#出现上述信息,才是初始化成功
[[email protected] ~]# service filebeat start     #启动filebeat

当执行完上述操作后,即可点击下面的“Dicover”,进行查看日志的操作了,如下:

若最近十五分钟内有新的日志,并且docker主机的时间也处于同步状态,那么可以考虑执行下面的命令,以便重启elk这个容器再进行查看。

[[email protected] ~]# systemctl daemon-reload       #重新加载配置文件
[[email protected] ~]# docker restart elk          #重启elk容器

当可以正常访问到上面的页面时,这时我们运行一个容器,让其每隔十秒钟输出一段字符,然后查看kibana是否可以采集到该容器相关的日志信息,如下:

[[email protected] ~]# docker run busybox sh -c ‘while true;do echo "this is a log message from container busybox!";sleep 10;done‘
#运行这个容器,每隔十秒输出一段字符

然后看下图,依次操作,如下:

如果能够看到相应的日志信息,则说明elk这个容器运行正常。

———————— 本文至此结束,感谢阅读 ————————

原文地址:https://blog.51cto.com/14154700/2447197

时间: 2024-08-29 04:03:23

基于Docker容器部署ELK日志分析系统的相关文章

在CentOS7中部署ELK日志分析系统

在CentOS7中部署ELK日志分析系统 ELK原理介绍 什么是ELK ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和JAVA API等

ELK日志分析系统(理论+部署)

ELK日志分析系统简介 日志服务器 提高安全性 集中存放日志 缺陷 对日志的分析困难 ELK日志分析系统 Elasticsearch Logstash Kibana 日志处理步骤 将日志进行集中化管理 将日志格式化( Logstash )并输出到Elasticsearch 对格式化后的数据进行索弓|和存储( Elasticsearch ) 前端数据的展示( Kibana ) Elasticsearch介绍 Elasticsearch的概述 提供了一个分布式多用户能力的全文搜索弓|擎 Elasti

ELK日志分析系统(实例!!!)

ELK日志分析系统概述 ELK是Elasticsearch.Logstash.Kibana的简称 Elasticsearch是实时全文搜索和分析引擎 Logstash是一个用来搜集.分析.过滤日志的工具 Kibana是一个基于Web的图形界面,用于搜索.分析和可视化存储在 Elasticsearch指标中的日志数据 日志服务器 提高安全性 集中存放日志 缺陷:对日志的分析困难 ELK日志分析系统 收集数据:LogstashAgent 建立索引:ElasticSearchCluster 数据可视化

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析 elk集成镜像包 名字是 sebp/elk 安装 docke.启动 yum install docke service docker start Docker至少得分配3GB的内存:不然得加参数 -e ES_MIN_MEM=128m  -e ES_MAX_MEM=1024m 加了-e参数限制使用最小内存及最大内存. Elasticsearch至少需要单独2G的内存: vm.max_map_count至少需要262144,修改vm.max_map_count 参

ELK日志分析系统搭建配置

我们主要用ELK日志分析系统来分析Nginx访问日志,mysql慢查询日志,tomcat运行日志以及系统日志等. 介绍:ELK:ElasticSearch+LogStash+Kibana=ElkStackElasticSearch:存储.收索.分析(可以用solr替代)LogStash:收集器,输入,处理分析,存储到ESKibana:展示备注:ElasticSearch支持集群功能,日志收集后会在每个节点存放一份(可以选择) 1.安装jdkwget http://sg-new.oss-cn-ha

ELK日志分析系统 介绍 安装配置

ELK日志分析系统 一.ELK介绍 ELK顾名思义:是由Elasticsearch,Logstash 和 Kibana三部分组成的. 其中Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写.目前,最新的版本是 5.4. 主要特点 实时分析 分布式实时文件存储,并将每一个字段都编入索引 文档导向,所有的对象全部是文档 高可用性,易扩展,支持集群(Cl

十分钟搭建和使用ELK日志分析系统

前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为"十分钟搭建和使用ELK日志分析系统"听起来有点唬人,其实如果单纯满足可视化要求,并且各软件都已经下载到本地,十分钟是可以搭建一个ELK系统的.本文介绍如何快速安装.配置.使用EK+FILEBEAT去实现日志搜集.本文中没有使用LOGSTASH做日志搜集过滤,但为了后期需要先进行了安装. 工作原理 ElasticSearch:是

elk 日志分析系统Logstash+ElasticSearch+Kibana4

elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示客户端 redis 缓存 安装包 logstash-1.4.2-1_2c0f5a1.noarch.rpm elasticsearch-1.4.4.noarch.rpm logstash-contrib-1.4.2-1_efd53ef.noarch.rpm kibana-4.0.1-linux-x64.tar

部署AWStats日志分析系统与优化(附安装包)

介绍 AWStats是使用Perl语言开发的一款开源日志分析系统,可以分析apache,samba,vsftpd,iis等服务的日志信息,结合crond等计划任务,可以对不断增长的日志内容定期进行分析. 它可以帮助我们直观的图形化的,图形化的!看到原本繁杂的日志文件.这篇文章就使用一个简单的apache服务来演示如何部署AWStats日志分析系统. 环境 VMware Workstation 14 pro 测试机型 redhat6.5 IP:192.168.10.100 win10 IP:192