本文章简述对接自动发现AWS云EC2实例
前提环境:
- Promethues
- Grafana
- AWS IAM权限
涉及参考文档:
- AWS EC2
- Grafana 通用监控模板
一、IAM 用户创建
1、创建Prometheus 策略
策略规则:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeRegions"
],
"Resource": [
"*"
]
}
]
}
2、创建用户赋予Prometheus 策略
创建过程成,请下载ak、sk 此过程不演示。
二、配置Prometheus
可参考本文章进行配置,具体结合实际公司业务进行合理配置
- job_name: "AWS-EC2"
scrape_interval: 30s
scrape_timeout: 10s
metrics_path: /metrics
scheme: "http"
ec2_sd_configs:
- port: 9100
refresh_interval: 30s
region: "ap-south-1"
access_key: 'xxx' 上面IAM获取到的ak
secret_key: 'xxx' 上面IAM获取到的sk
relabel_configs: #下面部分标签可参考官方文档,将默认标签重写需要的值
- source_labels: [__meta_ec2_tag_Name]
separator: ':'
regex: '(.*)'
replacement: '${1}'
target_label: name
- source_labels: [__meta_ec2_tag_Name]
action: drop
regex: "(Test-Jenkis-Gitlab)(.*)"
- source_labels: [__meta_ec2_platform]
action: drop
regex: "(windows)(.*)"
- source_labels: [__address__]
regex: '(.*):9100'
replacement: $1
target_label: instance
action: replace
重启Promethues 服务。
三、Prometheus Web界面查看
可以查看到已自动获取的AWS云账号下所有的实例
四、对接Grafana 展示(模板ID:8919)
由于导入模板标签有差异,进行修改自定义参数: