ELK介绍说明

介绍
ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体,ELK 是 elastic 公司研发的一套完整的日志收集、分析和展示的企业
级解决方案,在这三个软件当中,每个软件用于完成不同的功能,ELK 又称为 ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个:
处理方式灵活:elasticsearch 是实时全文索引,具有强大的搜索功能
配置相对简单:elasticsearch 的 API 全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单。
检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。
集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展
前端操作绚丽:kibana 的前端设计比较绚丽,而且操作简单



什么是 Elasticsearch: 
是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索、支持分布式可实现高可用、提供 API 接口,可以处理大规模日志数据,比如 Nginx、Tomcat、系统日志等功能。
Elasticsearch 使用 Java 语言开发,是建立在全文搜索引擎 Apache Lucene 基础之上的搜索引擎,https://lucene.apache.org/。

Elasticsearch 的特点
实时搜索、实时分析
分布式架构、实时文件存储
文档导向,所有对象都是文档
高可用,易扩展,支持集群,分片与复制
接口友好,支持 json


什么是 Logstash 
Logstash 是一个具有实时传输能力的数据收集引擎,其可以通过插件实现日志收集和转发,支持日志过滤,
支持普通 log、自定义 json 格式的日志解析,最终把经过处理的日志发送给 elasticsearch。


什么是 kibana: 
Kiabana:是基于 Node.js 开发的展示工具,可以为 elasticsearch 提供一个查看数据的 web 界面,其主要是通过elasticsearch 的 API 接口进行数据查找,
并进行前端数据可视化的展现,另外还可以针对特定格式的数据生成相应的表格、柱状图、饼图等。


Filebeat:轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,
并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。

为什么使用 ELK? 
ELK 组件在海量日志系统的运维中,可用于解决以下主要问题:
- 分布式日志数据统一收集,实现集中式查询和管理
- 故障排查
- 安全信息和事件管理
- 报表功能

ELK 的好处: 
ELK 组件在大数据运维系统中,主要可解决的问题如下:
- 日志查询,问题排查,故障恢复,故障自愈
- 应用日志分析,错误报警
- 性能分析,用户行为分析


LK的工作原理
在所有需要收集日志的服务器上部署Logstash; 或者先将日志进行集中化管理在日志服务器上, 在日志服务器上部署 Logs tash。
Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
Elasticsearch 对格式化后的数据进行索引和存储。
Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。


------------------------------------------------------------------------------
------------------------------------------------------------------------------


elasticsearch优化部分:
    一个是内核参数  vm.max_map_count = 262144   
    一个是资源限制
        需要允许elasticsearch用户占用系统的资源上限
        
    内存优化
        推荐是宿主机的一半内存,最大不超过30G


index的创建机制:
    按天创建
        访问量比较大的业务日志,比如各种web服务的访问日志
    按周创建
        网络设备的日志,web服务错误日志
    按月创建
        系统日志,/var/log/message /var/log/syslog
            
            
index名称格式:(logstash +服务名称+IP+时间)  
        logstash_tomcat.access.log_192.168.80.120_2021.10.21        
        索引=index 
    
ES集群状态:
    绿色状态:
        表示集群各节点运行正常,而且没有丢失任何数据,各主分片和副本分片都运行正常
    黄色状态:
        表示由于某个节点宕机或者其他情况引起的,node节点无法连接、副本分片丢失等场景,但是还没有丢失任何数据
    红色状态:
        表示由于某个节点宕机或者其他情况引起的主分片丢失及数据丢失
        
        
Master 与 Slave 的区别: 
        Master 的职责:统计各 node 节点状态信息、集群状态信息统计、索引的创建和删除、索引分配的管理、关闭 node 节点等
        Slave 的职责: 从 master 同步数据、等待机会成为 Master
        
收集日志的几种方式:
    1.logstash    
    2.logstash的TCP/UDP 监听端口,在”其他“服务器安装 nc 命令
    3.通过 rsyslog 收集日志,要logstash接收再转发到ES :
    4.filebeat 收集日志:
    
    
    
通过 shell 命令获取集群状态:
    curl -XGET 192.168.80.100:9200/_cat/nodes?pretty       查看节点状态
    curl -XGET 192.168.80.100:9200/_nodes/process?pretty   查看节点详细信息
    curl -XGET 192.168.80.100:9200/_cluster/health?pretty  查看健康状态
    curl -XGET http://192.168.80.100:9200/_cat?pretty
    curl  http://192.168.80.100:9200/_cat/indices?v         查看索引和分片状态
    curl -XGET 'http://192.168.80.100:9200/_cat/indices?v&pretty'查看损坏索引
    curl 192.168.80.100:9200/_settings   查看索引和副本
    curl -i -XPUT 192.168.80.100:9200/linux39/_settings -H 'content-Type:application/json' -d '{"number_of_replicas": 0}'   修改linux39副本数量为0。

 

posted @ 2022-12-15 14:31  yuanbangchen  阅读(206)  评论(0编辑  收藏  举报