Kubernetes可观测性助手

一个AI驱动的Kubernetes和可观测性系统助手,提供与基础设施和监控工具的自然语言交互。

  • by RubenGomGar
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 RubenGomGar/monitoring-assistant

使用说明

观察性助理

Kubernetes和可观察性系统的人工智能助手,提供与基础设施和监控工具的自然语言交互。

它做什么

Observability Assistant是一个控制台应用程序,它将Azure OpenAI与模型上下文协议(MCP)服务器相结合,以帮助您:

  • 查询Kubernetes集群:列出Pod、部署、服务,并获取资源状态
  • 访问日志:从Loki查询日志
  • 查看指标:从Prometheus检索时间序列数据
  • 分析痕迹:从Tempo访问分布式跟踪数据
  • 自然语言接口:用简明英语提问,而不是写kubectl或API查询

助手根据您的要求智能地将您的请求路由到适当的工具。

配置

编辑 appsettings.json 使用您的设置在Console项目中创建文件:

必需设置

Azure OpenAI (AI功能所需):

"AzureOpenAI": {
  "Endpoint": "https://your-openai-endpoint.openai.azure.com/",
  "DeploymentName": "your-deployment-name",
  "ApiKey": "your-api-key"
}

Kubernetes (访问群集时需要):

"Kubernetes": {
  "ConfigPath": "~/.kube/config",
  "DefaultNamespace": "default"
}

可选设置

观察性工具 (如果使用自定义MCP,则需要):

"Observability": {
  "PrometheusUrl": "http://your-prometheus:9090",
  "LokiUrl": "http://your-loki:3100",
  "TempoUrl": "http://your-tempo:3200"
}

Grafana MCP (对于Grafana MCP的官方集成):

"GrafanaMCP": {
  "Enabled": true,
  "NodePath": "docker",
  "GrafanaUrl": "http://your-grafana:3000",
  "GrafanaApiKey": "your-grafana-api-key",
  "UseCustomMCPs": false
}
  • 集 UseCustomMCPs: true 使用内置的MCP服务器(需要Observability URL)
  • 集 UseCustomMCPs: false 通过Docker使用官方的Grafana MCP(需要GrafanaMCP设置)

入门指南

  1. 配置您的 appsettings.json 具有所需的设置
  2. 确保Kubernetes配置文件存在于配置的路径中
  3. 运行应用程序:
    dotnet run --project src/ObservabilityAssistant.Console
    

查询示例

  • “列出默认命名空间中的所有Pod”
  • “显示应用程序中的错误日志”
  • “正在运行哪些部署?”
  • “显示最后一小时的CPU指标”

类型 exit 退出, clear 为了清除屏幕, reset 开始新的对话,或 help 更多命令。