CloudWatch MCP Agent
CloudWatch MCP Agent
Dosya | Açıklama |
| Ortam değişkenlerini ve uygulama yapılandırmasını yönetir. |
| CloudWatch Logs Insights sorgu şablonlarını içerir. |
| LLM zaman ifadelerini yorumlar ve SRE referans verilerini sağlar. |
| LLM promptları, istek yönlendirme ve yanıt formatlamasını gerçekleştirir. |
| MCP araçlarını, AWS Boto3 entegrasyonunu ve HTTP API'yi sunar. |
| Chat arayüzünü, dashboard'u ve log kartlarını içerir. |
| Uygulamanın EKS ortamına dağıtım manifestidir. |
| Lokal geliştirme ortamı için örnek ortam değişkenlerini içerir. |
| Otomatik regresyon testlerini ve senaryo doğrulamalarını içerir. |
VLLM + AGENT CloudWatch log, metric ve alarm sorularını yanıtlayan LLM agent. Tek bir FastAPI servisi olarak çalışır; CloudWatch tool'ları in-process MCP ile sunar ve cevapları cluster içindeki vLLM modelinden üretir.
Kullanıcı → Chat UI / API → Agent loop → vLLM → MCP tools (boto3) → AWS CloudWatch (IRSA)Gereksinimler
Kubernetes cluster (EKS)
kubectlve cluster erişimiCluster içinde çalışan vLLM OpenAI-compatible endpoint
CloudWatch okuma yetkisi olan IAM role (IRSA ile ServiceAccount'a bağlı)
Kubernetes'e deploy
Manifest'leri kendi ortamına göre düzenle (k8s/deployment.yaml içindeki ECR image, IAM role ARN, vLLM URL):
kubectl apply -f k8s/deployment.yamlDeploy sonrası kontrol:
kubectl get pods -n mcp-llm-agent
kubectl get svc -n mcp-llm-agentUI'ye erişim (port-forward)
Service tipi ClusterIP olduğu için dışarıdan doğrudan erişilemez. Chat arayüzünü açmak için her oturumda (veya ihtiyaç olduğunda) port-forward çalıştır:
kubectl port-forward -n mcp-llm-agent svc/cloudwatch-agent 8080:80Terminal açık kalsın. Tarayıcıda:
Port-forward'u arka planda çalıştırmak istersen:
kubectl port-forward -n mcp-llm-agent svc/cloudwatch-agent 8080:80 &HealthCheck kontrolleri
Port-forward aktifken:
curl http://localhost:8080/health
curl http://localhost:8080/ready/ready yanıtında kayıtlı CloudWatch tool listesi de döner.
Lokal geliştirme
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # değerleri düzenle
uvicorn app.server:app --host 0.0.0.0 --port 8080 --reloadLokal çalışırken port-forward gerekmez; doğrudan http://localhost:8080 açılır.
Docker image
docker build --platform linux/amd64 -t cloudwatch-agent:latest .
docker run --rm -p 8080:8080 --env-file .env cloudwatch-agent:latestAPI
Endpoint | Açıklama |
| Chat UI |
| Liveness |
| Readiness + tool kataloğu |
| Agent sohbet API |
| MCP endpoint (FastMCP) |
Örnek chat isteği:
curl -s http://localhost:8080/chat \
-H 'Content-Type: application/json' \
-d '{"message":"Aktif CloudWatch alarmları var mı?","history":[]}'CloudWatch tool'ları
mouse ile üzerine geline tool listesi ui'da gözüküyor
describe_log_groups— log group listeleme / aramaanalyze_log_group— log group analiziexecute_log_insights_query— Logs Insights sorgusu başlatget_logs_insight_query_results— sorgu sonuçlarıcancel_logs_insight_query— sorguyu iptalget_active_alarms— aktif alarmlarget_alarm_history— alarm geçmişiget_metric_data— metric verisiget_metric_metadata— metric metadataget_recommended_metric_alarms— önerilen alarmlaranalyze_metric— metric analizi
env
Değişken | Açıklama | Örnek |
| vLLM OpenAI API base URL |
|
| Model adı |
|
| AWS bölgesi |
|
| Agent tool döngü limiti |
|
| Sohbet geçmişi mesaj limiti |
|
| Mesaj başına karakter limiti |
|
| Tool çıktısı truncate limiti |
|
| Listelenecek max log group |
|
| LLM max token |
|
| LLM temperature |
|
| Log seviyesi |
|