AWS ec2 指标集
编辑AWS ec2 指标集
编辑aws 模块的 ec2 指标集允许您监控您的 AWS EC2 实例,包括 cpu
、network
、disk
和 status
。ec2
指标集从 Cloudwatch AWS EC2 指标中获取一组值。
我们获取以下数据
- cpu.total.pct:实例上当前正在使用的已分配 EC2 计算单元的百分比。
- cpu.credit_usage:实例用于 CPU 利用率的 CPU 积分花费数量。
- cpu.credit_balance:实例自启动或启动以来累积的已赚取 CPU 积分数量。
- cpu.surplus_credit_balance:当其 CPUCreditBalance 值 为零时,无限制实例所花费的剩余积分数量。
- cpu.surplus_credits_charged:已花费的剩余积分数量,这些积分未被赚取的 CPU 积分支付,因此会产生额外费用。
- network.in.packets:实例在所有网络接口上接收的数据包数量。
- network.out.packets:实例在所有网络接口上发送的数据包数量。
- network.in.bytes:实例在所有网络接口上接收的字节数。
- network.out.bytes:实例在所有网络接口上发送的字节数。
- diskio.read.bytes:从实例可用的所有实例存储卷读取的字节数。
- diskio.write.bytes:写入实例可用的所有实例存储卷的字节数。
- diskio.read.ops:在指定时间段内,从实例可用的所有实例存储卷完成的读取操作次数。
- diskio.write.ops:在指定时间段内,对实例可用的所有实例存储卷完成的写入操作次数。
- status.check_failed:报告实例是否在最后一分钟内通过了实例状态检查和系统状态检查。
- status.check_failed_system:报告实例是否在最后一分钟内通过了系统状态检查。
- status.check_failed_instance:报告实例是否在最后一分钟内通过了实例状态检查。
- instance.core.count:实例的 CPU 核心数。
- instance.image.id:用于启动实例的映像 ID。
- instance.monitoring.state:指示是否启用了详细监控。
- instance.private.dns_name:网络接口的私有 DNS 名称。
- instance.private.ip:与网络接口关联的私有 IPv4 地址。
- instance.public.dns_name:实例的公有 DNS 名称。
- instance.public.ip:绑定到网络接口的弹性 IP 地址(IPv4)地址。
- instance.state.code:实例的状态,为 16 位无符号整数。
- instance.threads_per_core:实例的状态(pending | running | shutting-down | terminated | stopping | stopped)。
AWS 权限
编辑IAM 用户需要一些特定的 AWS 权限才能收集 AWS EC2 指标。
ec2:DescribeInstances ec2:DescribeRegions cloudwatch:GetMetricData cloudwatch:ListMetrics sts:GetCallerIdentity iam:ListAccountAliases
仪表盘
编辑aws ec2 指标集附带预定义的仪表盘。例如
配置示例
编辑- module: aws period: 300s metricsets: - ec2 access_key_id: '<access_key_id>' secret_access_key: '<secret_access_key>' session_token: '<session_token>' tags_filter: - key: "Organization" value: ["Engineering", "Product"]
tags_filter
可以指定为仅收集具有特定标签键/值的指标。例如,使用上面的配置示例,ec2 指标集将仅从标签键等于“Organization”且标签值等于“Engineering”或“Product”的 EC2 实例收集指标。
这是一个默认指标集。如果未配置主机模块,则默认启用此指标集。
有关指标集中每个字段的描述,请参阅导出的字段部分。
这是此指标集生成的示例文档
{ "@timestamp": "2017-10-12T08:05:34.853Z", "aws": { "cloudwatch": { "namespace": "AWS/EC2" }, "dimensions": { "InstanceId": "i-05b6228ff8d8c5d49" }, "ec2": { "cpu": { "credit_balance": 144, "credit_usage": 0.007318, "surplus_credit_balance": 0, "surplus_credits_charged": 0 }, "diskio": { "read": { "bytes_per_sec": 0, "count_per_sec": 0 }, "write": { "bytes_per_sec": 0, "count_per_sec": 0 } }, "instance": { "core": { "count": 1 }, "image": { "id": "ami-058b1b7fe545997ae" }, "monitoring": { "state": "disabled" }, "private": { "dns_name": "ip-172-31-31-247.eu-west-1.compute.internal", "ip": "172.31.31.247" }, "public": { "dns_name": "ec2-54-194-39-129.eu-west-1.compute.amazonaws.com", "ip": "54.194.39.129" }, "state": { "code": 16, "name": "running" }, "threads_per_core": 1 }, "network": { "in": { "bytes_per_sec": 18.343333333333334, "packets_per_sec": 0.15666666666666668 }, "out": { "bytes_per_sec": 15.326666666666666, "packets_per_sec": 0.16 } }, "status": { "check_failed": 0, "check_failed_instance": 0, "check_failed_system": 0 } } }, "cloud": { "account": { "id": "428152502467", "name": "elastic-beats" }, "availability_zone": "eu-west-1a", "instance": { "id": "i-05b6228ff8d8c5d49" }, "machine": { "type": "t2.micro" }, "provider": "aws", "region": "eu-west-1" }, "event": { "dataset": "aws.ec2", "duration": 115000, "module": "aws" }, "host": { "cpu": { "usage": 0.1005649717511616 }, "disk": { "read": { "bytes": 0 }, "write": { "bytes": 0 } }, "id": "i-05b6228ff8d8c5d49", "name": "i-05b6228ff8d8c5d49", "network": { "egress": { "bytes": 4598, "packets": 48 }, "ingress": { "bytes": 5503, "packets": 47 } } }, "metricset": { "name": "ec2", "period": 10000 }, "service": { "type": "aws" } }