Cloudwatch 输入插件编辑

有关其他版本,请参阅 版本化插件文档

获取帮助编辑

如果您对插件有任何疑问,请在 Discuss 论坛中发布主题。对于错误或功能请求,请在 Github 中创建问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述编辑

从 Amazon Web Services CloudWatch API 中提取事件。

要使用此插件,您 必须 拥有 AWS 帐户,以及以下策略

通常,您应该设置 IAM 策略,创建用户并将 IAM 策略应用于用户。EC2 指标的示例策略如下所示

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1444715676000",
                "Effect": "Allow",
                "Action": [
                    "cloudwatch:GetMetricStatistics",
                    "cloudwatch:ListMetrics"
                ],
                "Resource": "*"
            },
            {
                "Sid": "Stmt1444716576170",
                "Effect": "Allow",
                "Action": [
                    "ec2:DescribeInstances"
                ],
                "Resource": "*"
            }
        ]
    }

有关设置 AWS 身份的更多详细信息,请参阅 http://aws.amazon.com/iam/

配置示例编辑

    input {
      cloudwatch {
        namespace => "AWS/EC2"
        metrics => [ "CPUUtilization" ]
        filters => { "tag:Group" => "API-Production" }
        region => "us-east-1"
      }
    }
    input {
      cloudwatch {
        namespace => "AWS/EBS"
        metrics => ["VolumeQueueLength"]
        filters => { "tag:Monitoring" => "Yes" }
        region => "us-east-1"
      }
    }
    input {
      cloudwatch {
        namespace => "AWS/RDS"
        metrics => ["CPUUtilization", "CPUCreditUsage"]
        filters => { "EngineName" => "mysql" } # Only supports EngineName, DatabaseClass and DBInstanceIdentifier
        region => "us-east-1"
      }
    }
    input {
      cloudwatch {
        namespace => "sqlserver_test2"
        metrics => [ "Memory Available Bytes"]
        filters =>  {
            InstanceId => "i-xxxxxxxxxxx"
            objectname => "Memory"
        }
        combined => true
        interval => 600
        period => 300
      }
    }

Cloudwatch 输入配置选项编辑

此插件支持以下配置选项,以及稍后描述的 通用选项

另请参见 通用选项,了解所有输入插件支持的选项列表。

 

access_key_id编辑

  • 值类型为 字符串
  • 此设置没有默认值。

此插件使用 AWS SDK 并支持多种获取凭据的方式,这些方式将按以下顺序尝试

  1. 静态配置,使用 logstash 插件配置中的 access_key_idsecret_access_key 参数
  2. aws_credentials_file 指定的外部凭据文件
  3. 环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  4. 环境变量 AMAZON_ACCESS_KEY_IDAMAZON_SECRET_ACCESS_KEY
  5. IAM 实例配置文件(在 EC2 内部运行时可用)

aws_credentials_file编辑

  • 值类型为 字符串
  • 此设置没有默认值。

包含 AWS 凭据哈希的 YAML 文件的路径。仅当未设置 access_key_idsecret_access_key 时才会加载此文件。文件的内容应如下所示

    :access_key_id: "12345"
    :secret_access_key: "54321"

combined编辑

对于需要组合维度的命名空间(如 S3 和 SNS)使用此选项。

endpoint编辑

  • 值类型为 字符串
  • 此设置没有默认值。

要连接的端点。默认情况下,它使用 region 的值构建。这在连接到 S3 兼容服务时很有用,但请注意,这些服务不能保证与 AWS SDK 正确配合使用。

filters编辑

  • 此设置可以是必需的或可选的。请参阅下面的说明。
  • 值类型为 数组
  • 此设置没有默认值。

当命名空间为 AWS/EC2 时,此设置是可选的。否则,这是一个必需字段。

指定在获取资源时要应用的过滤器。遵循 AWS 约定

  • 实例:{ instance-idi-12344321 }
  • 标签:{ "tag:Environment" ⇒ "Production" }
  • 卷:{ attachment.statusattached }

每个命名空间都唯一地支持某些维度。请参阅文档以确保您使用的是有效的过滤器。

interval编辑

  • 值类型为 数字
  • 默认值为 900

设置 CloudWatch 查询的频率

默认值 900 表示每 15 分钟检查一次。将此值设置得太低(通常小于 300)会导致 CloudWatch 不返回任何指标。

metrics编辑

  • 值类型为 数组
  • 默认值为 ["CPUUtilization", "DiskReadOps", "DiskWriteOps", "NetworkIn", "NetworkOut"]

指定要为命名空间获取的指标。默认值是 AWS/EC2 特定的。有关其他命名空间的可用指标,请参阅 http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html

namespace编辑

  • 值类型为 字符串
  • 默认值为 "AWS/EC2"

如果未定义,即使编解码器未使用,LogStash 也会报错。要获取的指标的服务命名空间。

默认值为 EC2 服务。有关有效值,请参阅 http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html

period编辑

  • 值类型为 数字
  • 默认值为 300

设置返回的数据点的粒度。

必须至少为 60 秒,并且是 60 的倍数。

proxy_uri编辑

  • 值类型为 字符串
  • 此设置没有默认值。

如果需要,代理服务器的 URI

region编辑

  • 值类型为 字符串
  • 默认值为 "us-east-1"

AWS 区域

role_arn编辑

  • 值类型为 字符串
  • 此设置没有默认值。

要假定的 AWS IAM 角色(如果有)。这用于生成临时凭据,通常用于跨帐户访问。有关更多信息,请参阅 AssumeRole API 文档

role_session_name编辑

  • 值类型为 字符串
  • 默认值为 "logstash"

在假定 IAM 角色时要使用的会话名称。

secret_access_key编辑

  • 值类型为 字符串
  • 此设置没有默认值。

AWS 密钥

session_token编辑

  • 值类型为 字符串
  • 此设置没有默认值。

临时凭据的 AWS 会话令牌

statistics编辑

  • 值类型为 数组
  • 默认值为 ["SampleCount", "Average", "Minimum", "Maximum", "Sum"]

指定要为每个命名空间获取的统计信息

use_aws_bundled_ca编辑

使用与 AWS SDK 一起提供的捆绑 CA 证书来验证 SSL 对等证书。对于默认证书不可用(例如 Windows)的情况,您可以将其设置为 true

use_ssl编辑

确保在包含此模块时,我们要求使用 V1 类。require aws-sdk 将加载 v2 类。我们应该要求(true)还是禁用(false)使用 SSL 与 AWS API 通信?AWS SDK for Ruby 默认使用 SSL,因此我们保留了这一点

通用选项编辑

以下配置选项由所有输入插件支持

设置 输入类型 必需

add_field

hash

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

详细信息编辑

 

add_field编辑

  • 值类型为 hash
  • 默认值为 {}

向事件添加字段

codec编辑

  • 值类型为 codec
  • 默认值为 "plain"

用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前对其进行解码,而无需在 Logstash 管道中使用单独的过滤器。

enable_metricedit

默认情况下,禁用或启用此特定插件实例的指标日志记录,我们会记录所有可能的指标,但您可以为特定插件禁用指标收集。

idedit

  • 值类型为 字符串
  • 此设置没有默认值。

在插件配置中添加一个唯一的 ID。如果没有指定 ID,Logstash 将生成一个。强烈建议在配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用,例如,如果您有两个 cloudwatch 输入。在这种情况下,添加一个命名 ID 将有助于在使用监控 API 时监控 Logstash。

input {
  cloudwatch {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。

tagsedit

  • 值类型为 数组
  • 此设置没有默认值。

向您的事件添加任意数量的任意标签。

这可以帮助以后处理。

typeedit

  • 值类型为 字符串
  • 此设置没有默认值。

向此输入处理的所有事件添加一个 type 字段。

类型主要用于过滤器激活。

类型存储为事件本身的一部分,因此您也可以使用类型在 Kibana 中搜索它。

如果您尝试在已经具有类型的事件上设置类型(例如,当您从发件人发送事件到索引器时),那么新的输入将不会覆盖现有类型。在发件人处设置的类型将与该事件保持一致,即使发送到另一个 Logstash 服务器也是如此。