zoukankan      html  css  js  c++  java
  • Elastic Beats介绍

    需要学习的地方:概念,用法,模块使用

    Elastic Beats介绍

    Elastic Stack传统上由三个主要组件(Elasticsearch,Logstash和Kibana)组成,早已脱离了这种组合,现在也可以与名为“ Beats”的第四个元素结合使用--一个针对不同用例的日志运送者系列。 现在网上有一种说法叫做ELKB,这里的B就是指的beats.

    在集中式日志记录中,数据管道包括三个主要阶段:聚合,处理和存储。 在ELK堆栈中,传统上,前两个阶段是堆栈工作量Logstash的职责。执行这些任务需要付出一定的代价。 由于与Logstash的设计有关的内在问题,性能问题变得经常发生,尤其是在复杂的管道需要大量处理的情况下。将Logstash的部分职责外包的想法也应运而生,尤其是将数据提取任务转移到其他工具上。

    Beats到底是什么呢

    Beats是轻量级(资源高效,无依赖性,小型)和开放源代码日志发送程序的集合,这些日志发送程序充当安装在基础结构中不同服务器上的代理,用于收集日志或指标(metrics)。这些可以是日志文件(Filebeat),网络数据(Packetbeat),服务器指标(Metricbeat)或Elastic和社区开发的越来越多的Beats可以收集的任何其他类型的数据。 收集后,数据将直接发送到Elasticsearch或Logstash中进行其他处理。Beats建立在名为libbeat的Go框架之上,该框架用于数据转发,这意味着社区一直在开发和贡献新的Beats。

    Filebeat

    顾名思义,Filebeat用于收集和传送日志文件,它也是最常用的Beat。 Filebeat如此高效的事实之一就是它处理背压的方式-因此,如果Logstash繁忙,Filebeat会减慢其读取速率,并在减速结束后加快节奏。
    Filebeat几乎可以安装在任何操作系统上,包括作为Docker容器安装,还随附用于特定平台(例如Apache,MySQL,Docker等)的内部模块,其中包含这些平台的默认配置和Kibana对象。

    Packetbeat

    网络数据包分析器Packetbeat是第一个引入的beat。 Packetbeat捕获服务器之间的网络流量,因此可用于应用程序和性能监视。
    Packetbeat可以安装在受监视的服务器上,也可以安装在其专用服务器上。 Packetbeat跟踪网络流量,解码协议并记录每笔交易的数据。 Packetbeat支持的协议包括:DNS,HTTP,ICMP,Redis,MySQL,MongoDB,Cassandra等。

    Metricbeat

    Metricbeat是一种非常受欢迎的beat,它收集并报告各种系统和平台的各种系统级度量。 Metricbeat还支持用于从特定平台收集统计信息的内部模块。您可以使用这些模块和称为指标集的metricsets来配置Metricbeat收集指标的频率以及要收集哪些特定指标。

    Heartbeat

    Heartbeat是用于“uptime monitoring”的。本质上,Heartbeat是探测服务以检查它们是否可访问的功能,例如,它可以用来验证服务的正常运行时间是否符合您的SLA。 您要做的就是为Heartbeat提供URL和正常运行时间指标的列表,以直接发送到Elasticsearch或Logstash以便在建立索引之前发送到您的堆栈。

    Auditbeat

    Auditbeat可用于审核Linux服务器上的用户和进程活动。 与其他传统的系统审核工具(systemd,auditd)类似,Auditbeat可用于识别安全漏洞-文件更改,配置更改,恶意行为等。

    Winlogbeat

    Winlogbeat仅会引起Windows系统管理员或工程师的兴趣,因为它是专门为收集Windows事件日志而设计的节拍。 它可用于分析安全事件,已安装的更新等。

    Functionbeat

    Functionbeat被定义为“serverless”的发件人,可以将其部署为收集数据并将其发送到ELK堆栈的功能。 Functionbeat专为监视云环境而设计,目前已针对Amazon设置量身定制,可以部署为Amazon Lambda函数,以从Amazon CloudWatch,Kinesis和SQS收集数据。

    如何使用beats

    现在我们来用metricbeat展示如何使用beats。其他的可以仿照这个方法来做。

    安装metricbeat

    curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.3.2-linux-x86_64.tar.gz
    tar xzvf metricbeat-7.3.2-linux-x86_64.tar.gz
    

    Metricbeat 配置文件

    等我们安装完Metricbeat后,我们可以在安装目录的根目录下看到如下的所有文件:

    $ ls -F
    LICENSE.txt			metricbeat*
    NOTICE.txt			metricbeat.reference.yml
    README.md			metricbeat.yml
    data/				metricbeat.yml.org
    fields.yml			module/
    kibana/				modules.d/
    logs/
    

    在这个目录下,我们可以看到有两个文件配置文件:

    metricbeat.yml:这是一个默认的配置文件
    metricbeat.reference.yml:这是一个完整的样本配置文件
    

    只使用第一个配置文件。

    配置Metricbeat时,需要指定要运行的模块。 Metricbeat使用模块来收集指标。 每个模块都定义了从特定服务(例如Redis或MySQL)收集数据的基本逻辑。 一个模块由获取和构造数据的metricsets组成。比如针对Redis模块,在这个模块中使用了Info Metricset及Keyspace Metricset。它们会共用一个和host相连接的通道。

    1. 启用要运行的模块

    如果您接受默认配置而不启用其他模块,则Metricbeat仅收集System指标。

    # 路径:metricbeat-7.3.2-darwin-x86_64/modules.d
    
    # ls -a
    .					kibana-xpack.yml.disabled
    ..					kibana.yml.disabled
    aerospike.yml.disabled			kubernetes.yml.disabled
    apache.yml.disabled			kvm.yml.disabled
    aws.yml.disabled			logstash-xpack.yml.disabled
    beat-xpack.yml.disabled			logstash.yml.disabled
    beat.yml.disabled			memcached.yml.disabled
    ceph.yml.disabled			mongodb.yml.disabled
    cockroachdb.yml.disabled		mssql.yml.disabled
    consul.yml.disabled			munin.yml.disabled
    coredns.yml.disabled			mysql.yml.disabled
    couchbase.yml.disabled			nats.yml.disabled
    couchdb.yml.disabled			nginx.yml.disabled
    docker.yml.disabled			oracle.yml.disabled
    dropwizard.yml.disabled			php_fpm.yml.disabled
    elasticsearch-xpack.yml.disabled	postgresql.yml.disabled
    elasticsearch.yml.disabled		prometheus.yml.disabled
    envoyproxy.yml.disabled			rabbitmq.yml.disabled
    etcd.yml.disabled			redis.yml.disabled
    golang.yml.disabled			system.yml
    graphite.yml.disabled			traefik.yml.disabled
    haproxy.yml.disabled			uwsgi.yml.disabled
    http.yml.disabled			vsphere.yml.disabled
    jolokia.yml.disabled			windows.yml.disabled
    kafka.yml.disabled			zookeeper.yml.disabled
    

    在Metricbeat下的子目录下有一个叫做modules.d的。它里面显示所有默认的metricbeat能支持的所有的模块,在默认的情况下,只有system.yml是enabled的状态。其它的都是在disabled的状态。

    我们可以通过在metricbeat安装目录下打入如下的命令来获得当前所有被支持的模块:

    ./metricbeat modules list

    如果我们想打开某个模块,我们可以这么做:

    ./metricbeat modules enable apache mysql

    这样我们就打开了apache及mysql的模块。如果我们想关闭模块的话,可以采用如下的命令:

    ./metricbeat modules disable apache mysql

    1. 配置output

    Metricbeat支持多种输出,但是通常您将事件直接发送到Elasticsearch或Logstash进行其他处理。

    output.elasticsearch
      hosts: ["127.0.0.1:9200"]
    
    1. 如果您打算使用Metricbeat随附的示例Kibana仪表板,请配置Kibana端点。 如果Kibana与Elasticsearch在同一主机上运行,则可以跳过此步骤。
    setup.kibana:
      host: "127.0.0.1:5601"
    
    1. 如果Elasticsearch和Kibana受保护,请在运行设置和启动Metricbeat的命令之前在metricbeat.yml配置文件中设置证书。
    output.elasticsearch:
      hosts: ["myEShost:9200"]
      username: "filebeat_internal"
      password: "YOUR_PASSWORD" 
    setup.kibana:
      host: "mykibanahost:5601"
      username: "my_kibana_user"  
      password: "YOUR_PASSWORD"
    
    1. 运行测试指令:

    ./metricbeat test config -e

    目前只设置了system模块。

    1. 设置Kibana模块

    我们运行如下的命令来配置Kibana仪表盘:

    ./metricbeat setup

    显示结果:

    $ ./metricbeat setup
    Index setup finished.
    Loading dashboards (Kibana must be running and reachable)
     
    Loaded dashboards
    

    这个操作将在Kibana中为我们生产相应的index pattern,并生产相应的示例模板dashboard供我们使用。

    运行Metricbeat

    在上一步我们已经配置好我们的Metricbeat了,我们现在可以开始运行Metricbeat了。

    ./metricbeat -e

    可以到Kibana上去看一下数据。选择以metricbeat为开头的index,可以看见数据是在不断地增长,表明metricbeat是在不断地收集数据。

    点击Discover图标,然后选择metricbeat的Index pattern,可以看到一件收集到的数据。

    点击Dashboard图标,然后搜索Metricbeat的System显示仪表盘

    上面显示的是System Overview,我们也可以点击“Host Overview”:

    通过这样简单的配置,我们就可以了解我们系统的整个使用情况。

  • 相关阅读:
    centos7 killall 命令
    移动硬盘拒绝访问问题解决方法
    Linux实现内容分发的主备模式的智能DNS
    UWB DWM1000 跟随小车原理--- 原理代码解析
    DWM1000 自动应答代码实现与实例
    UWB DWM1000 跟随小车原理---一张图演示
    DWM1000 帧过滤代码实现
    Bphero-UWB 基站0 和 电脑串口数据格式定义
    DW1000 用户手册中文版 附录3:双向测距(Two-Way Ranging)
    DW1000 用户手册中文版 附录2 IEEE-802.15.4 MAC层
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12076383.html
Copyright © 2011-2022 走看看