观察性助理
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设置)
入门指南
- 配置您的
appsettings.json具有所需的设置 - 确保Kubernetes配置文件存在于配置的路径中
- 运行应用程序:
dotnet run --project src/ObservabilityAssistant.Console查询示例
- “列出默认命名空间中的所有Pod”
- “显示应用程序中的错误日志”
- “正在运行哪些部署?”
- “显示最后一小时的CPU指标”
类型 exit 退出, clear 为了清除屏幕, reset 开始新的对话,或 help 更多命令。
