热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker快速部署ELK

一、背景笔者所在项目组的项目要做安全等保:用到部署日志审计系统;此前听说有ELK这种神器,搜索了一下,发现利用docker

一、背景

笔者所在项目组的项目要做安全等保:用到部署日志审计系统;此前听说有ELK这种神器,搜索了一下,发现利用docker搭建似乎并不麻烦,于是进行了一番尝试(运维人家觉得做个样子,不想让接入他们的ELK),那就自己搞呗,结果还比较顺利,blog很多比较详细版本,这里仅限记录,希望留给有需要的读者进行参考。

笔者这次实践的过程当中参考了较多的文档与笔记,参考的链接地址有:

elk docker-configuration说明:https://elk-docker.readthedocs.io/
Docker logstash configuration说明文档 、
Docker Hub官网、
Docker ELK使用文档

这哥们写的也挺不错的:https://www.cnblogs.com/soar1688/p/6849183.html

用这家伙的可以跑起来:使用Docker快速部署ELK分析Nginx日志实践


二、操作概要


  1. 服务安装与运行
  2. 数据导入与校验
  3. 绘图配置与展示

ElasticSearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。这是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎。

Logstash是一个具有实时渠道能力的数据收集引擎,主要用于日志的收集,过滤与解析,并将其存入ElasticSearch中。

Kibana是一款 基于Apache开源协议,为ElasticSearch提供分析和可视化的Web平台,它可以在Elasticsearch的索引中查找,交互数据,并生成各种维度的表图。 
        image

5、安装前提条件:

Docker至少得分配3GB的内存;

Elasticsearch至少需要单独2G的内存;

防火墙开放相关端口;

vm.max_map_count至少需要262144,附永久修改vm.max_map_count方法如下图:

执行命令:sysctl -p 查看

 注意:如果看到这样的报错信息 Logstash could not be started because there is already another instance using the configured data directory.  If you wish to run multiple instances, you must change the "path.data" setting. 请执行命令:service logstash stop 然后在执行就可以了。 

 部署Logstash服务

添加 ~/logstash/logstash.conf 配置文件如下:具体参数解释:https://blog.csdn.net/weixin_41436549/article/details/82222344

参考官档   Logstash Configuration Examplesedit

input {file {path => "/alex/data/alex-oas/logs/kafkaData.log"start_position => "beginning"}
}filter {if [path] =~ "kafkaData" {mutate { replace => { "type" => "apache_kafkaData" } }grok {match => { "message" => "%{COMBINEDAPACHELOG}" }}}date {match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]}
}output {elasticsearch {hosts => ["localhost:9200"]}stdout { codec => rubydebug }
}

 ps:附上创建挂载指令

-----bash
#!/bin/bash
#把文件挂载elk容里面进行收集目录
mkdir -p /alex/data/"$1"/data
mkdir -p /alex/data/"$1"/elasticsearch/config
mkdir -p /alex/data/"$1"/kibana/config
mkdir -p /alex/data/"$1"/logstash/config
mkdir -p /alex/data/"$1"/logstash/logs
mkdir -p /alex/data/"$1"/elasticsearch/logs#docker run -itd --privileged --name="$1" -p "$2":5601 -p "$3":9200 -p "$4":5044 -e ES_HEAP_SIZE="2g" -e LS_HEAP_SIZE="1g" --log-driver=json-file -v /alex/data/"$1"/data:/data docker.io/sebp/elk#docker run -itd --privileged --name="$1" -p "$2":5601 -p "$3":9200 -p "$4":5044 -e ES_MIN_MEM=526m -e ES_MAX_MEM=1024m --log-driver=json-file -v /alex/data/"$1"/config/:/data docker.io/sebp/elkdocker run -itd --privileged --name="$1" -p "$2":5601 -p "$3":9200 -p "$4":5044 -p "$5":9300 -e ES_MIN_MEM=526m -e ES_MAX_MEM=1024m --log-driver=json-file -v /alex/data/"$1"/data:/data-v /alex/data/"$1"/logstash/config/:/opt/logstash/config/ -v /alex/data/"$1"/logstash/logs/:/opt/logstash/logs/-v /alex/data/"$1"/elasticsearch/config/:/opt/elasticsearch/config/ -v /alex/data/"$1"/elasticsearch/logs/:/opt/elasticsearch/logs/-v /alex/data/"$1"/kibana/config/:/opt/kibana/config/ docker.io/sebp/elk#docker run -itd --privileged --name="$1" -p "$2":5601 -p "$3":9200 -p "$4":5044 --log-driver=json-file -v /extracme/data/"$1"/data:/data docker.io/sebp/elk

------------------------------------ 

一个人的时候,总是在想

    我的生活到底在期待什么……


推荐阅读
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Elasticsearch1Elasticsearch入门1.1Elasticsearch术语1.1.16.0以前的Elasticsearch术语1.1.26.0以后的Elasti ... [详细]
author-avatar
Belief
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有