Last9 MCP Server

resmi

Gerçek zamanlı üretim bağlamını—loglar, metrikler ve izler—yerel ortamınıza sorunsuz bir şekilde taşıyarak kodu daha hızlı otomatik düzeltin.

Dokümantasyon

Last9 MCP Sunucusu

last9 mcp demo

Yapay zeka ajanınız üretimde neyin bozuk olduğunu bilmez. Bu, bunu düzeltir.

Last9 MCP Sunucusu Claude, Cursor, Windsurf ve MCP özellikli diğer tüm yapay zeka asistanlarını doğrudan üretim gözlemlenebilirlik verilerinize (günlükler, metrikler, izler, istisnalar, veritabanı sorguları, uyarılar ve dağıtımlar) bağlar. Ajan tahmin yürütmeyi bırakır ve gerçek sinyali okumaya başlar.


30 saniyede başlayın (Hosted)

Kurulacak binary yok. Yönetilecek token yok. Bir URL, tarayıcınızda OAuth, bitti.

Last9 URL'nizdeki kuruluş slug'ınızı bulun: app.last9.io/<org_slug>/...

Claude Code

claude mcp add --transport http last9 https://app.last9.io/api/v4/organizations/<org_slug>/mcp

/mcp yazın, last9'u seçin, kimlik doğrulayın. Hepsi bu.

Cursor

Ayarlar > MCP > Yeni MCP Sunucusu Ekle:

{
  "mcpServers": {
    "last9": {
      "type": "http",
      "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Bağlan'a tıklayın, OAuth'u tamamlayın.

VS Code

v1.99+ gerektirir. Komut Paleti'ni açın → MCP: Sunucu Ekle, URL'yi yapıştırın, kimlik doğrulayın.

Veya doğrudan settings.json içinde:

{
  "mcp": {
    "servers": {
      "last9": {
        "type": "http",
        "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
      }
    }
  }
}

Windsurf

Ayarlar > Cascade > MCP Marketplace'i Aç > dişli simgesi (mcp_config.json):

{
  "mcpServers": {
    "last9": {
      "serverUrl": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Claude Web/Masaüstü

Ayarlar > Bağlayıcılar > Özel bağlayıcı ekle. last9 olarak adlandırın, URL'yi yapıştırın, kimlik doğrulayın.

Claude organizasyonunuza yönetici erişimi gerektirir.


Self-Hosted (STDIO)

MCP istemciniz HTTP aktarımını desteklemediğinde veya sunucunun yerel olarak çalışması gerektiğinde bunu kullanın.

Kurulum

Homebrew:

brew install last9/tap/last9-mcp

NPM:

npm install -g @last9/mcp-server@latest
# or directly:
npx -y @last9/mcp-server@latest

Binary sürümleri (Windows / manuel):

GitHub Sürümleri'nden indirin:

PlatformArşiv
Windows (x64)last9-mcp-server_Windows_x86_64.zip
Windows (ARM64)last9-mcp-server_Windows_arm64.zip
Linux (x64)last9-mcp-server_Linux_x86_64.tar.gz
Linux (ARM64)last9-mcp-server_Linux_arm64.tar.gz
macOS (x64)last9-mcp-server_Darwin_x86_64.tar.gz
macOS (ARM64)last9-mcp-server_Darwin_arm64.tar.gz

Refresh Token Edinin

Yalnızca yöneticiler token oluşturabilir.

  1. API Erişimi'ne gidin
  2. Yazma izinleriyle Token Oluştur'a tıklayın
  3. Kopyalayın

İstemci Yapılandırması

Homebrew:

{
  "mcpServers": {
    "last9": {
      "command": "/opt/homebrew/bin/last9-mcp",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM:

{
  "mcpServers": {
    "last9": {
      "command": "npx",
      "args": ["-y", "@last9/mcp-server@latest"],
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Bunları nereye yapıştırmalı:

İstemciKonum
Claude Web/MasaüstüAyarlar > Geliştirici > Yapılandırmayı Düzenle (claude_desktop_config.json)
CursorAyarlar > Cursor Ayarları > MCP > Yeni Global MCP Sunucusu Ekle
WindsurfAyarlar > Cascade > MCP Marketplace > dişli simgesi (mcp_config.json)
VS Code{ "mcp": { "servers": { ... } } } içinde settings.json ile sarın — detaylar
VS Code STDIO yapılandırması
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

NPM için: "command": "npx" kullanın ve "args": ["-y", "@last9/mcp-server@latest"] ekleyin.

Windows

GitHub Sürümleri'nden indirdikten sonra, çıkartın ve tam yolu gösterin:

{
  "mcpServers": {
    "last9": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\last9-mcp-server.exe",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM yolu Windows'ta daha kolaydır — yol yönetimi yoktur.

Ortam Değişkenleri

DeğişkenVarsayılanAçıklama
LAST9_REFRESH_TOKEN(gerekli)API Erişimi'nden refresh token
LAST9_DATASOURCEkuruluş varsayılanıVeri kaynağı/küme adı — birden fazla Levitate kümeniz olduğunda kullanışlıdır
LAST9_API_HOSTapp.last9.ioAPI ana bilgisayarını geçersiz kıl
LAST9_MAX_GET_LOGS_ENTRIES5000Parçalı get_logs istekleri için maksimum giriş
LAST9_DEBUG_CHUNKINGfalseget_logs, get_service_logs, get_traces için parça planlama detaylarını günlüğe kaydetmek üzere true olarak ayarlayın
LAST9_DISABLE_TELEMETRYtrueDahili OTel izlemeyi etkinleştirmek için false olarak ayarlayın
OTEL_SDK_DISABLEDStandart OTel ortam değişkeni. LAST9_DISABLE_TELEMETRY'ı geçersiz kılar
OTEL_EXPORTER_OTLP_ENDPOINTOTLP toplayıcı uç noktası (yalnızca telemetri etkin olduğunda)
OTEL_EXPORTER_OTLP_HEADERSOTLP kimlik doğrulama başlıkları (yalnızca telemetri etkin olduğunda)

Neler Yapabilir

Servis Sağlığı

  • get_service_summary — Tüm servisler genelinde işlem hacmi, hata oranı, p95 yanıt süresi
  • get_service_environments — Servisleriniz için kullanılabilir ortamlar. Bunu önce çalıştırın — diğer APM araçları buradan env değerine ihtiyaç duyar
  • get_service_performance_details — Tam döküm: işlem hacmi, hata oranı, p50/p90/p95/ort/maks, apdex, kullanılabilirlik
  • get_service_operations_summary — HTTP uç noktaları, VT çağrıları, mesajlaşma, HTTP istemcilerine göre gruplandırılmış işlemler
  • get_service_dependency_graph — Yukarı/aşağı akış/altyapı için işlem hacmi, gecikme ve hata oranlarını içeren bağımlılık haritası
  • get_exceptions — Servis ve span filtreleriyle sunucu tarafı istisnalar

Veritabanı Gözlemlenebilirliği

OpenTelemetry iz span'lerinden türetilen, doğrudan veritabanı performansınıza yönelik dört araç. Zaten OTel kullanıyorsanız ek enstrümantasyona gerek yoktur.

  • get_databases — Altyapınızdaki tüm veritabanlarını keşfedin: VT türü, ana bilgisayar, işlem hacmi (sorgu/dk), p95 gecikme, hata oranı, bağımlı servis sayısı
  • get_database_slow_queries — Süreye göre sıralanmış, tam izlere inmek için trace ID'leri içeren gerçek en yavaş sorgu yürütmeleri
  • get_database_queries — Sorgu desenleri ve toplamaları: bir sorgunun ne sıklıkta çalıştığı, ortalama/p95 süre, hata oranı
  • get_database_server_metrics — VT ana bilgisayarının kendisinden sunucu tarafı metrikler (CPU, bağlantılar, arabellek isabet oranları — VT sisteminize bağlıdır)

PostgreSQL, MySQL, MongoDB, Redis, Aerospike ve db_system özniteliğine sahip OTel izleri olan diğer her şeyi destekler.

Prometheus / PromQL

  • prometheus_range_query — Herhangi bir metrik üzerinde PromQL aralık sorguları
  • prometheus_instant_query — Anlık sorgular; avg_over_time, sum_over_time gibi toplama fonksiyonlarını kullanın
  • prometheus_label_values — Belirli bir seri için etiket değerleri
  • prometheus_labels — Bir seri için kullanılabilir tüm etiketler

LAST9_DATASOURCE ayarlayarak bunları varsayılandan farklı bir veri kaynağına/kümeye yönlendirin.

Günlükler

  • get_logs — Tam JSON pipeline günlük sorguları (toplamalar, filtreler, alan çıkarma)
  • get_service_logs — Bir servis için ham günlük satırları, önem derecesi ve gövde içeriğine göre filtrelenebilir
  • get_log_attributes — Bir zaman penceresi için günlük şemasındaki özniteliklerin global kataloğu
  • get_log_attributes_for_pipeline — Devam eden bir pipeline için gerçekte mevcut günlük alanları (kapsamlı keşif), her biri tam filter_field ile
  • get_drop_rulesLast9 Control Plane'den günlük bırakma kuralları
  • add_drop_rule — Kaynakta günlük hacmini azaltmak için yeni bir bırakma kuralı oluşturun

İzler

  • get_traces — Geniş aramalar ve toplamalar için JSON pipeline iz sorguları
  • get_service_traces — Tam trace ID veya servis adına göre izler. Bir trace ID'niz olduğunda bunu kullanın — daha hızlıdır
  • get_trace_attributes — İz şemasındaki özniteliklerin global kataloğu
  • get_trace_attributes_for_pipeline — Devam eden bir pipeline için gerçekte mevcut öznitelikler (kapsamlı keşif), her biri tam filter_field ile
  • get_trace_attribute_values — Bir iz özniteliği için farklı değerler, isteğe bağlı olarak bir pipeline ile kapsamlandırılmış

Değişiklik Olayları ve Uyarılar

  • get_change_events — Dağıtımlar, yapılandırma değişiklikleri, geri almalar. Olayları neyin değiştiğiyle ilişkilendirin
  • get_alert_config — Uyarı kuralı yapılandırmaları — ada, önem derecesine, türe, etiketlere göre aranabilir
  • get_alerts — Bir zaman penceresi içinde şu anda tetiklenen uyarılar
  • get_alert_rule_state — Bir zaman aralığında uyarı kuralı başına geçmiş tetiklenme durumu (1/0), rule_id ile gruplandırılmış. Uyarı grubu, kural adı, etiket filtreleri ve duruma göre filtrelenebilir.
  • get_notification_channels — Yapılandırılmış bildirim kanalları (Slack, PagerDuty, e-posta, vb.)

Özel Panolar

  • list_dashboards — Kuruluşunuzdaki tüm özel panolar: ID'ler, adlar ve meta veriler
  • get_dashboard — ID'ye göre paneller ve sorgular dahil tam pano tanımı
  • create_dashboard — Paneller, sorgular ve meta verilerle yeni bir özel pano oluşturun
  • update_dashboard — ID'ye göre mevcut bir panoyu güncelleyin (salt okunur sistem panoları hata döndürür)
  • delete_dashboard — ID'ye göre özel bir panoyu silin

Bulanık Ad Çözümleme

  • did_you_mean — Ajan bir varlık adından emin olmadığında, bu, kataloğunuzdan (servisler, ortamlar, ana bilgisayarlar, veritabanları, K8s dağıtımları/ad alanları, işler) en yakın eşleşmeleri döndürür. Benzerlik puanlarıyla en fazla 3 öneri. Bir ad araması boş döndüğünde sunucu çoğu araçtan önce bunu otomatik olarak çağırır.

Nasıl Çalışır

Her yanıtta derin bağlantılar. Her araç bir deep_link alanı döndürür — tam olarak o sorgu ve zaman aralığı için Last9 panosuna doğrudan bir URL. Ajan size bağlantıyı verebilir; tıklarsınız; oradasınızdır.

Canlı öznitelik önbellekleme. Başlangıçta sunucu, verilerinizden gerçek günlük ve iz öznitelik adlarını alır ve bunları araç açıklamalarına gömer. Bu, yapay zeka asistanının yalnızca genel bir liste değil, şemanızda hangi alanların var olduğunu bildiği anlamına gelir. Önbellek her 2 saatte bir yenilenir.

Parçalı büyük sonuçlar. get_logs ve get_traces, büyük sonuç kümelerini kesmek yerine parçalama yoluyla işler. Günlükler için varsayılan sınır 5000 giriştir; LAST9_MAX_GET_LOGS_ENTRIES ile yapılandırılabilir.


Geliştirme

HTTP modu, curl testi, kaynaktan derleme

HTTP Modunda Çalıştırma

export LAST9_REFRESH_TOKEN="your_refresh_token"
export LAST9_HTTP=true
export LAST9_PORT=8080
./last9-mcp-server

Sunucu http://localhost:8080/mcp adresinde başlar.

curl ile Test Etme

MCP Akışlı HTTP, önce bir başlatma el sıkışması gerektirir. İlk istekte Mcp-Session-Id ayarlamayın.

# Step 1: Initialize
SESSION_ID=$(curl -si -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {"name": "curl-test", "version": "1.0"}
      }
    }' | grep -i "^Mcp-Session-Id:" | awk '{print $2}' | tr -d '\r')
echo "Session: $SESSION_ID"

# Step 2: Send initialized notification
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "method": "notifications/initialized", "params": {}}'

# Step 3: List tools
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}'

# Step 4: Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

Kaynaktan Derleme

git clone https://github.com/last9/last9-mcp-server.git
cd last9-mcp-server
go build -o last9-mcp-server
LAST9_HTTP=true ./last9-mcp-server

LAST9_HTTP=true yerel geliştirme içindir. Gerçek kullanım için hosted HTTP uç noktası daha kolaydır.


Araç Referansı

Tüm parametreler, zaman giriş standartları ve detaylar

Zaman Girişi

  • Mutlak zamanlar (start_time_iso/end_time_iso veya time_iso) lookback_minutes'a göre önceliklidir.
  • Göreli pencereler için: lookback_minutes kullanın.
  • Mutlak pencereler için: RFC3339/ISO8601 kullanın — 2026-02-09T15:04:05Z.
  • Eski YYYY-MM-DD HH:MM:SS yalnızca uyumluluk için kabul edilir.

get_exceptions

  • limit (tamsayı, isteğe bağlı): Maksimum istisna. Varsayılan: 20.
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı): Mutlak zaman aralığı.
  • service_name (dize, isteğe bağlı): Servise göre filtrele.
  • span_name (dize, isteğe bağlı): Span adına göre filtrele.
  • deployment_environment (dize, isteğe bağlı): Ortama göre filtrele.

get_service_summary

  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • env (dize, isteğe bağlı): Varsayılan prod.

get_service_environments

  • start_time_iso / end_time_iso (dize, isteğe bağlı)

Diğer tüm APM araçları bir env değeri gerektirir. Bu boş dönerse "" kullanın.

get_service_performance_details

  • service_name (dize, gerekli)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • env (dize, isteğe bağlı): Varsayılan prod.

get_service_operations_summary

  • service_name (dize, zorunlu)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • env (dize, isteğe bağlı): Varsayılan: prod.

get_service_dependency_graph

  • service_name (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • env (dize, isteğe bağlı): Varsayılan: prod.

get_databases

  • env (dize, isteğe bağlı): Ortama göre filtrele. Varsayılan: tümü.
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)

get_database_slow_queries

  • db_system (dize, isteğe bağlı): örn. postgresql, mysql, mongodb, redis.
  • host (dize, isteğe bağlı): Veritabanı sunucusu (net_peer_name).
  • service_name (dize, isteğe bağlı): Çağıran hizmet adı.
  • env (dize, isteğe bağlı)
  • min_duration_ms (kayan noktalı, isteğe bağlı): Milisaniye cinsinden minimum sorgu süresi.
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • limit (tamsayı, isteğe bağlı): Varsayılan: 20.

get_database_queries

  • db_system (dize, isteğe bağlı)
  • host (dize, isteğe bağlı)
  • service_name (dize, isteğe bağlı)
  • env (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • limit (tamsayı, isteğe bağlı): Varsayılan: 20.

get_database_server_metrics

  • db_system (dize, zorunlu): örn. postgresql, mysql, mongodb, redis, aerospike.
  • host (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)

prometheus_range_query

  • query (dize, zorunlu): PromQL sorgusu.
  • start_time_iso / end_time_iso (dize, isteğe bağlı): Varsayılan olarak son 60 dakika.
  • lookback_minutes (kayan noktalı, isteğe bağlı): Varsayılan: 60.

prometheus_instant_query

  • query (dize, zorunlu)
  • time_iso (dize, isteğe bağlı): Varsayılan olarak şimdi.
  • lookback_minutes (kayan noktalı, isteğe bağlı)

prometheus_label_values

  • match_query (dize, isteğe bağlı): PromQL filtresi.
  • label (dize, zorunlu): Etiket adı.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)

prometheus_labels

  • match_query (dize, isteğe bağlı): PromQL filtresi.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)

get_logs

  • logjson_query (dizi, zorunlu): JSON pipeline sorgusu.
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 5.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • limit (tamsayı, isteğe bağlı): Sunucu varsayılanı: 5000.
  • index (dize, isteğe bağlı): physical_index:<name> veya rehydration_index:<block_name>.

Günlük tabanlı hizmet envanteri için önce physical_index_service_count sorgulayın:

sum by (name, service_name, env) (physical_index_service_count{destination="logs"})

service_name öğesini ServiceName olarak, mevcutsa ortamı env olarak ve fiziksel dizin adını name olarak kullanın. name="default" durumunda index öğesini atlayın; kullanıcı tarafından seçilen varsayılan olmayan bir fiziksel dizin için index: "physical_index:<name>" iletin. Arka uç açık fiziksel dizin filtrelemeyi reddederse, index olmadan yeniden deneyin ve açık fiziksel dizin filtrelemenin o arka uç için kullanılamadığını bildirin.

get_service_logs

  • service (dize, zorunlu)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • limit (tamsayı, isteğe bağlı): Varsayılan: 20.
  • env (dize, isteğe bağlı)
  • severity_filters (dizi, isteğe bağlı): örn. ["error", "warn"]. VEYA mantığı.
  • body_filters (dizi, isteğe bağlı): örn. ["timeout", "failed"]. VEYA mantığı.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • index (dize, isteğe bağlı)

Birden çok filtre türü VE ile birleştirilir. Her dizi dahili olarak VEYA kullanır. Önce geniş toplu sayımlar için get_logs kullanın; get_service_logs öğesini yalnızca bir hizmet/ortam/dizin ve küçük bir örnek kümesine daralttıktan sonra kullanın.

get_log_attributes

  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 15.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • region (dize, isteğe bağlı)
  • index (dize, isteğe bağlı)

get_log_attributes_for_pipeline

  • pipeline (dizi, zorunlu): Keşfi kapsamlandırmak için önceki filtre aşamaları, örn. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 15.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • region (dize, isteğe bağlı)
  • index (dize, isteğe bağlı)

get_drop_rules

Parametre yok.

add_drop_rule

  • name (dize, zorunlu)
  • filters (dizi, zorunlu): Her filtre: key, value, operator (equals/not_equals), conjunction (and).

get_traces

Geniş aramalar ve toplamalar için kullanın. Tam iz kimliği araması için get_service_traces kullanın.

  • tracejson_query (dizi, zorunlu)
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • limit (tamsayı, isteğe bağlı): Varsayılan: 5000.

get_service_traces

trace_id veya service_name öğelerinden tam olarak biri zorunludur.

  • trace_id (dize, isteğe bağlı): Varsayılan geriye bakış: 72 saat.
  • service_name (dize, isteğe bağlı): Varsayılan geriye bakış: 60 dakika.
  • lookback_minutes (tamsayı, isteğe bağlı)
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • limit (tamsayı, isteğe bağlı): Varsayılan: 10.
  • env (dize, isteğe bağlı)

get_trace_attributes

  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 15.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • region (dize, isteğe bağlı)

get_trace_attributes_for_pipeline

  • pipeline (dizi, zorunlu): Keşfi kapsamlandırmak için önceki filtre aşamaları, örn. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 15.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • region (dize, isteğe bağlı)

get_trace_attribute_values

  • tag_name (dize, zorunlu): get_trace_attributes kaynağından öznitelik adı (örn. resource_department veya attributes['http.method']).
  • pipeline (dizi, isteğe bağlı): Değerleri kapsamlandırmak için önceki filtre aşamaları; genel değerler için atlayın.
  • region (dize, isteğe bağlı)

get_change_events

  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 60.
  • service (dize, isteğe bağlı)
  • environment (dize, isteğe bağlı)
  • event_name (dize, isteğe bağlı): available_event_names almak için önce bu olmadan çağırın.

get_alert_config

  • search_term (dize, isteğe bağlı): Ad, grup, veri kaynağı, etiketler arasında serbest metin araması.
  • rule_name (dize, isteğe bağlı)
  • severity (dize, isteğe bağlı)
  • rule_type (dize, isteğe bağlı): static veya anomaly.
  • alert_group_name / alert_group_type / data_source_name (dize, isteğe bağlı)
  • tags (dizi, isteğe bağlı): Tümü eşleşmelidir (VE mantığı).

get_alerts

  • time_iso (dize, isteğe bağlı): RFC3339 formatında değerlendirme zamanı.
  • window (tamsayı, isteğe bağlı): Saniye cinsinden geriye bakış. Varsayılan: 900. Aralık: 60–86400.
  • lookback_minutes (tamsayı, isteğe bağlı): Aralık: 1–1440.

get_alert_rule_state

  • start_time (tamsayı, zorunlu): Aralığın Unix epoch başlangıcı (dahil).
  • end_time (tamsayı, zorunlu): Aralığın Unix epoch sonu (dahil).
  • step (tamsayı, zorunlu): Örnekler arasındaki saniye cinsinden çözünürlük. ((end_time - start_time) / step + 1) örnek sayısı 100 ile sınırlıdır.
  • alert_group_id (dize, isteğe bağlı): Uyarı grubu kimliğine göre filtrele.
  • rule_name (dize, isteğe bağlı): Kural adında regex filtresi.
  • alert_group_name (dize, isteğe bağlı): Uyarı grubu adında regex filtresi.
  • label_filters (dize, isteğe bağlı): Virgülle ayrılmış key=value etiket filtreleri.
  • state (dize, isteğe bağlı): Duruma göre filtrele (örn. firing).

Bir rule_id -> [{timestamp, is_firing}] JSON haritası döndürür. Bir kuralın yukarı akış yanıtında bulunmadığı bir zaman damgası is_firing=0 olarak raporlanır — bu, "tetikleniyor olarak gözlemlenmedi" anlamına gelir, onaylanmış normal durum değil.

get_notification_channels

Parametre yok. Yapılandırılmış tüm bildirim kanallarını döndürür (Slack, PagerDuty, e-posta, web kancaları vb.).

did_you_mean

  • query (dize, zorunlu): Aranacak ad — kısmi, yanlış yazılmış veya kısaltılmış.
  • type (dize, isteğe bağlı): Varlık türüne kısıtla: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Benzerlik puanlarıyla en fazla 3 en yakın eşleşmeyi döndürür. Varlık adının belirsiz olduğu herhangi bir araç çağrısından önce bunu kullanın. Önceki bir çağrı boş sonuç döndürdüyse, yeniden denemeden önce bunu deneyin.

list_dashboards

Parametre yok. Kuruluştaki tüm özel panoları id, name ve meta verilerle birlikte bir JSON dizisi olarak döndürür.

get_dashboard

  • id (dize, zorunlu): Pano UUID'si.
  • region (dize, isteğe bağlı): Panel sorgu popülasyonu için bölge. Varsayılan olarak yapılandırılmış veri kaynağı bölgesi.

create_dashboard

  • dashboard (nesne, zorunlu): name ve panels[] içeren pano tanımı. Her panel name, version, layout (x, y, w, h), visualization.type ve queries[] gerektirir.
  • metadata (nesne, isteğe bağlı): Pano meta verileri — _category ve _type alanları (örn. {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (dize, zorunlu): Güncellenecek pano UUID'si.
  • dashboard (nesne, zorunlu): Tam değiştirme pano gövdesi (oluşturma ile aynı şekil).
  • metadata (nesne, isteğe bağlı): Değiştirme meta verileri. Salt okunur sistem panoları 403 hatası döndürür.

delete_dashboard

  • id (dize, zorunlu): Silinecek pano UUID'si. Salt okunur sistem panoları silinemez.

Test

Entegrasyon testi kurulumu ve talimatları için TESTING.md dosyasına bakın.


MseeP.ai Security Assessment Badge