ELK搭建以及运行和ElasticStarch的详细使用(7.X版本之上)


 

ELK初体验

   

实际运行效果图

             

1.实际演示效果 1亿三千万的数据量 毫秒查询(没时间插入那么多的数据测试)

 

2. 具体资源 安装包文件,.net代码,请联系博主.....感谢大家观看至此...谢谢

 

3.许多不明确的地方,或者错误的地方希望大家多多提意见, 很多都是资源整合,自己实践的

    1.官网   https://www.elastic.co/cn/downloads/elasticsearch   2.需要安装JDK   ElasticSearch 是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。   所采用的是倒排索引   1.正排索引: 由文档指向关键词  文档--> 单词1 ,单词2 单词1 出现的次数  单词出现的位置; 单词2 单词2出现的位置  ...   2.倒排索引: 由关键词指向文档 单词1--->文档1,文档2,文档3 单词2--->文档1,文档2    倒排的优缺点和正排的优缺点整好相反。倒排在构建索引的时候较为耗时且维护成本较高,但是搜索耗时短。   我们使用Elasticsearch来完成日志的检索、分析工作。   bin目录下   elasticsearch-service.bat后面还可以执行这些命令  install: 安装Elasticsearch服务  remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)  start: 启动Elasticsearch服务(如果已安装)  stop: 停止服务(如果启动)  manager:启动GUI来管理已安装的服务     Logstash 是一个用于管理日志和事件的工具,你可以用它去收集日志、转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。 我们使用Logstash来完成日志的解析、存储工作。     Kibana 是一个优秀的前端日志展示框架,它可以非常详细的将日志转化为各种图表,为用户提供强大的数据可视化支持。 我们使用Kibana来进行日志数据的展示工作。     Beats:安装在每台需要收集日志的服务器上,将日志发送给Logstash进行处理,所以Beats是一个“搬运工”,将你的日志搬运到日志收集服务器上。Beats分为很多种,每一种收集特定的信息。常用的是Filebeat,监听文件变化,传送文件内容。一般日志系统使用Filebeat就够了。    

使用分析

 

  1.优点? ELK 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。   ELK 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。和传统的日志处理方案相比,ELK Stack 具有如下几个优点:  
  • 处理方式灵活:Elasticsearch 是实时全文索引;
 
  • 配置简易上手
 
  • 检索性能高效:
 
  • 集群线性扩展:(分布式功能);
 
  • 前端操作炫丽:Kibana 界面上,只需要点击鼠标,就可以完成搜索、聚合功能,生成炫丽的仪表板
 
  • 有很多相关的 配套插件
 
  • .........
  2.缺点?
  • 数据不是实时性(近实时性)
  • 功能点:告警、权限管理、关联分析等还是不太行
  • 缺点也有:各个版本的收费情况 (https://blog.csdn.net/vkingnew/article/details/91549698)
  • 还是 比较吃内存的 吃配置的
  • .........
  3.为什么使用? 用途 ?   1
  • 数据(日志)的日益增多
  • 开源
  • ELK 本身非常易用,有一个非常好的社区
  • .........
  2
  • 问题排查
  • 监控和预警
  • 关联事件
  • 数据分析
  4.一般的使用场景是?   大数据日志分析, 大量的订单数据等等, 分布式整合收集各种日志 统一查看等等     注意一些点
  • 修改默认的 Elasticsearch 集群名称
  • 不要暴露 Elasticsearch 在公网上
  • 不要以 root 身份运行 Elasticsearch
  • 定期对 Elasticsearch 进行备份
  • 安装Elasticsearch的权限系统插件-SearchGuard
  • 利用操作系统防火墙设置规避9200端口开放问题
      离线的方式(也是所推荐的) 常见的三种 · Beats ==> Elasticsearch ==> Kibana · Beats ==> Logstash ==> Elasticsearch ==> Kibana · Beats ==> Kafka ==> Logstash ==> Elasticsearch ==>Kibana (未尝试成功......)                     删除(DELETE)  http://127.0.0.1:9200/索引名称           使用Elasticsearch Sql插件的语法查询   elasticsearch-sql的安装   ElasticSeartch 安装目录下的 bin下面执行  
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.3.1.0/elasticsearch-sql-6.3.1.1.zip

  

参考链接 https://blog.csdn.net/fly910905/article/details/81434518   在下载一个插件(download and extract site.) 启动 cd site-server npm install express --save node node-server.js 端口被占用的话 修改 site_configuration.json 配置文件   https://www.pianshen.com/article/20981106760/   具体详情 https://blog.csdn.net/CODEROOKIE_RUN/article/details/108997073   elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.3.1.0/elasticsearch-sql-6.3.1.1.zip      
  1. cd site-server
  2. npm install express --save
  3. node node-server.js
     3.然后 Kibana查看效果  
GET _analyze
{
  "analyzer": "ik_smart",
  "text":"年轻人不讲武德"
}

GET _analyze
{
  "analyzer": "ik_smart",
  "text":"大意了没有闪"
}

C#对接使用

 

  官方文档地址: https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/index.html   ElasticSearch官方网站提供了两个.net客户端驱动程序   Elasticsearch.Net NEST 更高级一点   例子采用 NEST 程序     类比传统关系型数据库:   //Relational DB -> Databases -> Tables -> Rows -> Columns //Elasticsearch -> Indices -> Types -> Documents -> Fields     DB使用过程:创建数据库->创建表(主要是设置各个字段的属性)->写入数 ES使用过程:创建索引->为索引maping一个Type(同样是设置类型中字段的属性)->写入数   详情参考文章 https://www.cnblogs.com/huhangfei/p/7524886.html   https://www.cnblogs.com/johnyong/p/12906370.html   很实用的教程 https://www.cnblogs.com/johnyong/p/12873386.html   https://blog.csdn.net/weixin_34174322/article/details/89620028   https://www.iwmyx.cn/netcoresjdsyelastic.html   http://www.manongjc.com/detail/16-bibsziudsvlydsc.html   http://www.bubuko.com/infodetail-3331205.html   https://blog.csdn.net/weixin_30650859/article/details/96112272   https://blog.csdn.net/weixin_30446197/article/details/96516827   NEST 封装 https://www.cnblogs.com/diwu0510/p/11161246.html