基于ELK搭建的本地社工库

news2025/1/13 17:33:52

简介

ELK原本是一个开源实时日志分析平台。

ELK是三个开源软件的缩写,分别为:ElasticsearchLogstash以及Kibana 。目前又新增了一个Beats,是一个轻量级的日志收集处理工具,Beats占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

Beats在这里是一个轻量级日志采集器,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

优点

网上的社工库,大部分是mysql+coreseek+php架构。

coreseek基于sphinx,是一款优秀的全文搜索引擎,缺点是比较轻量级,一旦数据量过数亿,就会有些力不从心,并且搭建集群做分布式性能并不理想。

在ELK中可用全文检索,并且在大数据的查询中的响应几乎都是毫秒级的,速度相当之快!ELK原本用在日志的大数据收集和分析,其可怕的速度作为社工库是不错的选择。

ELK最简单的架构只需要一台机器即可架设。

环境

ELK需要java环境的支持,并配置JAVA_HOME环境变量。

建议直接安装jdkjdk是包含jre的,下载完记得手动添加安装位置到环境变量。

java默认安装路径:C:\Program Files\Java,里面同时有jrejdk。

jdk文件夹里面还有一个jre文件夹,新建一个系统变量JAVA_HOME,值为jdk路径

PATH新建添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,就配置好JAVA_HOME环境变量了

通常直接安装默认会自动配置环境变量,不必在手动配置,确认一下即可。

下载

ELK官网下载:

下载 Elastic 产品 | Elastic

点击下载之后根据不同的操作系统选择相应的版本即可

运行

我这里是在本机windows中运行。

下载好ElasticsearchLogstashKibana三个压缩包后分别进行解压

运行脚本文件都在各文件夹下的 bin 目录下,分别为:

bin/logstash.bat

bin/kibana.bat

bin/elasticsearch.bat

首先运行elasticsearch.bat

双击运行后等待一下访问本机9200端口,如下代表成功:

默认为9200端口,可在 config/elasticsearch.yml 文件中进行修改,通常默认即可

#禁用虚拟内存,提高性能 

bootstrap.memory_lock: true

#节点名称自定义

cluster.name: elasticsearch

#数据通信端口

http.port: 9200

#监听网卡

ip network.host: 192.168.1.1

#是否是数据节点

node.data: true

#关闭即可

node.ingest: true

#是否是主节点,不定义的话先启动的是主节点

node.master: true

#最大存储节点

node.max_local_storage_nodes: 1

#节点名字自定义

node.name: Win-Master-1

#数据文件路径

path.data: D:\elk\elasticsearch\data path.logs: D:\elk\elasticsearch\logs

#节点间通信端口:

transport.tcp.port: 9300

#节点ip,节点之间要允许ping和9300端口通信

discovery.zen.ping.unicast.hosts: ["192.168.1.1", "192.168.1.2"] #head插件相关:

http.cors.enabled: true http.cors.allow-origin: "*"

# 0.0.0.0 则开启外网访问

network.host=0.0.0.0

然后运行 kibana.bat 等待一下访问本机5601端口

默认为5601端口,可在 config/kibana.yml 文件中进行修改

最后使用 logstash 导入数据

新建一个文件作为数据及导入格式:

input {
    file{

        #输入源文件,注意此处不能使用反斜杠
        path=>"C:/Users/ASUS/Desktop/logstash-8.0.1/bin/dic.txt"
        start_position=>beginning #定义开头
    }
}
filter {
    csv{
        columns=>["qq","password","mail","地址"] #存储的字段名
        separator=>"---" #分隔符
    }
    mutate{
        #移除一些默认的输出信息
        remove_field=>["message","path","host","@timestamp","@version","original","event","log"]
    }
}
output {
    elasticsearch{
        hosts=>["127.0.0.1:9200"]
        index=>"ling" #导入的库名
        document_type=>"qq" #类型名
    }
    stdout{
        codec=>rubydebug
    }
}

创建相应的文件

运行命令导入数据

.\logstash.bat -f .\dic.conf

访问http://127.0.0.1:9200/_cat/indices?v可以看到有任务进行

成功后访问http://127.0.0.1:5601/在managerment->ling->可以看到导入的库

点击库可看到数据的大小及数量

新建索引

点击Managerment->Index Pattern

输入信息,与创建的库同名

点击Next step, 然后点击Create index pattern

创建成功后点击Discover查看所有信息

最后搜索信息,点击搜索结果查看信息详情

响应时间非常迅速

后面优化需要配合api接口进行查询

声明

提供的技术仅供学习参考测试,利用本文提供的信息造成的直接或间接损失由使用者自行承担。


结语

别因寒冷放弃前行,要知道冬天的每一道脚印都只会更加清晰。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Greenplum GPKafka【实践 01】使用GPKafka实现Kafka数据导入Greenplum数据库踩坑问题记录(不断更新ing)

1.说明 Kafka 是分布式消息订阅系统,有非常好的横向扩展性,可实时存储海量数据,是很常用的流数据处理中间件。物联网设备采集的数据很多时候就是通过 Kafka 进行处理的。当 Kafka 数据要入库分布式数据库 Greenplum 时,我们就需要…

二、IAR新建一个工程

之前录制了无线传感网综合项目实战课程,这个课程非常适合应届毕业生和想转行Linux的朋友,用来增加项目经验。 其中一部分内容是关于CC2530zigbee的知识,后面会更新几篇关于cc2530的文章,敬请关注! 下面是该系列文章链…

gcc 好玩的 builtin 函数

gcc 好玩的 builtin 函数 前言 在本篇文章当中主要想给大家介绍一些在 gcc 编译器当中给我们提供的一些好玩的内嵌函数 (builtin function)🤣🤣🤣 。 __builtin_frame_address 使用内嵌函数实现 __builtin_frame_address(x) // 其中 x 一…

【GPU】Nvidia CUDA 编程高级教程——利用蒙特卡罗法求解近似值(MPI方法)

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

无线蓝牙运动耳机推荐,目前实用性不错的运动耳机推荐

对于运动人士来说,运动耳机是日常出门标配,一款实用性好的运动耳机能给我们带来很大的动力,在运动时戴着听音乐,能够释放压力的同时让运动过程变得更加心情愉快。但是运动耳机实在是太多了,琳琅满目,各种各…

c++11特性(3)

1.lambda表达式 a.出现由来: 以sort为例,我们可以传入一个仿函数对自定义类型进行排序。但是,对每一种比较方式我们都要显示传一个仿函数太麻烦。要是乱命名更加要命,那就除了写这段代码的人没人看得懂了! b.lambda…

基于象虫损害优化算法的投资组合问题(Matlab代码实现)

📝个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,…

我的写作心得

前言 首先,博主是一个在校高中生,平常可以说几乎没有时间来创作文章,所以说断更也是很正常的 时隔半年,我也在csdn累计了400多个粉丝(截止我创作这篇文章的时候),从之前的一无所有&#xff0c…

PCL交互选择ROI区域

PCL的配置和如何配准点云可见博主之前的博客 win10环境下PCL安装和配置回顾(一)_竹叶青lvye的博客-CSDN博客_pcl win10 win10环境下PCL安装和配置回顾(二)_竹叶青lvye的博客-CSDN博客_win10 安装pcl PCL - 3D点云配准(registra…

状态保持-JWT

“ Web的状态保持技术 -JWT(Json Web Token)” 在分布式微服务技术流行的今天,大型网站对JWT的使用愈加频繁,相比较于传统的session cookie。 HTTP 是一个无状态的协议,何为无状态呢?就是说这本次请求和上次…

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献)

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献) 文章目录【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文…

网站文章采集器-万能文章采集器

随着时代的发展。互联网无时不刻地出现在我们的生活中,大家也越来越注重效率,今天小编就给大家来分享一款网站文章采集器。只需要点几下鼠标就能轻松获取数据,不管是导出本地还是发布到网上。网站人员可以实现自动采集,定时发布&a…

[计算机毕业设计]食品安全数据的关联分析模型的应用

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

idea里面完整创建maven项目(包含如何使用)

目录 前言: 1.Maven和Maven Archetype区别? 2.创建maven项目之前的步骤(必看) 一、创建maven 1.打开idea--->文件--->新建--->项目 2.新建项目--->自定义项目名称--->选择Maven-->创建 3. 创建成功 二、…

微信小程序连接蓝牙汉印HM-A300L标签打印机

需求: 参考文章: 微信小程序实现蓝牙打印 打印机CPCL编程参考手册(CPCL 语言) 蓝牙打印机CPCL编程手册~汉印HM-A300 无用小知识: A300系列:先将打印机关机然后装好纸,同时按住屏幕左右两边的按…

UDS诊断网络层ISO15765-2(CAN)

诊断协议那些事儿 本文为诊断协议那些事儿专栏文章,从一个 ECU 到另一个 ECU,或外部诊断设备和一个 ECU 之间的通信,不仅依赖前文介绍的诊断寻址方式,更需要关注数据的传输,依赖网络层、传输层协议去完成,…

[附源码]java毕业设计社团管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

2022.11.09第6次Javaweb上机——实现登录欢迎页面

前情回顾 Myeclipse的安装教程_科大云炬的博客-CSDN博客 【JavaWeb第1次上机练习】安装Tomcat并在本地浏览器成功运行第一个Hello world网站_科大云炬的博客-CSDN博客 【第2次JavaWeb上机练习】_科大云炬的博客-CSDN博客 第3次 JavaWeb上机练习:Servlet基础作业…

python工作任务流flow实时框架:prefect

python工作任务流flow实时框架:prefect prefect是一个python的工作任务流调度实时框架,prefect可以快速构建平台系统复杂模块间工作流的监测。当平台系统模块之间的调用链越来越复杂时候,任务执行起来,已经很难盘点清楚程序逻辑和…

删除链表中重复元素的问题

目录 一、删除所有重复元素,使每个元素只出现一次 1.1带头链表解法 1.2 递归方法 二、删除所有重复数字结点,只留下不同数字 2.1带头链表解法 2.2 递归方法 一、删除所有重复元素,使每个元素只出现一次 给定一个已排序的链表的头 hea…