ELK

发布时间 2023-07-14 21:46:00作者: 枫飘过的天1

1.ELK简介

   Elaticseach、logstash、kibana三个软件首字母缩写。新增一个FileBeat(轻量级的日志收集处理工具Agent,占用资源少),

   适合于在各服务器上搜集日志后传输给Logstash,官方也推荐此工具。

   Elasticsearch: 日志检索和存储   

   Logstash: 日志的搜集、分析、处理

   Kibana: 日志的可视化  

   ELK解决分布式日志数据集中式查询 管理、故障排查系统监控

   ELK用途:(在大数据运维系统中,主要可解决的问题如下)
   日志查询,问题排查,故障恢复,故障自愈;

   应用日志分析,错误报警;性能分析,用户行为分析

2.ELK架构

   

   管理节点:部署ELK服务  

   节点服务器:filebeat收集日志

   此架构将收集端logstash替换为beats,更灵活,消耗资源更少,扩展性更强。同时可配置Logstash 和Elasticsearch 集群用于支持大集群系统的运维日志数据监控和查询

3.ES(elasticsearch)

   基于Lucene,分布式全文搜索引擎,基于restful API的web接口。实时分析、分布式实时文件存储,将每个字段编入索引;文档导向,所有对象全部是文档,高可用、高扩展性,

   支持集群、分片、复制,   支持json(关系型数据库)

   没有典型意义的事务,面向文档的数据库,没有提供授权认证的特性

   支持集群,集群有多个节点,一个主节点(主节点选举产生),集群状态所有节点都有

   安装配置:

   安装jdk,导入key,yum -y install elasticsearch ,openpfile修改

   配置文件:elasticsearch.yml

   cluster.name  集群名称       node.name  节点名称

   path.data: /data/es-data   //数据存储路径,需赋权给elasticsearch:elasticsearch

   path.logs   //日志路径定义

   bootstrap.mlockall: true   //锁定内存,不会分配到swap分区上

   network.host: 0.0.0.0

   http.port:9200    //指定端口,默认9200

   常用插件head(ES图形化插件)、bigdesk(监控)、kopf

   集群配置:其他同单节点配置,只是集群名称一致即可

   Elasticsearch和关系型数据库对比:

   在ES中,文档归属一种类型(type),而这些类型存在于索引(index)中,类比传统关系型数据库。(文档类数据库)

   DB -> Databases -> Tables -> Rows -> Columns   关系型数据库表 行 列

   ES -> Indices -> Types -> Documents -> Fields    ES索引 类型 文档 域(字段)

   搭建ES流程安装第一台ES服务器?

   设置主机名称和IP对应关系--解决依赖关系openjdk1.8-->安装软件包elasticsearch-->修改配置文件elasticsearch.yml-->启动服务-->检查服务 netstat -lutunp (9200 9300)、curl:htttp://192.168.4.1:9200/

4.Logstash

   数据采集、加工处理及传输的工具。所有类型数据集中处理,不同模式和格式数据正常化,自定义日志格式的迅速扩展,为自定义数据源轻松添加插件

   Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具(支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型)

   Input:输入数据到logstashFilters:数据中间处理,对数据进行操作;Outputs:outputs是logstash处理管道的最末端组件 json:使用json格式对数据进行编码/解码

   安装配置:导入key,配置yum源,yum -y install logstash 

   启动:/opt/logstash/bin/logstash -e 'input { stdin{} } output { stdout{} }'   或/opt/logstash/bin/logstash -f logstash.conf (自定义配置文件,配置文件方式启动)

   配置文件配置:input--path/type/start_postion  output--hosts/indexs

   添加if可以同时收集多个日志

   应用:收集系统日志、Nginx日志、Java项目日志(elasticsearch日志)

   常用插件:file、moltline

5.kibana

   数据可视化平台工具。灵活的分析和可视化平台、实时总结和流数据图表,为不同用户展示直观的界面,即时分享和嵌入的仪表板。

   安装配置:下载安装包,配置文件:kibana.yml

   server.port:5601   //端口配置       ealsticsearch.url:   //ES URL配置

   Kibana.index      //索引配置   

   kibana启动后,需要创建ES索引,kibana不会自动创建

   ELK默认端口:elasticsearch 9200  logstash 9600  kibana 5601