Last9
resmiGerç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.
Last9 MCP ile neler yapabilirsiniz?
- Check service health and performance — Ask your AI to run
get_service_summaryorget_service_performance_detailsfor throughput, error rates, and latency across your services. - Investigate database performance — Use
get_database_slow_queriesto surface the slowest query executions with trace IDs, orget_database_server_metricsfor host-level CPU and connection stats. - Query logs and traces with your actual schema — Run
get_logsorget_traceswith JSON pipeline queries; the server caches your live attribute names so the assistant knows your exact fields. - Correlate incidents with recent changes — Call
get_change_eventsto list deployments and config changes, then cross-reference withget_alertsorget_alert_rule_state. - Discover and manage dashboards — List, create, update, or delete custom dashboards via
list_dashboards,create_dashboard, andupdate_dashboard, or capture point-in-time snapshots. - Resolve ambiguous entity names — When a service or database name isn’t found,
did_you_meanreturns the closest matches from your catalog before retrying.
Dokümantasyon
Last9 MCP Sunucusu

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)
Yüklenecek ikili dosya yok. Yönetilecek token yok. Tek bir URL, tarayıcınızda OAuth, bitti.
Last9 URL'nizde 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ğrulaması yapı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 Paletini açın → MCP: Sunucu Ekle, URL'yi yapıştırın, kimlik doğrulaması yapı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ğrulaması yapın.
Claude kuruluşunuza yönetici erişimi gerektirir.
Kendi Sunucunuzda (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
İkili sürümler (Windows / manuel):
GitHub Sürümleri'nden indirin:
| Platform | Arş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 |
Yenileme Token'ı Alın
Yalnızca yöneticiler token oluşturabilir.
- API Erişimi'ne gidin
- Yazma izinleriyle Token Oluştur'a tıklayın
- 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>"
}
}
}
}
Bunu nereye yapıştırmalı:
| İstemci | Konum |
|---|---|
| Claude Web/Masaüstü | Ayarlar > Geliştirici > Yapılandırmayı Düzenle (claude_desktop_config.json) |
| Cursor | Ayarlar > Cursor Ayarları > MCP > Yeni Genel MCP Sunucusu Ekle |
| Windsurf | Ayarlar > Cascade > MCP Marketplace > dişli simgesi (mcp_config.json) |
| VS Code | settings.json içinde { "mcp": { "servers": { ... } } } 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şken | Varsayılan | Açıklama |
|---|---|---|
LAST9_REFRESH_TOKEN | (gerekli) | API Erişimi'nden yenileme token'ı |
LAST9_DATASOURCE | kuruluş varsayılanı | Veri kaynağı/küme adı — birden fazla Levitate kümeniz olduğunda kullanışlıdır |
LAST9_API_HOST | app.last9.io | API ana bilgisayarını geçersiz kıl |
LAST9_MAX_GET_LOGS_ENTRIES | 5000 | Parçalı get_logs istekleri için maksimum giriş |
LAST9_DEBUG_CHUNKING | false | get_logs, get_service_logs, get_traces için parça planlama ayrıntılarını günlüğe kaydetmek üzere true olarak ayarlayın |
LAST9_DISABLE_TELEMETRY | true | Dahili OTel izlemeyi etkinleştirmek için false olarak ayarlayın |
OTEL_SDK_DISABLED | — | Standart OTel ortam değişkeni. LAST9_DISABLE_TELEMETRY'ı geçersiz kılar |
OTEL_EXPORTER_OTLP_ENDPOINT | — | OTLP toplayıcı uç noktası (yalnızca telemetri etkin olduğunda) |
OTEL_EXPORTER_OTLP_HEADERS | — | OTLP kimlik doğrulama başlıkları (yalnızca telemetri etkin olduğunda) |
Neler Yapabilir
Servis Sağlığı
get_service_summary— Tüm servisler genelinde verim, hata oranı, p95 yanıt süresiget_service_environments— Servisleriniz için kullanılabilir ortamlar. Bunu önce çalıştırın — diğer APM araçlarının buradanenv'ye ihtiyacı vardırget_service_performance_details— Tam döküm: verim, hata oranı, p50/p90/p95/ort/maks, apdex, kullanılabilirlikget_service_operations_summary— HTTP uç noktaları, VT çağrıları, mesajlaşma, HTTP istemcilerine göre gruplandırılmış işlemlerget_service_dependency_graph— Yukarı/aşağı akış/altyapı için verim, gecikme ve hata oranlarıyla bağımlılık haritasıget_apm_service_deviations— Mevcut bir pencereyi eşit süreli bir temel çizgiyle karşılaştırın: gerilemeler/iyileştirmeler, Apdex mutabakatı ve bir terminal sonucu (filo veya tek servis)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 giden 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, verim (sorgu/dk), p95 gecikme, hata oranı, bağımlı servis sayısıget_database_slow_queries— Tam izlere inmek için iz kimlikleriyle birlikte, süreye göre sıralanmış gerçek en yavaş sorgu yürütmeleriget_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_timegibi toplama fonksiyonlarını kullanınprometheus_label_values— Belirli bir seri için etiket değerleriprometheus_labels— Bir seri için mevcut 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 ardışık düzen 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 filtrelenebilirget_log_attributes— Bir zaman penceresi için günlük şemasındaki özniteliklerin genel kataloğuget_log_attributes_for_pipeline— Devam eden bir ardışık düzen için gerçekte mevcut olan günlük alanları (kapsamlı keşif), her biri tamfilter_fieldileget_drop_rules— Last9 Kontrol Düzlemi'nden 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 ardışık düzen iz sorgularıget_service_traces— Tam iz kimliği veya servis adına göre izler. Bir iz kimliğiniz olduğunda bunu kullanın — daha hızlıdırget_trace_attributes— İz şemasındaki özniteliklerin genel kataloğuget_trace_attributes_for_pipeline— Devam eden bir ardışık düzen için gerçekte mevcut olan öznitelikler (kapsamlı keşif), her biri tamfilter_fieldileget_trace_attribute_values— Bir iz özniteliği için, isteğe bağlı olarak bir ardışık düzenle kapsamlandırılmış farklı değerler
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şkilendiringet_alert_config— Uyarı kuralı yapılandırmaları — ada, önem derecesine, türe, etiketlere göre aranabilirget_alerts— Bir zaman penceresi içinde şu anda tetiklenen uyarılarget_alert_rule_state— Bir zaman aralığı boyunca uyarı kuralı başına geçmiş tetiklenme durumu (1/0),rule_idile 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: kimlikler, adlar ve meta verilerget_dashboard— Paneller ve sorgular dahil olmak üzere kimliğe göre tam pano tanımıcreate_dashboard— Paneller, sorgular ve meta verilerle yeni bir özel pano oluşturunupdate_dashboard— Kimliğe göre mevcut bir panoyu güncelleyin (salt okunur sistem panoları hata döndürür)delete_dashboard— Kimliğe göre özel bir panoyu silinlist_dashboard_snapshots— Bir pano için dondurulmuş anlık görüntüler (yalnızca meta veri)get_dashboard_snapshot— RCA / paylaşılabilir görünümler için panel verilerini içeren tam dondurulmuş anlık görüntüdelete_dashboard_snapshot— Kimliğe göre dondurulmuş bir anlık görüntüyü silin
Bulanık Ad Çözümleme
did_you_mean— Ajan bir varlık adından emin olmadığında, bu, kataloğunuzdan en yakın eşleşmeleri döndürür (servisler, ortamlar, ana bilgisayarlar, veritabanları, K8s dağıtımları/ad alanları, işler). Benzerlik puanlarıyla en fazla 3 öneri. Bir ad araması boş döndüğünde sunucu bunu çoğu araçtan önce 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; siz 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çalara ayırarak 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
Akışkan HTTP işleyicisi durumsuz modda çalışır, böylece herhangi bir istek bağımsız olarak sunulur. Bir initialize el sıkışması ve bir Mcp-Session-Id başlığı isteğe bağlıdır — bunları gönderen istemciler hala çalışır (başlık kabul edilir ve yok sayılır) ve istemciler doğrudan tools/list / tools/call adımına da geçebilir. Her araç bağımsız bir istek/yanıt sorgusudur; sunucu hiçbir sunucu→istemci bildirimi yayınlamaz, bu nedenle GET /mcp (SSE akışı) 405 döndürür.
# List tools — a session handshake is optional in stateless mode
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'
# Call a tool
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_service_logs",
"arguments": {
"service_name": "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 ayrıntılar
Zaman Girişi
- Mutlak zamanlar (
start_time_iso/end_time_isoveyatime_iso),lookback_minutes'e göre önceliklidir. - Göreli pencereler için:
lookback_minuteskullanın. - Mutlak pencereler için: RFC3339/ISO8601 kullanın —
2026-02-09T15:04:05Z. - Eski
YYYY-MM-DD HH:MM:SSyalnızca uyumluluk için kabul edilir.
get_exceptions
limit(integer, isteğe bağlı): Maksimum istisna sayısı. Varsayılan: 20.lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı): Mutlak zaman aralığı.service_name(string, isteğe bağlı): Servise göre filtrele.span_name(string, isteğe bağlı): Span adına göre filtrele.env(string, isteğe bağlı): Ortama göre filtrele.
get_service_summary
start_time_iso/end_time_iso(string, isteğe bağlı)env(string, isteğe bağlı): Varsayılan olarakproddeğerini alır.
get_service_environments
start_time_iso/end_time_iso(string, isteğe bağlı)
Diğer tüm APM araçları bir
envdeğeri gerektirir. Eğer bu boş dönerse""kullanın.
get_service_performance_details
service_name(string, zorunlu)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)env(string, isteğe bağlı): Varsayılan olarakproddeğerini alır.
get_service_operations_summary
service_name(string, zorunlu)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)env(string, isteğe bağlı): Varsayılan olarakproddeğerini alır.
get_service_dependency_graph
service_name(string, isteğe bağlı)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)env(string, isteğe bağlı): Varsayılan olarakproddeğerini alır.
get_apm_service_deviations
service_name(string, isteğe bağlı): Filo kapsamı için atlayın; bir servis ve onun operasyon korelasyonları için belirtin.lookback_minutes(integer, isteğe bağlı): Mevcut pencere. Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı): Açık mevcut pencere.baseline_start_time_iso/baseline_end_time_iso(string, isteğe bağlı): Açık temel çizgi. Varsayılan olarak hemen önceki eşit süreli pencereyi alır.datasource(string, isteğe bağlı): Karşılaştırmayı bir veri kaynağıyla sınırla.env(string, isteğe bağlı): Varsayılan olarakproddeğerini alır.max_services/max_operations(integer, isteğe bağlı): Varsayılan 10, her biri için maksimum 10.
get_databases
env(string, isteğe bağlı): Ortama göre filtrele. Varsayılan: tümü.lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)
get_database_slow_queries
db_system(string, isteğe bağlı): örn.postgresql,mysql,mongodb,redis.host(string, isteğe bağlı): Veritabanı sunucusu (net_peer_name).service_name(string, isteğe bağlı): Çağıran servis adı.env(string, isteğe bağlı)min_duration_ms(float, isteğe bağlı): Milisaniye cinsinden minimum sorgu süresi.lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)limit(integer, isteğe bağlı): Varsayılan: 20.
get_database_queries
db_system(string, isteğe bağlı)host(string, isteğe bağlı)service_name(string, isteğe bağlı)env(string, isteğe bağlı)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)limit(integer, isteğe bağlı): Varsayılan: 20.
get_database_server_metrics
db_system(string, zorunlu): örn.postgresql,mysql,mongodb,redis,aerospike.host(string, isteğe bağlı)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.start_time_iso/end_time_iso(string, isteğe bağlı)
prometheus_range_query
query(string, zorunlu): PromQL sorgusu.start_time_iso/end_time_iso(string, isteğe bağlı): Varsayılan olarak son 60 dakika.lookback_minutes(float, isteğe bağlı): Varsayılan: 60.
prometheus_instant_query
query(string, zorunlu)time_iso(string, isteğe bağlı): Varsayılan olarak şimdi.lookback_minutes(float, isteğe bağlı)
prometheus_label_values
match_query(string, isteğe bağlı): PromQL filtresi.label(string, zorunlu): Etiket adı.start_time_iso/end_time_iso(string, isteğe bağlı)
prometheus_labels
match_query(string, isteğe bağlı): PromQL filtresi.start_time_iso/end_time_iso(string, isteğe bağlı)
get_logs
logjson_query(array, zorunlu): JSON pipeline sorgusu.lookback_minutes(integer, isteğe bağlı): Varsayılan: 5.start_time_iso/end_time_iso(string, isteğe bağlı)limit(integer, isteğe bağlı): Sunucu varsayılanı: 5000.index(string, isteğe bağlı):physical_index:<name>veyarehydration_index:<block_name>.
Günlük tabanlı servis envanteri için önce physical_index_service_count sorgulayın:
sum by (name, service_name, env) (physical_index_service_count{destination="logs"})
service_name değerini ServiceName olarak, mevcutsa ortamı env olarak ve fiziksel indeks adını name olarak kullanın. Eğer name="default" ise, index öğesini atlayın; kullanıcı tarafından seçilen varsayılan olmayan bir fiziksel indeks için index: "physical_index:<name>" iletin. Eğer arka uç açık fiziksel indeks filtrelemeyi reddederse, index olmadan yeniden deneyin ve bu arka uç için açık fiziksel indeks filtrelemenin kullanılamadığını bildirin.
get_service_logs
service_name(string, zorunlu)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.limit(integer, isteğe bağlı): Varsayılan: 20.env(string, isteğe bağlı)severity_filters(array, isteğe bağlı): örn.["error", "warn"]. VEYA mantığı.body_filters(array, isteğe bağlı): örn.["timeout", "failed"]. VEYA mantığı.start_time_iso/end_time_iso(string, isteğe bağlı)index(string, isteğe bağlı)
Birden fazla filtre türü VE ile birleştirilir. Her dizi dahili olarak VEYA kullanır.
Geniş toplu sayımlar için önce get_logs kullanın; get_service_logs öğesini yalnızca bir servis/ortam/indeks ve küçük bir örnek kümesine daralttıktan sonra kullanın.
get_log_attributes
lookback_minutes(integer, isteğe bağlı): Varsayılan: 15.start_time_iso/end_time_iso(string, isteğe bağlı)region(string, isteğe bağlı)index(string, isteğe bağlı)
get_log_attributes_for_pipeline
pipeline(array, zorunlu): Keşfi kapsamlandırmak için önceki filtre aşamaları, örn.[{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].lookback_minutes(integer, isteğe bağlı): Varsayılan: 15.start_time_iso/end_time_iso(string, isteğe bağlı)region(string, isteğe bağlı)index(string, isteğe bağlı)
get_drop_rules
Parametre yok.
add_drop_rule
name(string, zorunlu)filters(array, zorunlu): Her filtre:key,value,operator(equals/not_equals),conjunction(and).
get_traces
Geniş aramalar ve toplamalar için kullanın. Tam trace ID araması için get_service_traces kullanın.
tracejson_query(array, zorunlu)start_time_iso/end_time_iso(string, isteğe bağlı)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.limit(integer, isteğe bağlı): Varsayılan: 5000.
get_service_traces
trace_id veya service_name parametrelerinden tam olarak biri zorunludur.
trace_id(string, isteğe bağlı): Varsayılan geriye bakış: 72 saat.service_name(string, isteğe bağlı): Varsayılan geriye bakış: 60 dk.lookback_minutes(integer, isteğe bağlı)start_time_iso/end_time_iso(string, isteğe bağlı)limit(integer, isteğe bağlı): Varsayılan: 10.env(string, isteğe bağlı)
get_trace_attributes
lookback_minutes(integer, isteğe bağlı): Varsayılan: 15.start_time_iso/end_time_iso(string, isteğe bağlı)region(string, isteğe bağlı)
get_trace_attributes_for_pipeline
pipeline(array, zorunlu): Keşfi kapsamlandırmak için önceki filtre aşamaları, örn.[{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].lookback_minutes(integer, isteğe bağlı): Varsayılan: 15.start_time_iso/end_time_iso(string, isteğe bağlı)region(string, isteğe bağlı)
get_trace_attribute_values
tag_name(string, zorunlu):get_trace_attributeskaynağından öznitelik adı (örn.resource_departmentveyaattributes['http.method']).pipeline(array, isteğe bağlı): Değerleri kapsamlandırmak için önceki filtre aşamaları; global değerler için atlayın.region(string, isteğe bağlı)
get_change_events
start_time_iso/end_time_iso(string, isteğe bağlı)lookback_minutes(integer, isteğe bağlı): Varsayılan: 60.service_name(string, isteğe bağlı)env(string, isteğe bağlı)event_name(string, isteğe bağlı):available_event_namesalmak için önce bu olmadan çağırın.
get_alert_config
search_term(string, isteğe bağlı): Ad, grup, veri kaynağı, etiketler arasında serbest metin araması.rule_name(string, isteğe bağlı)severity(string, isteğe bağlı)rule_type(string, isteğe bağlı):staticveyaanomaly.alert_group_name/alert_group_type/data_source_name(string, isteğe bağlı)tags(array, isteğe bağlı): Hepsi eşleşmelidir (VE mantığı).
get_alerts
time_iso(string, isteğe bağlı): RFC3339 formatında değerlendirme zamanı.window(integer, isteğe bağlı): Saniye cinsinden geriye bakış. Varsayılan: 900. Aralık: 60–86400.lookback_minutes(integer, isteğe bağlı): Aralık: 1–1440.
get_alert_rule_state
start_time(integer, zorunlu): Aralığın Unix epoch başlangıcı (dahil).end_time(integer, zorunlu): Aralığın Unix epoch bitişi (dahil).step(integer, 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(string, isteğe bağlı): Uyarı grubu kimliğine göre filtrele.rule_name(string, isteğe bağlı): Kural adında regex filtresi.alert_group_name(string, isteğe bağlı): Uyarı grubu adında regex filtresi.label_filters(string, isteğe bağlı): Virgülle ayrılmışkey=valueetiket filtreleri.state(string, 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ış bir 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(string, zorunlu): Aranacak ad — kısmi, yanlış yazılmış veya kısaltılmış.type(string, isteğe bağlı): Varlık türüne göre kısıtla:service,environment,host,database,k8s_deployment,k8s_namespace,job.
Benzerlik puanlarıyla birlikte 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çlar döndürdüyse, yeniden denemeden önce bunu deneyin.
list_dashboards
Parametre yok. Kuruluştaki tüm özel panoları id, name ve meta verileri içeren bir JSON dizisi olarak döndürür.
get_dashboard
id(string, zorunlu): Pano UUID'si.region(string, isteğe bağlı): Panel sorgu popülasyonu için bölge. Varsayılan olarak yapılandırılmış veri kaynağı bölgesini alır.
create_dashboard
dashboard(object, zorunlu):namevepanels[]içeren pano tanımı. Her panelname,version,layout(x,y,w,h),visualization.typevequeries[]gerektirir.metadata(object, isteğe bağlı): Pano meta verileri —_categoryve_typealanları (örn.{"_category":"custom","_type":"metrics"}).
update_dashboard
id(string, zorunlu): Güncellenecek pano UUID'si.dashboard(object, zorunlu): Tam değiştirme pano gövdesi (oluşturma ile aynı şekil).metadata(object, isteğe bağlı): Değiştirme meta verileri. Salt okunur sistem panoları 403 hatası döndürür.
delete_dashboard
id(string, zorunlu): Silinecek gösterge paneli UUID'si. Salt okunur sistem panoları silinemez.
list_dashboard_snapshots
dashboard_id(string, zorunlu): Anlık görüntüleri listelenecek gösterge paneli UUID'si.
Yalnızca meta veri döndürür (id, name, expires_at, vb.). Dondurulmuş panel verileri için get_dashboard_snapshot kullanın.
get_dashboard_snapshot
id(string, zorunlu): Anlık görüntü UUID'si.
dashboard_definition, panel_data, time_range ve variables dahil olmak üzere tam dondurulmuş anlık görüntüyü döndürür.
delete_dashboard_snapshot
id(string, zorunlu): Silinecek anlık görüntü UUID'si.
Test
Entegrasyon testi kurulumu ve talimatları için TESTING.md dosyasına bakın.
