全部产品
Search
文档中心

检索分析服务Elasticsearch版:Elastic Agent采集自定义日志数据

更新时间:Nov 30, 2023

Fleet是Elasticsearch中的一个功能强大的集中式管理解决方案,提供了一种简单的方法来管理Elasticsearch中的多个节点和服务。Fleet主要分为Fleet Server和Fleet Agent两部分,Fleet Agent是一个轻量级的数据采集代理,负责在源端收集数据。Fleet Server是Fleet的中心节点,负责管理和监控所有Fleet Agent,并将数据传输到Elasticsearch。

名词解释

名词

说明

Fleet

Elasticsearch中的一个功能强大的集中式管理解决方案,集中管理Agent服务。

Fleet Agent

轻量级数据采集代理,负责采集源端数据。

Fleet Agent可以在多个操作系统上运行,并且可以收集多种类型的数据。

Fleet Server

负责将Agent采集的源端数据传输到Elasticsearch。

准备环境

  • 创建阿里云Elasticsearch实例,具体操作请参见创建阿里云Elasticsearch实例。本文以Elasticsearch 8.5版本为例。

    说明

    阿里云Elasticsearch实例仅支持7.16和8.5版本。

  • 创建ECS实例,且该ECS实例与Elasticsearch实例处于同一专有网络下。具体操作请参见自定义购买实例

    说明

    ECS实例作为源端服务器,Elastic Agent会采集ECS实例上的数据。

创建代理策略并添加集成

步骤一:创建代理策略

  1. 登录Kibana控制台。具体操作,请参见登录Kibana控制台

  2. 单击Management > Fleet

  3. Fleet页面,单击代理策略页签。

  4. 单击创建代理策略,在创建代理策略控制面板中配置代理策略。

    1. 输入代理策略名称custom-log。

    2. 取消选中收集系统日志和指标

    3. 单击高级选项,在代理监测区域,取消选择中收集代理日志收集代理指标

      image.png

      说明

      本场景仅采集Custom Logs日志,因此取消选中收集系统日志和指标和代理的自身数据。

  5. 配置完成后,在页面右下角单击创建代理策略

步骤二:创建Fleet Server集成

  1. Fleet页面的代理策略页签,单击新创建的代理策略custom-log

  2. 集成页签中,单击添加集成

  3. 浏览集成页签,在搜索框中搜索Fleet Server,并单击Fleet Server

  4. 安装Fleet Server集成。

    1. Fleet Server页面,单击设置页签。

    2. 单击安装Fleet Server资产,在弹出的对话框中单击安装Fleet Server

      说明

      安装集成后,设置页签会显示集成的版本。

  5. 在页面右上角,单击添加Fleet Server

  6. 添加Fleet Server集成页面,输入集成名称,选择代理策略为custom-log

  7. 在页面右下角,单击保存并继续,在弹出的对话框中单击稍后添加Elastic代理

步骤三:创建Custom Logs集成

  1. 在代理策略custom-log集成页签中,单击添加集成

  2. 浏览集成页签,在搜索框中搜索Custom Logs,并单击Custom Logs

  3. 安装Custom Logs集成。

    1. Custom Logs页面,单击设置页签。

    2. 单击安装Custom Logs资产,在弹出的对话框中单击安装Custom Logs

      说明

      安装集成后,设置页签会显示集成的版本。

  4. 在页面的右上角,单击添加Custom Logs

  5. 添加Custom Logs集成页面,配置集成。

    1. 集成配置区域,输入集成名称

    2. Custom log file区域,输入被采集日志在ECS中的路径(Log file path),例如/var/log/a2.log

    3. 单击高级选项,自定义数据集名称(Dataset name)。

      说明
      • 数据集名称将决定数据在Elasticsearch中的索引名称。定义新的数据集名称,数据将被发送到新索引,可以提高处理数据的灵活性和可管理性。

      • 数据集名称需要符合ES索引名称要求,即只能包含英文、下划线和数字。

      image.png

    4. 要将此集成添加到什么位置区域,在Existing hosts页签下,选择代理策略为custom-log

  6. 配置完成后,在页面右下角单击保存并继续,在弹出的对话框中单击稍后添加Elastic代理

添加Agent

步骤一:设置Fleet服务器主机

  1. 登录Kibana控制台。具体操作,请参见登录Kibana控制台

  2. 单击Management > Fleet

  3. Fleet页面,单击设置页签,配置Fleet。

    1. Fleet服务器主机区域,单击编辑主机

    2. Fleet服务器主机控制面板中,输入源端的私网地址,格式为https://<私网IP>:<端口>,例如https://172.16.*.***:8220

      说明

      本文私网IP为ECS实例的主私网IP。更多配置信息,请参见Fleet Server hosts

    3. 输出区域,在操作列单击image.png

    4. 编辑输出控制面板中,输入Elasticsearch实例的私网地址,格式为http://<私网地址>:<端口>,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200

    5. 单击保存并应用设置,在弹出的对话框中单击保存并部署

步骤二:添加Elastic Agent

为Fleet Server添加一个Elastic Agent。

说明

如果您需要采集多个服务器中的数据,可以多次执行以下步骤。在一个Fleet Server中添加多个代理,每个代理采集各自服务器中的数据,数据由Fleet Server统一管理。

  1. Fleet页面,单击代理策略页签。

  2. 在代理策略custom-log的操作列,选择image.png > 添加代理

  3. 添加代理控制面板,在为Fleet服务器选择策略区域,默认选择代理策略为custom-log

  4. 为安全选择部署模式区域,默认选中快速启动

  5. 添加您的Fleet服务器主机区域,单击右侧的添加主机

  6. 生成服务令牌区域,单击生成服务令牌

  7. 将Fleet服务器安装到集中式主机区域,复制自动生成的代码块,并将代码在ECS实例中执行。

    image.png

    代码执行完毕后,如果看到Successfully 字样,表明ECS服务器上成功安装并启动Elastic Agent。

查看数据

本文以ECS日志路径为/var/log/a2.log,数据集名称为generic为例,介绍如何查看日志数据。

说明

需要确保指定的ECS日志路径中有数据。

  1. 通过索引管理查看数据流名称。

    1. 单击Management > Stack Management

    2. 在左侧菜单栏,单击数据 > 索引管理

    3. 索引管理页面,单击数据流页签,找到带有数据集名称generic,例如logs-generic-default

  2. 通过Kibana控制台查看数据流对应的索引名称。

    1. 单击Management > 开发工具

    2. 执行如下命令,获取数据流对应的索引名称。

      GET _data_Stream/logs-generic-default

      index_name的值即数据流对应的索引名称。

  3. 执行如下命令,查看索引中的日志数据。

    GET <index_name>/_search
    {
      "query":{
        "match":{
          "log.file.path":"/var/log/a2.log"
        }
      }
    }