Last9

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.

Last9 MCP ile neler yapabilirsiniz?

Asistanınızdan, Last9'dan canlı günlükler, izler ve metrikler kullanarak üretim olaylarını incelemesini isteyin.

  • Hizmet sağlığını sıralaget_service_summary kullanarak filonuzdaki istek sayılarını, iş hacmini ve 4xx/5xx hatalarını görün.
  • Yavaş veritabanı sorgularını bulunget_database_slow_queries kullanarak gerçek en yavaş çalıştırmaları ve incelemek için iz kimliklerini çekin.
  • Hizmet günlüklerini çekinget_service_logs kullanarak önem düzeyine ve gövde içeriğine göre filtrelenmiş ham günlük satırlarını getirin.
  • Tek bir isteği izleyinget_trace_waterfall kullanarak belirli bir iz kimliği için üst/alt şelale görünümünü görüntüleyin.
  • Uyarı durumunu kontrol edinget_alert_rule_state kullanarak bir zaman aralığında her uyarı kuralı için tetiklenme geçmişini görün.
  • Panoları yönetincreate_dashboard kullanarak paneller ve sorgularla özel panolar oluşturun.

Dokümantasyon

Last9 MCP Server

last9 mcp demo

AI ajanınız production'da neyin bozulduğunu bilmez. Bu, bunu çözer.

Last9 MCP Server, Claude, Cursor, Windsurf ve MCP destekleyen diğer tüm AI asistanlarını doğrudan production gözlemlenebilirlik verilerinize bağlar — loglar, metrikler, trace'ler, istisnalar, veritabanı sorguları, uyarılar ve dağıtımlar. 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. Tek URL, tarayıcıda OAuth, bitti.

Org slug'ınızı Last9 URL'nizde 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. Bu kadar.

Cursor

Settings > MCP > Add New MCP Server:

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

Connect'e tıklayın, OAuth'u tamamlayın.

VS Code

v1.99+ gerektirir. Command Palette'i açın → MCP: Add Server, 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

Settings > Cascade > Open MCP Marketplace > dişli simgesi (mcp_config.json):

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

Claude Web/Desktop

Settings > Connectors > Add custom connector. Adını last9 yapın, URL'yi yapıştırın, kimlik doğrulayın.

Claude organizasyonunuz için yönetici erişimi gerektirir.


Self-Hosted (STDIO)

MCP istemciniz HTTP taşımasını desteklemediğinde veya sunucunun yerelde ç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ümler (Windows / manuel):

GitHub Releases sayfasından 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 Alın

Token yalnızca yöneticiler oluşturabilir.

  1. API Access sayfasına gidin
  2. Write izinleriyle Generate Token'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ıracaksınız:

İstemciKonum
Claude Web/DesktopSettings > Developer > Edit Config (claude_desktop_config.json)
CursorSettings > Cursor Settings > MCP > Add New Global MCP Server
WindsurfSettings > Cascade > MCP Marketplace > dişli simgesi (mcp_config.json)
VS Codesettings.json içinde { "mcp": { "servers": { ... } } } ile sarın — ayrıntılar
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 Releases sayfasından indirdikten sonra çıkarı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>"
      }
    }
  }
}

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

Ortam Değişkenleri

DeğişkenVarsayılanAçıklama
LAST9_REFRESH_TOKEN(zorunlu)API Access sayfasından alınan refresh token
LAST9_DATASOURCEorg varsayılanıDatasource/cluster adı — birden fazla Levitate cluster'ınız olduğunda kullanışlıdır
LAST9_API_HOSTapp.last9.ioAPI host'unu geçersiz kılın
LAST9_TOOLSETStüm araçlarAçılacak virgülle ayrılmış araç setleri (logs, traces, metrics, alerts, dashboards, investigate, all). Takma ad: LAST9_MCP_TOOLSETS
LAST9_MAX_GET_LOGS_ENTRIES5000Parçalı get_logs istekleri için maksimum girdi
LAST9_DEBUG_CHUNKINGfalseget_logs, get_service_logs, get_traces için parça planlama ayrıntılarını loglamak üzere true ayarlayın
LAST9_DISABLE_TELEMETRYtrueDahili OTel izlemeyi etkinleştirmek için false ayarlayın
OTEL_SDK_DISABLEDStandart OTel ortam değişkeni. LAST9_DISABLE_TELEMETRY değerini geçersiz kılar
OTEL_EXPORTER_OTLP_ENDPOINTOTLP collector uç noktası (yalnızca telemetri etkin olduğunda)
OTEL_EXPORTER_OTLP_HEADERSOTLP auth başlıkları (yalnızca telemetri etkin olduğunda)

Neler Yapabilir

Servis Sağlığı

  • get_service_summary — Sıralanmış filo (service, env) satırları: aralık istek sayısı, throughput_rpm, HTTP 4xx/5xx sayıları ve gRPC hata sayıları
  • get_service_environments — Servisleriniz için kullanılabilir ortamlar. Önce bunu çalıştırın — diğer APM araçları env değerini buradan alır
  • get_service_performance_details — Tam döküm: throughput, hata oranı, p50/p90/p95/ort/max, apdex, kullanılabilirlik
  • get_service_operations_summary — HTTP uç noktaları, DB çağrıları, mesajlaşma, HTTP istemcileri tarafından gruplanmış işlemler
  • get_service_dependency_graph — Üst/alt akış ve altyapı için throughput, gecikme ve hata oranlarıyla bağımlılık haritası
  • get_apm_service_deviations — Geçerli pencereyi eşit süreli bir temel çizgiyle karşılaştırın: gerilemeler/iyileştirmeler, Apdex mutabakatı ve terminal sonucu (filo veya tek servis)
  • get_exceptions — Servis ve span filtreleriyle sunucu tarafı istisnaları

Veritabanı Gözlemlenebilirliği

OpenTelemetry trace span'lerinden türetilen, doğrudan veritabanı performansınıza yönelik dört araç. Zaten OTel kullanıyorsanız ekstra enstrümantasyon gerekmez.

  • get_databases — Altyapınızdaki tüm veritabanlarını keşfedin: DB türü, host, throughput (sorgu/dk), p95 gecikmesi, hata oranı, bağımlı servis sayısı
  • get_database_slow_queries — Süreye göre sıralanmış gerçek en yavaş sorgu yürütmeleri, tam trace'lere inmek için trace ID'leriyle
  • get_database_queries — Sorgu desenleri ve toplamları: bir sorgunun ne sıklıkla çalıştığı, ortalama/p95 süresi, hata oranı
  • get_database_server_metrics — DB host'unun kendisinden sunucu tarafı metrikleri (CPU, bağlantılar, buffer isabet oranları — DB sisteminize bağlıdır)

PostgreSQL, MySQL, MongoDB, Redis, Aerospike ve db_system özniteliğine sahip OTel trace'i olan 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 rollup işlevlerini 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 ayarını yaparak bunları varsayılandan farklı bir datasource/cluster'a yönlendirin.

Loglar

  • get_logs — Tam JSON pipeline log sorguları (toplamalar, filtreler, alan çıkarma)
  • get_service_logs — Bir servis için ham log satırları, önem düzeyine ve içerik metnine göre filtrelenebilir
  • get_log_attributes — Bir zaman penceresi için log şemasındaki özniteliklerin genel kataloğu
  • get_log_attributes_for_pipeline — Devam eden bir pipeline için fiilen mevcut log alanları (kapsamlı keşif), her biri tam filter_field değeriyle
  • get_drop_rulesLast9 Control Plane sayfasından log düşürme kuralları
  • add_drop_rule — Kaynakta log hacmini kesmek için yeni bir düşürme kuralı oluşturun

Trace'ler

  • get_traces — Geniş aramalar ve toplamalar için JSON pipeline trace sorguları
  • get_service_traces — Tam trace ID'sine veya servis adına göre trace'ler. Bir trace ID'niz olduğunda bunu kullanın — daha hızlıdır
  • get_trace_attributes — Trace şemasındaki özniteliklerin genel kataloğu
  • get_trace_attributes_for_pipeline — Devam eden bir pipeline için fiilen mevcut öznitelikler (kapsamlı keşif), her biri tam filter_field değeriyle
  • get_trace_attribute_values — Bir trace özniteliği için ayrı değerler, isteğe bağlı olarak bir pipeline ile sınırlandırılmış
  • get_trace_attribute_deviations — İki sınırlı span kohortu arasında farklılık gösteren öznitelik değerlerini sıralar (yavaş vs hızlı, hata vs hatasız veya iki zaman penceresi). Korelasyon, nedensellik değil
  • get_trace_waterfall — Ebeveyn/çocuk şelalesi olarak tek bir tam trace; aralık-birleşim öz-zaman, en yavaş span'ler ve grafik uyarılarıyla

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 düzeyine, 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ığı boyunca uyarı kuralı başına tarihsel tetiklenme durumu (1/0), rule_id değerine göre gruplanmış. Uyarı grubuna, kural adına, etiket filtrelerine ve duruma göre filtrelenebilir.
  • get_notification_channels — Yapılandırılmış bildirim kanalları (Slack, PagerDuty, e-posta vb.)

Özel Panolar

  • list_dashboards — Organizasyonunuzdaki tüm özel panolar: ID'ler, adlar ve meta veriler
  • get_dashboard — ID'ye göre tam pano tanımı, paneller ve sorgular dahil
  • 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
  • list_dashboard_snapshots — Bir pano için dondurulmuş anlık görüntüler (yalnızca meta veriler)
  • get_dashboard_snapshot — RCA / paylaşılabilir görünümler için panel verileri dahil tam dondurulmuş anlık görüntü
  • delete_dashboard_snapshot — ID'ye 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 araç kataloğunuzdan en yakın eşleşmeleri döndürür (servisler, ortamlar, host'lar, veritabanları, K8s dağıtımları/ad alanları, işler). Benzerlik puanlarıyla en fazla 3 öneri. Sunucu, bir ad araması boş döndüğünde çoğu araçtan önce bunu otomatik çağırır.

Nasıl Çalışır

Her yanıtta derin bağlantılar. Her araç bir deep_link alanı döndürür — o tam 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ız.

Araç setleri. Varsayılan olarak sunucu her aracı sunar. Yalnızca soruşturma (log/trace/metrik) gerektiren otomasyon host'ları, istemci tarafında toplu devre dışı bırakma olmadan tools/list küçük kalsın diye LAST9_TOOLSETS=investigate (veya --toolsets=investigate iletebilir) ayarlayabilir. Adlandırılmış paketler: logs, traces, metrics, alerts, dashboards, investigate, all. Bilinmeyen adlar hızla başarısız olur. metrics paketi tek başına list_datasources veya did_you_mean içermez — bu keşif yardımcılarına ihtiyacınız olduğunda investigate kullanın (veya araç setlerini birleştirin).

Araç referans kaynakları. Uzun logjson/tracejson/service-logs/metrics kılavuzları her zaman açık araç açıklama metni değil, MCP kaynaklarıdır (last9://reference/logjson, last9://reference/tracejson, last9://reference/service_logs, last9://reference/metrics). Kritik sorgu kuralları araç açıklamasında kalır, böylece resources/read çağırmayan ajanlar bile doğru oluşturma yönergeleri alır. Organizasyona özgü alanları get_log_attributes / get_log_attributes_for_pipeline (ve trace eşdeğerleri) ile keşfedin — bunlar açıklamalara enjekte edilmez.

Parçalı büyük sonuçlar. get_logs ve get_traces büyük sonuç kümelerini kırpmak yerine parçalama yoluyla işler. Loglar için varsayılan sınır 5000 girdidir; LAST9_MAX_GET_LOGS_ENTRIES ile yapılandırılabilir.


Geliştirme

HTTP modu, curl testleri, 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

Streamable HTTP işleyicisi durumsuz modda çalışır; bu nedenle her istek bağımsız olarak sunulur. Bir initialize el sıkışması ve Mcp-Session-Id başlığı isteğe bağlıdır — bunları gönderen istemciler yine de ç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 istemciye yönelik hiçbir bildirim göndermez, 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 barındırılan 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_iso veya time_iso) lookback_minutes öğesine 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 amacıyla 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.
  • env (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ı): PromQL regex. Varsayılan .*. Tam eşleşme için çapa gerekir (örn. ^prod$).
  • sort_by (dize, isteğe bağlı): request_count (varsayılan), throughput_rpm, http_4xx_count, http_5xx_count veya grpc_error_count.
  • limit (tamsayı, isteğe bağlı): Maksimum sıralanmış satır. Atlandığında veya 0 olduğunda 10 anlamına gelir; 100'ün üzerindeki değerler 100'e kırpılır.

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, 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_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_apm_service_deviations

  • service_name (dize, isteğe bağlı): Filo kapsamı için atlayın; bir servis ve işlem korelasyonları için sağlayın.
  • lookback_minutes (tamsayı, isteğe bağlı): Geçerli pencere. Varsayılan: 60.
  • start_time_iso / end_time_iso (dize, isteğe bağlı): Açık geçerli pencere.
  • baseline_start_time_iso / baseline_end_time_iso (dize, isteğe bağlı): Açık temel çizgi. Varsayılan, hemen önceki eşit süreli penceredir.
  • datasource (dize, isteğe bağlı): Karşılaştırmayı tek bir veri kaynağıyla sınırlayın.
  • env (dize, isteğe bağlı): Varsayılan prod.
  • max_services / max_operations (tamsayı, isteğe bağlı): Varsayılan 10, her biri için maksimum 10.

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ı ana bilgisayarı (net_peer_name).
  • service_name (dize, isteğe bağlı): Çağıran servis adı.
  • env (dize, isteğe bağlı)
  • min_duration_ms (float, isteğe bağlı): Minimum sorgu süresi (ms cinsinden).
  • 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: son 60 dakika.
  • lookback_minutes (float, isteğe bağlı): Varsayılan: 60.

prometheus_instant_query

  • query (dize, zorunlu)
  • time_iso (dize, isteğe bağlı): Varsayılan: şimdi.
  • lookback_minutes (float, 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 işlem hattı 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ı servis envanteri için önce physical_index_service_count sorgusunu çalıştırın:

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

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

get_service_logs

  • service_name (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 fazla filtre türü VE ile birleştirilir. Her dizi dahili olarak VEYA kullanır. Önce geniş toplam sayılar için get_logs kullanın; get_service_logs öğesini yalnızca bir servis/ortam/dizin ve küçük bir örneklem 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 kapsamlamak 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. Bırakma kurallarını GET /otel_settings/drop?region=... aracılığıyla listeler.

add_drop_rule

  • name (dize, zorunlu)
  • filters (dizi, zorunlu): Her filtre: key, value, operator (equals/not_equals), conjunction (and).
  • Filtre anahtarları attributes["key_name"] veya resource.attributes["key_name"] kullanmalıdır (Last9 API'si tarafından zorunlu kılınır).
  • Kuralı POST /otel_settings/drop?region=...&cluster_id=... aracılığıyla oluşturur.

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 bakma: 72 saat.
  • service_name (dize, isteğe bağlı): Varsayılan geriye bakma: 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 kapsamlamak 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 öğesinden öznitelik adı (örn. resource_department veya attributes['http.method']).
  • pipeline (dizi, isteğe bağlı): Değerleri kapsamlamak için önceki filtre aşamaları; genel değerler için atlayın.
  • region (dize, isteğe bağlı)

get_trace_attribute_deviations

  • comparison_mode (dize, zorunlu): latency, errors veya time.
  • service_name (dize, zorunlu)
  • environment (dize, zorunlu): Tam deployment.environment değeri.
  • operation (dize, isteğe bağlı)
  • filters (dizi, isteğe bağlı): İz JSON filtre koşulları.
  • candidate_attributes (dizi, isteğe bağlı): Maksimum 8; sınırlı keşif için atlayın.
  • latency_threshold_ms (sayı, isteğe bağlı): latency modu için zorunludur; diğer modlar için reddedilir.
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 15. Maksimum: 15.
  • baseline_start_time_iso / baseline_end_time_iso (dize, isteğe bağlı): time modu için zorunludur; hedef pencereyle çakışmayan ve eşit süreli olmalıdır.
  • minimum_cohort_size (tamsayı, isteğe bağlı): Varsayılan: 100. Minimum: 20.
  • minimum_value_support (tamsayı, isteğe bağlı): Varsayılan: 20. Minimum: 10.
  • limit (tamsayı, isteğe bağlı): Varsayılan: 10. Maksimum: 10.

Eşlik eden arka uç yeteneğinin etkinleştirilmesini gerektirir.

get_trace_waterfall

  • trace_id (dize, zorunlu)
  • environment (dize, isteğe bağlı)
  • start_time_iso / end_time_iso (dize, isteğe bağlı)
  • lookback_minutes (tamsayı, isteğe bağlı): Varsayılan: 4320 (72 saat).
  • selected_span_id (dize, isteğe bağlı): Yalnızca o span için öznitelikleri, olayları ve bağlantıları döndürür.
  • max_spans (tamsayı, isteğe bağlı): Varsayılan: 500. Maksimum: 1000.

Bir investigation-evidence/v1 zarfı döndürür; şelale data altındadır.

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_name (dize, isteğe bağlı)
  • env (dize, isteğe bağlı)
  • event_name (dize, isteğe bağlı): Önce bunu almadan çağırın; available_event_names almak için.

get_alert_config

  • search_term (string, isteğe bağlı): Ad, grup, veri kaynağı ve 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ı): static veya anomaly.
  • alert_group_name / alert_group_type / data_source_name (string, isteğe bağlı)
  • tags (dizi, isteğe bağlı): Tümü eşleşmelidir (VE mantığı).

get_alerts

  • time_iso (string, isteğe bağlı): RFC3339 biçiminde değerlendirme zamanı.
  • window (tamsayı, isteğe bağlı): Saniye cinsinden geriye bakma süresi. 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 (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=value etiket filtreleri.
  • state (string, isteğe bağlı): Duruma göre filtrele (örn. firing).

rule_id -> [{timestamp, is_firing}] değerlerinin bir JSON haritasını döndürür. Bir kuralın üst sistem yanıtında bulunmadığı bir zaman damgası is_firing=0 olarak raporlanır — bu, "tetiklenmiş olarak gözlemlenmedi" anlamına gelir, doğrulanmış normal bir durum değildir.

get_notification_channels

Parametre yok. Yapılandırılmış tüm bildirim kanallarını döndürür (Slack, PagerDuty, e-posta, webhook'lar 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üyle sınırla: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Benzerlik puanlarıyla en yakın 3 eşleşmeye kadar 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 (string, zorunlu): Pano UUID'si.
  • region (string, isteğe bağlı): Panel sorgusu doldurma için bölge. Varsayılan olarak yapılandırılmış veri kaynağı bölgesi kullanılır.

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 (string, zorunlu): Güncellenecek pano UUID'si.
  • dashboard (nesne, zorunlu): Tam değiştirme pano gövdesi (create ile aynı yapıda).
  • metadata (nesne, 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 pano UUID'si. Salt okunur sistem panoları silinemez.

list_dashboard_snapshots

  • dashboard_id (string, zorunlu): Anlık görüntüleri listelenecek pano UUID'si.

Yalnızca meta verileri 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 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 bölümüne bakın.


MseeP.ai Security Assessment Badge