全部产品
Search
文档中心

检索分析服务Elasticsearch版:采集ECS服务日志

更新时间:Oct 24, 2023

通过采集器(Beats),您可以采集云服务器ECS(Elastic Compute Service)中的日志文件、网络数据、服务器指标等数据,发送到阿里云Elasticsearch或Logstash中进行监控、分析等操作。本文以Filebeat为例,介绍如何配置ECS服务日志采集。

前提条件

您已完成以下操作:

  • 创建阿里云Elasticsearch实例或Logstash实例,本文以6.7.0版本为例。

    具体操作,请参见创建阿里云Elasticsearch实例创建阿里云Logstash实例

  • 开启Elasticsearch实例的自动创建索引功能。

    出于安全考虑,阿里云Elasticsearch默认不允许自动创建索引。但Beats采集ECS服务日志时,需要依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能。具体操作,请参见配置YML参数

  • 创建ECS实例,且该ECS实例与Elasticsearch实例或Logstash实例处于同一专有网络下。

    创建实例时,请选择Alibaba Cloud Linux (Alinux)、RedHat或CentOS这三种操作系统,因为Beats仅支持这三种操作系统。具体操作,请参见自定义购买实例

    重要

    Beats默认安装目录为/opt/aliyunbeats/。安装后,ECS上会生成conflogsdata这3个目录,分别映射了配置文件、Beats日志文件和Beats数据文件。建议不要删除或修改这3个文件中的内容,否则可能出现异常或者导致数据不正确。当出现问题时,您可以在logs目录下查看Beats日志来定位问题。

  • 在目标ECS实例上安装云助手和Docker服务。

    具体操作,请参见安装云助手Agent部署并使用Docker

    重要

    请使用社区版Docker(docker-ce),使用其他版本Docker(例如podman-docker),Beats将部署失败。

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 进入Beats数据采集中心。
    1. 在顶部菜单栏处,选择地域。
    2. 在左侧导航栏,单击Beats数据采集中心
    3. 可选:首次进入Beats数据采集中心页面,需要在服务授权对话框中查看提示信息,无误后单击确认,授权系统创建服务关联角色。
      说明 Beats采集不同数据源中的数据时,依赖于服务关联角色以及角色规则。使用过程中请勿删除服务关联角色,否则会影响Beats使用。详细信息,请参见Elasticsearch服务关联角色
  3. 配置并启动ECS服务日志采集。

    说明

    以下操作以Filebeat为例。

    1. 创建采集器区域,将鼠标移至Filebeat上,单击ECS日志

      新建采集器页面
      说明

      对于其他采集器,可直接单击采集器名称。例如创建Metricbeat采集器,可直接单击Metricbeat

    2. 采集器配置配置向导中,输入或选择采集器信息。

      采集器配置

      参数

      说明

      采集器名称

      自定义输入采集器的名称。长度为1~30个字符,以大小写字母开头,可以包含字母、数字、下划线(_)或连字符(-)。

      安装版本

      目前Filebeat只支持6.8.5版本。

      采集器Output

      Filebeat采集内容的输出地址。直接关联已经创建的阿里云Elasticsearch或Logstash实例。访问协议需要与所选Elasticsearch实例保持一致。

      重要

      不支持选择8.x版本的Elasticsearch实例。

      用户名密码

      如果采集器Output选择Elasticsearch,需要提供对应的用户名和密码,使Filebeat有权限向Elasticsearch实例中写入数据。用户名默认为elastic,密码在创建实例时设定,如果忘记可重置。重置密码的注意事项和操作步骤,请参见重置实例访问密码

      启用Monitoring

      用来监控Filebeat的相关指标。如果采集器Output选择Elasticsearch,Monitor默认使用和采集器Output相同的阿里云Elasticsearch实例;如果采集器Output选择Logstash,则需要在配置文件中进行额外配置。

      启用Kibana Dashboard

      用来配置默认的Kibana Dashboard。由于阿里云Kibana配置在VPC内,因此需要在Kibana配置页面开通Kibana私网访问功能。具体操作,请参见配置Kibana公网或私网访问白名单

      填写Filebeat文件目录

      Filebeat专有的配置项。由于阿里云采用Docker部署Beats,因此需要将您希望采集的目录映射到Docker内,填写时需要与filebeat.yml中的input.path目录保持一致。如果为多级目录,只要指定任意一级目录即可,不支持匹配*,例如:input.path: /var/log/*/*.log,则Filebeat文件目录为/var//var/log/

      重要
      • 路径可以指定为目录或完整路径,也可以模糊匹配路径下的某一类文件。

      • 如果您需要采集多个目录的日志,可单击+添加,在文本框中输入待采集的路径,同时在采集器YML配置paths参数中添加该路径。

      采集器YML配置

      采集器配置文件。参考以下脚本,确保日志采集为开启状态, 且paths指定的目录与您填写的Filebeat文件目录保持一致。

      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log

      对于其他参数,请根据业务需求,修改对应配置,详情请参见采集器YML配置

      重要
      • 指定采集器Output后,不需要再在采集器YML配置中单独设置Output,否则会提示ECS采集器安装错误。

      • 阿里云Filebeat不支持自定义索引名,系统会默认创建名称为filebeat-%{[agent.version]}-%{+yyyy.MM.dd}的索引,例如filebeat-6.8.5-2021-12-11

    3. 单击下一步

    4. 可选:首次进入采集器安装配置向导,需要单击前往授权。再在云资源访问授权页面,单击同意授权,为对应的Elasticsearch实例授予访问ECS的权限。

      授予对应实例访问ECS的权限
      • 授权服务由访问控制(RAM)提供,确认授权后,系统将会为您自动创建AliyunElasticsearchAccessingOOSRoleAliyunOOSAccessingECS4ESRole系统角色,以上两个系统角色的默认系统策略分别是AliyunElasticsearchAccessingOOSRolePolicyAliyunOOSAccessingECS4ESRolePolicy,使用过程中请勿删除系统角色和默认系统策略。

      • 如果RAM控制台授权的默认策略或系统角色被删除,可通过云资源访问授权进行快捷授权,并为RAM用户授予以下自定义权限,否则会出现权限不足的报错。创建自定义权限的具体操作,请参见创建自定义权限策略

        {
            "Version": "1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ram:CreateRole",
                        "ram:AttachPolicyToRole",
                        "ram:GetRole"
                    ],
                    "Resource": "acs:ram:*:*:role/*",
                    "Condition": {
                        "ForAllValues:StringEquals": {
                            "ram:TrustedPrincipalTypes": "Service",
                            "ram:ServiceNames": [
                                "elasticsearch.aliyuncs.com",
                                "oos.aliyuncs.com"
                            ]
                        }
                    }
                },
                {
                    "Effect": "Allow",
                    "Action": "ram:AttachPolicyToRole",
                    "Resource": "acs:ram:*:*:policy/*"
                },
                {
                    "Action": "ram:PassRole",
                    "Resource": "*",
                    "Effect": "Allow",
                    "Condition": {
                        "StringEquals": {
                            "acs:Service": "elasticsearch.aliyuncs.com"
                        }
                    }
                }
            ]
        }
    5. 采集器安装配置向导中,选择需要操作的ECS实例。

      采集器安装
      重要

      采集器安装实例列表中会显示当前账号下,所有和采集器Output所选的Elasticsearch实例或Logstash实例处于同一个专有网络下的ECS,并且只有已经安装云助手及Docker服务的ECS才能安装采集器。

    6. 单击启动

    7. 启动成功对话框中,单击前往采集中心查看。在采集器列表中,查看创建成功的采集器。

      等待采集器状态变为已生效,说明采集器创建成功。已生效中的两个数字分别表示安装成功的ECS数和目标ECS数,如果ECS实例生效成功,则两边数字相等。已生效采集器状态

  4. 查看运行实例。

    采集器创建成功后,您可以查看运行实例,判断采集器是否安装成功,并根据提示处理异常情况。

    1. 采集器管理区域,单击对应采集器右侧操作列下的查看运行实例

    2. 查看运行实例页面,查看采集器安装情况

      采集器安装情况分为3种:心跳正常心跳异常安装失败。在心跳异常或者安装失败的情况下,您可以选择移除或者重试问题节点。如果重试失败,可参见Beats安装失败的排查与解决方法排查解决。查看运行实例

    3. 单击添加安装实例,可继续添加需要安装同样配置和类型的采集器的ECS。

  5. 可选:查看Monitoring或Dashboard。

    如果您在创建采集器时选中了启用Monitoring启用Kibana Dashboard,那么Beats启动后,可以在对应Elasticsearch实例的Kibana中查看Monitor信息或Dashboard图表。

    1. 采集器管理区域,选择对应采集器右侧操作列下的更多 > 查看Dashboard

    2. 在Kibana控制台登录页面,输入用户名和密码,单击登录

    3. 在左侧导航栏,单击Dashboard,再单击对应指标,查看该指标的Dashboard图表。

    4. 在左侧导航栏,单击Monitoring,再单击对应监控项,查看该监控项的Monitoring信息。

相关文档

创建采集器的API文档:CreateCollector

常见问题

  • Beats如何采集多个目录下的日志?

    在配置采集器时,单击+添加,在文本框中输入待采集的路径,同时在采集器YML配置paths参数中添加该路径。Beats采集多个目录下的日志

  • 基于ECS安装阿里云Beats失败了,如何处理?

    请参见Beats安装失败的排查与解决方法排查解决。