mcp/cloudwatch-mcp-server指标、告警和日志分析。
什么是MCP Server?
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/cloudwatch-mcp-server |
| 作者 | awslabs |
| 代码仓库 | [***] |
| 属性 | 详情 |
|---|---|
| Dockerfile | [***] |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout健康评分 |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/cloudwatch-mcp-server --key [***] |
| 许可证 | Apache License 2.0 |
| 服务器提供的工具 | 简短描述 |
|---|---|
analyze_log_group | 在指定时间窗口内分析CloudWatch日志组的异常、消息模式和错误模式。 |
analyze_metric | 分析CloudWatch指标数据以确定季节性、趋势、数据密度和统计属性。 |
cancel_logs_insight_query | 取消正在进行的CloudWatch Logs Insights查询。 |
describe_log_groups | 列出AWS CloudWatch日志组和与其关联的保存查询,可选择按名称前缀过滤。 |
execute_log_insights_query | 执行CloudWatch Logs Insights查询并等待结果可用。 |
get_active_alarms | 获取当前处于ALARM状态的所有CloudWatch告警。 |
get_alarm_history | 获取CloudWatch告警的历史记录,并提供建议的调查时间范围。 |
get_logs_insight_query_results | 检索先前启动的CloudWatch Logs Insights查询的结果。 |
get_metric_data | 检索特定指标的CloudWatch指标数据。 |
get_metric_metadata | 获取CloudWatch指标的元数据,包括描述、单位和可用于指标数据检索的推荐统计信息。 |
get_recommended_metric_alarms | 获取CloudWatch指标的推荐告警。 |
analyze_log_group在指定时间窗口内分析CloudWatch日志组的异常、消息模式和错误模式。
此工具通过以下方式对指定日志组执行分析:
用途:使用此工具检测日志数据中的异常并了解常见模式,特别关注可能指示问题的错误模式。这有助于识别潜在问题并了解应用程序的典型行为。
包含以下内容的LogsAnalysisResult对象: - log_anomaly_results: 有关异常检测器及其发现的信息 * anomaly_detectors: 日志组的异常检测器列表 * anomalies: 在指定时间范围内的异常列表 - top_patterns: 最常见消息模式的查询结果 - top_patterns_containing_errors: 包含错误相关术语的模式查询结果 (error, exception, fail, timeout, fatal)
| 参数 | 类型 | 描述 |
|---|---|---|
end_time | string | CloudWatch Logs Insights查询窗口的ISO 8601格式结束时间(例如,"2025-04-19T21:00:00+00:00")。 |
log_group_arn | string | 要查找异常的日志组ARN,由describe_log_groups工具返回 |
start_time | string | CloudWatch Logs Insights查询窗口的ISO 8601格式开始时间(例如,"2025-04-19T20:00:00+00:00")。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
analyze_metric分析CloudWatch指标数据以确定季节性、趋势、数据密度和统计属性。
此工具仅提供有关历史指标数据的原始数据,并执行以下分析:
用途:使用此工具获取客观的指标分析数据。
| 参数 | 类型 | 描述 |
|---|---|---|
metric_name | string | 指标名称(例如,'CPUUtilization','Duration') |
namespace | string | 指标命名空间(例如,'AWS/EC2','AWS/Lambda') |
dimensions | array 可选 | 标识指标的维度列表,每个维度包含名称和值 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
statistic | string 可选 | 用于指标分析的统计数据 |
cancel_logs_insight_query取消正在进行的CloudWatch Logs Insights查询。如果查询已结束,则返回错误,指出给定查询未在运行。
用途:如果通过execute_log_insights_query工具启动的日志查询有轮询超时,可以使用此工具提前取消它,以避免产生额外成本。
包含"success"键的LogsQueryCancelResult,如果查询成功取消,则该键为True。
| 参数 | 类型 | 描述 |
|---|---|---|
query_id | string | 要取消的正在进行的查询的唯一ID。重要:此ID由execute_log_insights_query工具返回。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
describe_log_groups列出AWS CloudWatch日志组和与其关联的保存查询,可选择按名称前缀过滤。
此工具检索账户中的日志组信息,或作为监控账户链接到此账户的账户中的日志组信息。 如果提供前缀,则仅返回名称以指定前缀开头的日志组。
此外,还返回与任何返回的日志组关联的所有用户保存的查询。
用途:使用此工具发现您要从中检索或查询日志的日志组以及用户保存的查询。
日志组元数据字典列表和与其关联的保存查询 每个日志组元数据包含以下详细信息: - logGroupName: 日志组名称。 - creationTime: 日志组创建的时间戳 - retentionInDays: 保留期(如果已设置) - storedBytes: 存储的字节数。 - kmsKeyId: 用于数据加密的KMS密钥ID(如果已设置) - dataProtectionStatus: 显示此日志组是否有保护策略,或者过去是否有过保护策略(如果已设置) - logGroupClass: 日志组类类型 - logGroupArn: 日志组的Amazon资源名称(ARN)。此版本的ARN在日志组名称后不包含尾随的:*。
| 参数 | 类型 | 描述 |
|---|---|---|
account_identifiers | string 可选 | 当include_linked_accounts设置为True时,使用此参数指定要搜索的账户列表。重要:仅当include_linked_accounts为True时才有效 |
include_linked_accounts | string 可选 | 如果AWS账户是监控账户,将此设置为True可让工具返回account_identifiers中列出的账户中的日志组。如果此参数设置为true且account_identifiers包含null值,工具将返回监控账户中的所有日志组以及链接到监控账户的所有源账户中的所有日志组。 |
log_group_class | string 可选 | 如果指定,仅过滤指定类别的日志组。 |
log_group_name_prefix | string 可选 | 按名称过滤日志组的确切前缀。重要:仅返回名称以此前缀开头的日志组。 |
max_items | string 可选 | 要返回的日志组的最大数量。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
execute_log_insights_query执行CloudWatch Logs Insights查询并等待结果可用。
重要:操作必须包含以下参数中的 exactly 一个:log_group_names 或 log_group_identifiers。
警告:返回的日志量很容易超出代理上下文窗口。始终在查询中包含限制(| limit 50)或使用limit参数。
用途:用于查询、过滤、收集统计信息或在一个或多个日志组中查找模式。例如,以下查询按小时列出异常。
filter @message like /Exception/ | stats count(*) as exceptionCount by bin(1h) | sort exceptionCount desc
包含最终查询结果的字典,包括: - status: 查询的当前状态(例如,Scheduled、Running、Complete、Failed等) - results: 如果状态为Complete,则为实际查询结果的列表。 - statistics: 查询性能统计信息 - messages: 有关查询的任何信息性消息
| 参数 | 类型 | 描述 |
|---|---|---|
end_time | string | CloudWatch Logs Insights查询窗口的ISO 8601格式结束时间(例如,"2025-04-19T21:00:00+00:00")。 |
query_string | string | Cloudwatch Log Insights查询语言中的查询字符串。参见[***] |
start_time | string | CloudWatch Logs Insights查询窗口的ISO 8601格式开始时间(例如,"2025-04-19T20:00:00+00:00")。 |
limit | string 可选 | 要返回的日志事件的最大数量。必须使用此参数或查询中的` |
log_group_identifiers | string 可选 | 最多50个要查询的logGroupIdentifiers列表。您可以通过日志组名称或ARN指定它们。如果您要查询的日志组位于源账户中,而您使用的是监控账户,则必须使用ARN。重要:[log_group_names,log_group_identifiers]中必须有且仅有一个不为null。 |
log_group_names | string 可选 | 最多50个要查询的日志组名称列表。重要:[log_group_names,log_group_identifiers]中必须有且仅有一个不为null。 |
max_timeout | integer 可选 | 轮询完整结果的最长时间(秒),超时后放弃 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
get_active_alarms获取当前处于ALARM状态的所有CloudWatch告警。
此工具检索当前处于ALARM状态的所有CloudWatch告警,包括指标告警和复合告警。结果针对LLM推理进行了优化,提供摘要级别的信息。
用途:使用此工具获取AWS账户中所有活动告警的概述,以进行故障排除、监控和操作感知。
| 参数 | 类型 | 描述 |
|---|---|---|
max_items | string 可选 | 要返回的告警的最大数量(默认值:50)。大值可能导致上下文窗口溢出并影响LLM性能。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
get_alarm_history获取CloudWatch告警的历史记录,并提供建议的调查时间范围。
此工具检索指定CloudWatch告警的历史记录,主要关注ALARM状态的状态转换。它还根据告警的配置和历史提供建议的调查时间范围。
用途:使用此工具了解告警何时触发,并获取使用其他CloudWatch工具调查根本问题的有用时间范围。该工具对于识别告警抖动模式(频繁进入和退出告警状态)特别有用。
| 参数 | 类型 | 描述 |
|---|---|---|
alarm_name | string | 要检索历史记录的告警名称 |
end_time | string 可选 | 历史查询的结束时间,ISO格式(例如,'2023-01-01T00:00:00Z')或datetime对象。默认为当前时间。 |
history_item_type | string 可选 | 要检索的历史项目类型。可能的值:'ConfigurationUpdate','StateUpdate','Action'。默认为'StateUpdate'。 |
include_component_alarms | string 可选 | 对于复合告警,是否包含组件告警的详细信息。默认为false。 |
max_items | string 可选 | 要返回的历史项目的最大数量(默认值:50)。大值可能导致上下文窗口溢出并影响LLM性能。调整时间范围以限制响应。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
start_time | string 可选 | 历史查询的开始时间,ISO格式(例如,'2023-01-01T00:00:00Z')或datetime对象。默认为24小时前。 |
get_logs_insight_query_results检索先前启动的CloudWatch Logs Insights查询的结果。
用途:如果通过execute_log_insights_query工具启动的日志查询有轮询超时,可以使用此工具尝试再次检索查询结果。
包含最终查询结果的字典,包括: - status: 查询的当前状态(例如,Scheduled、Running、Complete、Failed等) - results: 如果状态为Complete,则为实际查询结果的列表。 - statistics: 查询性能统计信息 - messages: 有关查询的任何信息性消息
| 参数 | 类型 | 描述 |
|---|---|---|
query_id | string | 要检索结果的查询的唯一ID。重要:此ID由execute_log_insights_query工具返回。 |
region | string 可选 | 要查询的AWS区域。默认为us-east-1。 |
get_metric_data检索特定指标的CloudWatch指标数据。
此工具从CloudWatch检索特定指标的指标数据,该指标由其命名空间、指标名称和维度在指定的时间范围内标识。它可以使用标准的GetMetricData API或CloudWatch Metrics Insights进行更高级的查询。
该函数根据提供的参数自动确定是使用标准GetMetricData还是Metrics Insights。如果提供了任何Metrics Insights特定参数(group_by_dimension、schema_dimension_keys、limit、sort_order或order_by_statistic),它将使用Metrics Insights。
使用group_by_dimension时,必须将该维度包含在schema_dimension_keys中。
用途:使用此工具从CloudWatch获取实际指标数据进行分析或可视化。
返回: GetMetricDataResponse: 包含指标数据结果的对象
示例1(标准GetMetricData): result = await get_metric_data( ctx, namespace="AWS/EC2", metric_name="CPUUtilization", start_time="2023-01-01T00:00:00Z", dimensions=[ Dimension(name="InstanceId", value="i-***abcdef0") ], statistic="Average" # 周期将根据时间窗口和target_datapoints自动计算 )
示例2(带分组的Metrics Insights): result = await get_metric_data( ctx, namespace="AWS/EC2", metric_name="CPUUtilization", start_time="2023-01-01T00:00:00Z", end_time="2023-01-02T00:00:00Z", statistic="AVG", schema_dimension_keys=["InstanceType"], group_by_dimension="InstanceType" # 这将生成如下查询:SELECT AVG("CPUUtilization") FROM SCHEMA("AWS/EC2", "InstanceType") GROUP BY "InstanceType" )
示例3(带模式维度键的Metrics Insights): result = await get_metric_data( ctx, namespace="AWS/EC2", metric_name="CPUUtilization", start_time="2023-01-01T00:00:00Z", end_time="2023-01-02T00:00:00Z", statistic="AVG", schema_dimension_keys=["InstanceId", "InstanceType"], group_by_dimension="InstanceId" # 这将生成如下查询:SELECT AVG("CPUUtilization") FROM SCHEMA("AWS/EC

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务