from:https://www.t00ls.net/thread-32593-1-1.html
ELK是什么东西?
ELK是ElasticSearch、Logstash、Kibana三个应用的缩写。 ElasticSearch简称ES,主要用来存储和检索数据。Logstash主要用来往ES中写入数据。Kibana主要用来展示数据。
为什么用ELK?
传统的社工库通常用MySQL数据库来进行搭建,在相当大的数据下检索效率非常低下。在这种关系型数据库中进行查询需要明确指定列名。而在ES中可用全文 检索,并且在大数据的查询中的响应几乎都是毫秒级的,速度相当之快!ELK原本用在日志的大数据收集和分析,其可怕的速度作为社工库也是一种不错的选择。
安装和配置
前提你需要一个很大的硬盘,大约社工库容量2.5倍的硬盘(ES会创建相关索引)。
你需要安装java至少7以上的版本。并且配置JAVA_HOME环境变量.
因为安装非常简单,只需要下载相应的压缩文件,解压即可。在此不再赘述。
我此次演示的环境在Windows8.1上,ES在Linux中不能使用root权限运行。
ES 2.0.0 Logstash 2.0.0 Kibana 4.2.0
修改配置文件:
ES/config/elasticsearch.yml
cluster.name: esdemo (集群的描述信息)
node.name: 63 (节点名称)
network.host: 192.168.1.5 (绑定的IP地址)
http.port: 9200 (端口号 默认9200)
一些Linux环境需要修改 ES/bin/elasticsearch 文件 增加
export JAVA_HOME=JDK路径
启动 ES/bin/elasticsearch或者elasticsearch.bat 即可启动
然后访问 http://localhost/IP:9200 可查看是否正常运行
Kibana/config/kibana.yml
elasticsearch.url: "http://192.168.1.5:9200" 指定ES地址
执行Kibana/bin/kibana 或者 kibana.bat启动
查看 http://localhost:5601 是否正常启动
ElasticSearch 天生就很好的支持分布式,如果环境允许可以多使用几台负载。
为了方便理解 把ES中的一些概念和MySQL进行对比
ES index(索引) type(类型) document(文档) field(字段)
MySQL database table row column
社工库搭建
以上工作准备完成之后,就该进入搭建的阶段了.首先确定有哪些列名存在ES中,我自己存了10列,给大家做个参考.
nickname(昵称)、password(密码)、email(邮箱)、qq(QQ号)、telno(手机号码)、idno(身份证号码)、 realname(真实姓名)、address(家庭住址)、salt(盐值)、from(数据来源)。相对来说我这样划分的还是蛮详细的。但是在用 Logstash写入ES的过程当中就比较费时了。其实如果想偷懒,完全可以把现有的数据只作为一个field写入,也是可以查询出来的。但是这样会比较 乱,看着很不舒服。
我现在的主要做法是对一些现有的CSV文件,使用脚本进行清洗,洗成我规定的这些字段的格式。如果是.sql文件,则直接丢进mysql,然后再导出 csv文件。也就是说不同的网站数据库最终全部是csv文件,并且是格式相同的csv。有字段不存在的则使用空字符替代。这样的话,可以在不更改 logstash配置文件的情况下直接导入ES,也方便进行迁移。
配置logstash 文件(test.conf)
然后在logstash bin目录下面执行
Logstash.bat -f test.conf
就可以看到如下图:
正在往ES中写入数据。
在重复测试时,请注意要删除home目录下的sincedb文件。我提供了一段python代码来进行这些操作。
以上代码主要是用来删除创建的索引中的数据并且删除一些临时文件.
数据写完之后可以查看
http://ip地址:9200/_cat/indices?v
来查看索引的信息
登录 Kibana
http://localhost:5601/
点击settings --- index patterns Add new --输入你创建的index名称,点击create完成.
然后可以在Discover中进行搜索。
也可以指定字段名进行搜索 例如:telno:13588888888.该语法为lucene 语法.
Have fun!!!
相关推荐
### ELK搭建文档知识点解析 #### 一、ELK简介 ELK栈是Elasticsearch、Logstash 和 Kibana的简称,它们都是Elastic公司旗下的开源产品。ELK栈常用于日志处理流程,包括收集、存储、分析以及展示等环节。 1. **...
【ELK搭建手册】 ELK(Elasticsearch, Logstash, Kibana)是一套流行的开源日志管理系统,用于实现日志数据的收集、传输、存储、分析和监控。ELK堆栈因其高效和灵活的特点,已成为现代IT环境中日志管理的主流方案。...
需要注意的是,本文档只覆盖了基础的ELK Stack搭建流程,实际使用中可能需要根据业务需求调整Logstash的过滤规则,或者对Elasticsearch进行集群配置以提高可扩展性和容错性。此外,Kibana还可以用于创建复杂的仪表板...
ELK集群搭建
elk日志收集搭建教程,最详细的教程,真心推荐
elk搭建日志平台,按照步骤搭建即可,集成redis,elastic
ELK 集成环境搭建手册 ELK 集成环境搭建手册是一份详细的指导手册,旨在帮助用户快速搭建 ELK 集成环境。ELK 是一个流行的日志采集和分析平台,由 Elasticsearch、Logstash 和 Kibana 三个组件组成。本手册将指导...
### ELK 5.5 环境搭建与性能调优 #### 一、系统拓扑及注意事项 在搭建实时日志分析系统 ELK (ElasticSearch + Logstash + Kibana) 5.5 版本的过程中,需要注意以下几个关键点: 1. **Java 环境**:ELK 的三个组件...
### ELK Stack搭建及使用详解 #### 一、ELK Stack概述 ELK Stack是一款集实时日志收集、处理及展示于一体的轻量级系统。它由三个主要组件组成:Elasticsearch、Logstash 和 Kibana,分别负责数据存储、数据收集与...
本文将详细介绍如何使用ELK搭建日志分析系统。 首先,我们从基础开始,Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,用于存储和检索大量数据。确认Elasticsearch是否正常运行,可以通过在命令行...
资源为elk日志分析系统的搭建,其中包括Elasticsearch、Logstash、Kibana三种文件的安装包,也有描述性的文档,同时文档中也增加了关于kafka的使用。 资源在手,天下我有</p>
### ELK搭建文档知识点 #### 一、Elasticsearch安装与配置 **1.1 安装前准备** - **Java环境**: Elasticsearch依赖于Java运行环境。安装前需确保已安装Java8或更高版本。 - 命令示例: `java -version` 查看Java...
这个“elk环境搭建文档.zip”压缩包显然提供了关于如何在环境中部署和配置这些组件的详细步骤。让我们深入探讨每个组件以及如何进行集群搭建。 **Elasticsearch** Elasticsearch是一个分布式、RESTful风格的搜索和...
【Centos7下搭建ELK日志分析系统】 ELK栈是日志管理和分析的强大工具,由Elasticsearch、Logstash、Kibana三个组件组成。Elasticsearch是一个分布式的实时搜索和分析引擎,用于存储、分析和检索大量数据。Logstash...
ELK资料学习搭建和讲解
### ELK平台搭建详解 #### 一、ELK平台概述 **ELK** 平台是一种流行的开源解决方案,主要用于收集、存储、分析和提供实时搜索功能的日志数据。该平台由三个主要组件组成:Elasticsearch、Logstash 和 Kibana。 1....
自己通过5天时间在Ubuntu14.04 Server亲自搭建master节点和node节点,实验成功后亲自编写的《开源实时日志分析ELK系统搭建说明》,分虽然高一些,但是内容看了很值得,包含搭建、实验、排错等环节,谢谢大家~。
本文将深入探讨如何搭建和使用ELK系统,以实现高效、便捷的日志管理。 首先,我们来看ELK的三个主要组件: 1. Elasticsearch:这是一个开源的分布式搜索引擎,具有实时分析能力。它提供了一个灵活且强大的数据存储...