EFK+prometheus监控日志介绍

本文介绍了K8S日志采集的难点,详细讲解了EFK(Elasticsearch、Filebeat、Kibana)日志监控系统,包括Elasticsearch的架构和预处理、Filebeat的工作原理与配置、Kibana的主要功能。此外,还简单概述了Prometheus监控系统,探讨其在Kubernetes集群监控中的应用。
摘要由CSDN通过智能技术生成
一、K8S日志采集难点

​ 在 Kubernetes 中,日志采集相比传统虚拟机、物理机方式要复杂很多,最根本的原因是 Kubernetes 把底层异常屏蔽,提供更加细粒度的资源调度,向上提供稳定、动态的环境。因此日志采集面对的是更加丰富、动态的环境,需要考虑的点也更加的多。

  1. 对于运行时间很短的 Job 类应用,从启动到停止只有几秒的时间,如何保证日志采集的实时性能够跟上而且数据不丢?
  2. K8s 一般推荐使用大规格节点,每个节点可以运行 10-100+ 的容器,如何在资源消耗尽可能低的情况下采集 100+ 的容器?
  3. 在 K8s 中,应用都以 yaml 的方式部署,而日志采集还是以手工的配置文件形式为主,如何能够让日志采集以 K8s 的方式进行部署?
二、什么是EFK

​ EFK是三个软件的集合,通过三个软件构建了一个用于对各日志数据进行收集、分析、展示的平台

elasticsearch简称es:用来存储和检索数据
filebeat:用于收集网络中各个服务上的数据,将收集的数据存储到es中
kibana:用来展示数据,数据源自es
三、 elasticsearch
3.1 概述

​ Elasticsearch 是一个分布式搜索引擎,底层基于全文搜索引擎 Apache Lucene 实现。Elasticsearch 屏蔽了 Lucene 的底层细节,提供了分布式特性,同时对外提供了 Restful API。Elasticsearch 以其易用性迅速赢得了许多用户,被用在网站搜索、日志分析等诸多方面。由于 ES 强大的横向扩展能力,甚至很多人也会直接把 ES 当做 NoSQL 来用。

3.2 基本概念

​ 将Elasticsearch和关系型数据术语对照表:

关系数据库       ⇒ 数据库        ⇒  表         ⇒ 行             ⇒ 列(Columns)
 
Elasticsearch  ⇒ 索引(Index)   ⇒ 类型(type)  ⇒ 文档(Docments)  ⇒ 字段(Fields) 
	一个 Elasticsearch 集群可以包含多个索引,也就是说其中包含了很多类型。这些类型中包含了很多的文档,然后每个文档中又包含了很多的字段。Elasticsearch的交互,可以使用Java API,也可以直接使用HTTP的Restful API方式,比如我们打算插入一条记录,可以简单发送一个HTTP的请求:
PUT /megacorp/employee/1  
{
    "name" :     "John",
    "sex" :      "Male",
    "age" :      25,
    "about" :    "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

​ 更新,查询也是类似这样的操作。

3.3 架构

img

1、第一层:Gateway层:elasticsearch支持的索引数据存储格式。Elasticsearch关闭再启动时或从gateway里面读取数据。

2、第二层:Distributed lucene directory层:elasticsearch是基于lucenu框架开发的。

3、第三层:elasticsearch对数据的加工处理方式,mapping:定义索引下面type字段的处理规则,比如:索引如何建立、数据类型等等,相当于关系型数据里面的schema。River是一个运行在elasticsearch集群内部的一个插件,主要是用来从外部获取异构数据,然后在elasticsearch里创建索引,常见的插件有rabbitmq、twitter river。index module(索引模块)控制index相关的所有方面,search module控制所有检索有关的方面。

4、第四层:是elasticsearch自动发现节点的机制。假如master出现了故障,不能工作了,那么其它节点会自动选举,然后产生一个新的master。

5、第五层:是elasticsearch的脚本执行功能,有了这个功能很方便的对查询出来的数据进行加工处理,脚本类型:mvel、js、python等。

6、第六层:3rd plugins:意思是elasticsearch支持安装很多第三方插件。

7、第七层:是elasticsearch的交互方式,支持三种协议:thrift、memcached、http,其中elasticsearch是默认用http协议传输的。

8、Restful Style API:是elasticse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华晨雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值