from :3359 www.t00ls.net/thread-32593-1-1.html
什么是ELK?
ELK是ElasticSearch、Logstash、Kibana三个APP应用的缩写。 ElasticSearch简称ES,主要用于存储和检索数据。 Logstash主要用往来ES写入数据。 Kibana主要用于展示数据。
为什么要用ELK?
传统的社会工作人员通常在MySQL数据库中构建,用相当多的数据进行搜索效率非常低。 要在这种关系数据库中进行查询,必须明确指定列名。 ES可以全文搜索,大数据查询的响应几乎都在毫秒级,速度相当快。 ELK原本用于日志的大数据收集和分析,但其可怕的速度也是社工库的好选择。
安装和配置
前提是需要较大的硬盘,需要容量约为社会工作者容量2.5倍的硬盘。 ES创建相关索引。
必须安装至少7个以上的java版本。 设置JAVA_HOME环境变量。
因为安装非常简单,所以只需下载并解压缩相应的压缩文件。 这里省略说明。
此次演示的环境为Windows8.1,ES无法在Linux上以root权限运行。
es2.0.0 log stash2.0.0kiba na4.2. 0
更改配置文件:
ES/config/elasticsearch.yml
(cluster.name: esdemo (集群描述信息) ) ) ) ) ) ) ) )。
节点. name : 63 (节点名称)
网络. host : 192.168.1.5 (绑定的IP地址)。
http.port: 9200 (端口号默认值9200 ) )。
在某些Linux环境中,需要修改ES/减肥的懒猪/elasticsearch文件
导出Java _ home=JDK路径
ES/减肥懒猪/elasticsearch或elasticsearch.bat启动
然后访问http://localhost/IP:9200以确定其是否正常工作
Kibana/config/kibana.yml
elastic search.URL : ' http://192.168.1.533609200 '指定ES地址
Kibana/减肥懒猪/kibana或kibana.bat启动
检查http://localhost:5601是否正常启动
ElasticSearch天生就支持分布式,在环境允许的情况下可以使用多个负载。
为了便于理解,将ES的一些概念与MySQL进行比较
ES index (索引类型)类型(文档)字段() ) ) ) ) )。
MySQL数据库表行列
构建社会工作者资源库
以上准备完毕,应该进入构建阶段.先确定哪个列名存在于ES中,我自己存十列,供参考.
nickname (昵称)、password (密码)、email (邮件)、QQ (号码)、telno (电话号码)、idno (身份证号码)、realname (真实姓名)、地址)、SSS )。 相对来说我这样分是相当详细的。 但是,在用Logstash写入ES的过程中需要时间。 其实如果想偷懒的话,既可以把现有的数据只作为field写入,也可以查。 但是,这很混乱,看着不舒服。
我现在的主要做法是使用脚本对一些现有的CSV文件进行清洗,并按照我决定的这些字段的格式进行清洗。 对于. sql文件,请直接将其放入mysql中,然后导出csv文件。 也就是说,不同的站点数据库最终都是csv文件,并且是相同格式的csv。 如果字段不存在,请改为使用空字符。 这样可以直接导入到ES中,而无需更改日志状态配置文件,并且迁移也很容易。
logstash文件的设置(test.conf ) ) ) ) ) ) ) ) )。
然后在logstash减肥的懒猪目录下运行
Logstash.bat -f test.conf
可以看到下面的图:
正在向ES写入数据。
重复测试时,请注意删除主目录下的sincedb文件。 为执行这些操作提供了python代码。
上述代码主要用于从创建的索引中删除数据和删除临时文件。
写完数据就可以看了
http://ip地址:9200/_cat/indices? v
中选择所需的墙类型
登录Kibana
http://localhost:5601/
settings---indexpatternsaddnew----输入刚创建的索引名称,然后单击create完成。
然后,可以在Discover上搜索。
也可以指定字段名进行搜索。 例如,telno:13588888888。 此语法为lucene语法。
Have fun!