在 Cloudwatch 仪表板上想要显示带有健康代码的 ebs 环境健康指标
On Cloudwatch Dashboard want to show ebs environment health metrics with health codes
我正在使用 cloudwatch 仪表板来获取应用程序的各种服务 运行 的聚合视图。我有用于 EnvironmentHealth 指标的数字小部件,它显示枚举值而不是健康代码,如 OK,WARN .. 在 beantalk 监控选项上,我可以看到服务运行状况,但希望在仪表板上看到相同的情况。请帮忙
This is what I expect
This is what I see
ElasticBeanstalk EnvironmentHealth 的 CloudWatch 指标only returns numbers.0 正常,1 是信息,15 警告等
不确定这是最好的方法,但将 custom widget 与 lambda 函数一起使用效果很好。 lambda 函数获取 EB 状态信息并将其 return 发送到 CW 仪表板。
创建 Lambda 函数
我用的是python3.9。默认设置没问题,但请注意附加 lambda IAM 策略 AWSElasticBeanstalkReadOnly
以获取 EB 状态。
Lambda python 代码如下:
- 为您的 EB 环境设置
EnvironmentName
- font size="56 px" color="#444444" 与 CW 仪表板小部件相同
- 在与 EB 环境相同的区域中创建。
import boto3
def lambda_handler(event, context):
client = boto3.client("elasticbeanstalk")
response = client.describe_environment_health(
EnvironmentName="<your-env-name>", AttributeNames=["HealthStatus"]
)
output = (
"""<font size="56 px" color="#444444">"""
+ response["HealthStatus"]
+ """</font>"""
)
return output
在 CloudWatch 仪表板上创建自定义小部件
添加小部件 -> 自定义小部件 -> 下一步 -> Select 上面的 Lambda 函数 -> 创建小部件
这是我的仪表板。
我正在使用 cloudwatch 仪表板来获取应用程序的各种服务 运行 的聚合视图。我有用于 EnvironmentHealth 指标的数字小部件,它显示枚举值而不是健康代码,如 OK,WARN .. 在 beantalk 监控选项上,我可以看到服务运行状况,但希望在仪表板上看到相同的情况。请帮忙
This is what I expect
This is what I see
ElasticBeanstalk EnvironmentHealth 的 CloudWatch 指标only returns numbers.0 正常,1 是信息,15 警告等
不确定这是最好的方法,但将 custom widget 与 lambda 函数一起使用效果很好。 lambda 函数获取 EB 状态信息并将其 return 发送到 CW 仪表板。
创建 Lambda 函数
我用的是python3.9。默认设置没问题,但请注意附加 lambda IAM 策略 AWSElasticBeanstalkReadOnly
以获取 EB 状态。
Lambda python 代码如下:
- 为您的 EB 环境设置
EnvironmentName
- font size="56 px" color="#444444" 与 CW 仪表板小部件相同
- 在与 EB 环境相同的区域中创建。
import boto3
def lambda_handler(event, context):
client = boto3.client("elasticbeanstalk")
response = client.describe_environment_health(
EnvironmentName="<your-env-name>", AttributeNames=["HealthStatus"]
)
output = (
"""<font size="56 px" color="#444444">"""
+ response["HealthStatus"]
+ """</font>"""
)
return output
在 CloudWatch 仪表板上创建自定义小部件
添加小部件 -> 自定义小部件 -> 下一步 -> Select 上面的 Lambda 函数 -> 创建小部件
这是我的仪表板。