Last9

chính thức

Mang bối cảnh sản xuất thời gian thực—log, chỉ số và dấu vết—vào môi trường cục bộ của bạn một cách liền mạch để tự động sửa mã nhanh hơn.

Bạn có thể làm gì với Last9 MCP?

  • Kiểm tra tình trạng và hiệu suất dịch vụ — yêu cầu tổng quan về thông lượng, tỷ lệ lỗi và độ trễ giữa các dịch vụ bằng get_service_summary, hoặc đi sâu vào p50/p95/p99, Apdex và tính khả dụng của một dịch vụ cụ thể bằng get_service_performance_details.
  • Điều tra hiệu suất cơ sở dữ liệu — khám phá tất cả cơ sở dữ liệu và độ trễ p95 của chúng bằng get_databases, sau đó truy xuất các truy vấn chậm nhất (get_database_slow_queries) hoặc các mẫu truy vấn tổng hợp (get_database_queries) để xác định điểm nghẽn.
  • Truy vấn nhật ký và dấu vết với lược đồ thực tế của bạn — chạy truy vấn JSON pipeline trên nhật ký (get_logs) hoặc dấu vết (get_traces), và khám phá các trường khả dụng bằng get_log_attributes hoặc get_trace_attributes_for_pipeline để trợ lý biết chính xác cấu trúc dữ liệu của bạn.
  • Tương quan sự cố với các thay đổi gần đây — sử dụng get_change_events để liệt kê các bản triển khai, thay đổi cấu hình và rollback trong một khung thời gian, và đối chiếu với get_alerts để xem những cảnh báo nào đã kích hoạt tại thời điểm đó.
  • Chạy truy vấn PromQL trên số liệu — thực thi truy vấn PromQL phạm vi hoặc tức thời (prometheus_range_query, prometheus_instant_query) và khám phá các nhãn khả dụng bằng prometheus_labelsprometheus_label_values.
  • Giải quyết tên thực thể mơ hồ — khi không tìm thấy tên dịch vụ, môi trường hoặc cơ sở dữ liệu, hãy sử dụng did_you_mean để lấy các kết quả khớp gần nhất từ danh mục của bạn trước khi thử lại lệnh gọi công cụ ban đầu.

Tài liệu

Last9 MCP Server

last9 mcp demo

Trợ lý AI của bạn không biết điều gì đang hỏng trong môi trường production. Công cụ này sẽ khắc phục điều đó.

Last9 MCP Server kết nối Claude, Cursor, Windsurf và bất kỳ trợ lý AI nào hỗ trợ MCP trực tiếp với dữ liệu quan sát production của bạn — logs, metrics, traces, exceptions, database queries, alerts và deployments. Trợ lý sẽ ngừng phỏng đoán và bắt đầu đọc các tín hiệu thực tế.


Bắt đầu trong 30 giây (Hosted)

Không cần cài đặt binary. Không cần quản lý token. Một URL, xác thực OAuth trên trình duyệt, xong.

Tìm org slug của bạn trong URL Last9: app.last9.io/<org_slug>/...

Claude Code

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

/mcp, chọn last9, xác thực. Vậy là xong.

Cursor

Settings > MCP > Add New MCP Server:

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

Nhấp Connect, hoàn tất OAuth.

VS Code

Yêu cầu phiên bản v1.99+. Mở Command Palette → MCP: Add Server, dán URL, xác thực.

Hoặc trực tiếp trong settings.json:

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

Windsurf

Settings > Cascade > Open MCP Marketplace > biểu tượng bánh răng (mcp_config.json):

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

Claude Web/Desktop

Settings > Connectors > Add custom connector. Đặt tên là last9, dán URL, xác thực.

Yêu cầu quyền admin đối với tổ chức Claude của bạn.


Tự lưu trữ (STDIO)

Sử dụng khi client MCP của bạn không hỗ trợ HTTP transport, hoặc khi bạn cần server chạy cục bộ.

Cài đặt

Homebrew:

brew install last9/tap/last9-mcp

NPM:

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

Bản phát hành binary (Windows / thủ công):

Tải về từ GitHub Releases:

Nền tảngLưu trữ
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

Lấy Refresh Token

Chỉ admin mới có thể tạo token.

  1. Vào API Access
  2. Nhấp Generate Token với quyền Write
  3. Sao chép nó

Cấu hình Client

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>"
      }
    }
  }
}

Nơi dán cấu hình này:

ClientVị trí
Claude Web/DesktopSettings > Developer > Edit Config (claude_desktop_config.json)
CursorSettings > Cursor Settings > MCP > Add New Global MCP Server
WindsurfSettings > Cascade > MCP Marketplace > biểu tượng bánh răng (mcp_config.json)
VS CodeBọc trong { "mcp": { "servers": { ... } } } trong settings.jsonchi tiết
Cấu hình STDIO cho VS Code
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

Với NPM: sử dụng "command": "npx" và thêm "args": ["-y", "@last9/mcp-server@latest"].

Windows

Sau khi tải về từ GitHub Releases, giải nén và trỏ đến đường dẫn đầy đủ:

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

Sử dụng NPM dễ dàng hơn trên Windows — không cần quản lý đường dẫn.

Biến môi trường

BiếnMặc địnhMô tả
LAST9_REFRESH_TOKEN(bắt buộc)Refresh token từ API Access
LAST9_DATASOURCEmặc định của orgTên datasource/cluster — hữu ích khi bạn có nhiều cụm Levitate
LAST9_API_HOSTapp.last9.ioGhi đè máy chủ API
LAST9_MAX_GET_LOGS_ENTRIES5000Số mục tối đa cho các yêu cầu get_logs được chia khối
LAST9_DEBUG_CHUNKINGfalseĐặt true để ghi nhật ký chi tiết lập kế hoạch khối cho get_logs, get_service_logs, get_traces
LAST9_DISABLE_TELEMETRYtrueĐặt false để bật truy vết OTel nội bộ
OTEL_SDK_DISABLEDBiến môi trường OTel tiêu chuẩn. Ghi đè LAST9_DISABLE_TELEMETRY
OTEL_EXPORTER_OTLP_ENDPOINTĐiểm cuối collector OTLP (chỉ khi telemetry được bật)
OTEL_EXPORTER_OTLP_HEADERSHeader xác thực OTLP (chỉ khi telemetry được bật)

Những gì nó có thể làm

Tình trạng dịch vụ

  • get_service_summary — Throughput, tỷ lệ lỗi, thời gian phản hồi p95 trên tất cả các dịch vụ
  • get_service_environments — Các môi trường khả dụng cho dịch vụ của bạn. Chạy công cụ này trước — các công cụ APM khác cần env từ đây
  • get_service_performance_details — Phân tích đầy đủ: throughput, tỷ lệ lỗi, p50/p90/p95/trung bình/tối đa, apdex, tính khả dụng
  • get_service_operations_summary — Các hoạt động được nhóm theo điểm cuối HTTP, lệnh gọi DB, tin nhắn, HTTP client
  • get_service_dependency_graph — Bản đồ phụ thuộc với throughput, độ trễ và tỷ lệ lỗi cho upstream/downstream/infra
  • get_exceptions — Ngoại lệ phía máy chủ với bộ lọc dịch vụ và span

Quan sát cơ sở dữ liệu

Bốn công cụ truy cập trực tiếp vào hiệu suất cơ sở dữ liệu của bạn, được lấy từ các span trace OpenTelemetry. Không cần thêm công cụ nếu bạn đã sử dụng OTel.

  • get_databases — Khám phá tất cả cơ sở dữ liệu trên toàn bộ hạ tầng của bạn: loại DB, máy chủ, throughput (truy vấn/phút), độ trễ p95, tỷ lệ lỗi, số lượng dịch vụ phụ thuộc
  • get_database_slow_queries — Các lần thực thi truy vấn chậm nhất thực tế, được sắp xếp theo thời lượng, kèm trace ID để đi sâu vào trace đầy đủ
  • get_database_queries — Các mẫu truy vấn và tổng hợp: tần suất chạy truy vấn, thời lượng trung bình/p95, tỷ lệ lỗi
  • get_database_server_metrics — Số liệu phía máy chủ từ chính máy chủ DB (CPU, kết nối, tỷ lệ hit bộ đệm — tùy thuộc vào hệ thống DB của bạn)

Hỗ trợ PostgreSQL, MySQL, MongoDB, Redis, Aerospike và bất kỳ thứ gì khác có trace OTel với thuộc tính db_system.

Prometheus / PromQL

  • prometheus_range_query — Truy vấn phạm vi PromQL trên bất kỳ metric nào
  • prometheus_instant_query — Truy vấn tức thời; sử dụng các hàm tổng hợp như avg_over_time, sum_over_time
  • prometheus_label_values — Giá trị nhãn cho một chuỗi nhất định
  • prometheus_labels — Tất cả các nhãn có sẵn cho một chuỗi

Trỏ các công cụ này đến một datasource/cluster khác với mặc định bằng cách đặt LAST9_DATASOURCE.

Logs

  • get_logs — Truy vấn log pipeline JSON đầy đủ (tổng hợp, bộ lọc, trích xuất trường)
  • get_service_logs — Các dòng log thô cho một dịch vụ, có thể lọc theo mức độ nghiêm trọng và nội dung thân
  • get_log_attributes — Danh mục toàn cục các thuộc tính trong lược đồ log cho một khoảng thời gian
  • get_log_attributes_for_pipeline — Các trường log thực sự hiện diện cho một pipeline đang tiến hành (khám phá theo phạm vi), mỗi trường có filter_field chính xác của nó
  • get_drop_rules — Quy tắc loại bỏ log từ Last9 Control Plane
  • add_drop_rule — Tạo quy tắc loại bỏ mới để cắt giảm khối lượng log tại nguồn

Traces

  • get_traces — Truy vấn trace pipeline JSON cho các tìm kiếm và tổng hợp rộng
  • get_service_traces — Trace theo trace ID chính xác hoặc tên dịch vụ. Sử dụng khi bạn có trace ID — nhanh hơn
  • get_trace_attributes — Danh mục toàn cục các thuộc tính trong lược đồ trace
  • get_trace_attributes_for_pipeline — Các thuộc tính thực sự hiện diện cho một pipeline đang tiến hành (khám phá theo phạm vi), mỗi thuộc tính có filter_field chính xác của nó
  • get_trace_attribute_values — Các giá trị riêng biệt cho một thuộc tính trace, tùy chọn giới hạn phạm vi cho một pipeline

Sự kiện thay đổi & Cảnh báo

  • get_change_events — Deployments, thay đổi cấu hình, rollbacks. Tương quan sự cố với những gì đã thay đổi
  • get_alert_config — Cấu hình quy tắc cảnh báo — có thể tìm kiếm theo tên, mức độ nghiêm trọng, loại, thẻ
  • get_alerts — Các cảnh báo hiện đang kích hoạt trong một khoảng thời gian
  • get_alert_rule_state — Trạng thái kích hoạt lịch sử (1/0) cho mỗi quy tắc cảnh báo trong một khoảng thời gian, được nhóm theo rule_id. Có thể lọc theo nhóm cảnh báo, tên quy tắc, bộ lọc nhãn và trạng thái.
  • get_notification_channels — Các kênh thông báo đã cấu hình (Slack, PagerDuty, email, v.v.)

Bảng điều khiển tùy chỉnh

  • list_dashboards — Tất cả các bảng điều khiển tùy chỉnh trong tổ chức của bạn: ID, tên và metadata
  • get_dashboard — Định nghĩa bảng điều khiển đầy đủ theo ID, bao gồm các bảng và truy vấn
  • create_dashboard — Tạo bảng điều khiển tùy chỉnh mới với các bảng, truy vấn và metadata
  • update_dashboard — Cập nhật bảng điều khiển hiện có theo ID (bảng điều khiển hệ thống chỉ đọc sẽ trả về lỗi)
  • delete_dashboard — Xóa bảng điều khiển tùy chỉnh theo ID

Phân giải tên mờ

  • did_you_mean — Khi trợ lý không chắc chắn về tên thực thể, công cụ này trả về các kết quả khớp gần nhất từ danh mục của bạn (dịch vụ, môi trường, máy chủ, cơ sở dữ liệu, triển khai/không gian tên K8s, công việc). Tối đa 3 gợi ý với điểm tương đồng. Máy chủ tự động gọi công cụ này trước hầu hết các công cụ khi tra cứu tên trả về trống.

Cách thức hoạt động

Liên kết sâu trên mọi phản hồi. Mỗi công cụ trả về một trường deep_link — một URL trực tiếp vào bảng điều khiển Last9 cho chính truy vấn và khoảng thời gian đó. Trợ lý có thể đưa cho bạn liên kết; bạn nhấp vào nó; bạn đến đó.

Bộ nhớ đệm thuộc tính trực tiếp. Khi khởi động, máy chủ tìm nạp tên thuộc tính log và trace thực tế từ dữ liệu của bạn và nhúng chúng vào mô tả công cụ. Điều này có nghĩa là trợ lý AI biết những trường nào tồn tại trong lược đồ của bạn, không chỉ là một danh sách chung chung. Bộ nhớ đệm làm mới mỗi 2 giờ.

Kết quả lớn được chia khối. get_logsget_traces xử lý các tập kết quả lớn thông qua việc chia khối thay vì cắt bớt. Giới hạn mặc định là 5000 mục cho log; có thể cấu hình qua LAST9_MAX_GET_LOGS_ENTRIES.


Phát triển

Chế độ HTTP, kiểm tra curl, xây dựng từ mã nguồn

Chạy ở chế độ HTTP

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

Máy chủ khởi động tại http://localhost:8080/mcp.

Kiểm tra với curl

Trình xử lý Streamable HTTP chạy ở chế độ không trạng thái, vì vậy bất kỳ yêu cầu nào cũng được phục vụ độc lập. Bắt tay initialize và tiêu đề Mcp-Session-Id là tùy chọn — các client gửi chúng vẫn hoạt động (tiêu đề được chấp nhận và bỏ qua), và client cũng có thể bỏ qua thẳng đến tools/list / tools/call. Mỗi công cụ là một truy vấn yêu cầu/phản hồi độc lập; máy chủ không gửi thông báo máy chủ→client, vì vậy GET /mcp (luồng SSE) trả về 405.

# 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
        }
      }
    }'

Xây dựng từ mã nguồn

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 dành cho phát triển cục bộ. Để sử dụng thực tế, điểm cuối HTTP được lưu trữ dễ dàng hơn.


Tham khảo công cụ

Tất cả tham số, tiêu chuẩn đầu vào thời gian và chi tiết

Đầu vào thời gian

  • Thời gian tuyệt đối (start_time_iso/end_time_iso, hoặc time_iso) được ưu tiên hơn lookback_minutes.
  • Đối với cửa sổ tương đối: sử dụng lookback_minutes.
  • Đối với cửa sổ tuyệt đối: sử dụng RFC3339/ISO8601 — 2026-02-09T15:04:05Z.
  • YYYY-MM-DD HH:MM:SS cũ được chấp nhận chỉ để tương thích.

get_exceptions

  • limit (số nguyên, tùy chọn): Ngoại lệ tối đa. Mặc định: 20.
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn): Khoảng thời gian tuyệt đối.
  • service_name (chuỗi, tùy chọn): Lọc theo dịch vụ.
  • span_name (chuỗi, tùy chọn): Lọc theo tên span.
  • env (chuỗi, tùy chọn): Lọc theo môi trường.

get_service_summary

  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn): Mặc định là prod.

get_service_environments

  • start_time_iso / end_time_iso (chuỗi, tùy chọn)

Tất cả các công cụ APM khác đều yêu cầu giá trị env. Sử dụng "" nếu giá trị này trả về rỗng.

get_service_performance_details

  • service_name (chuỗi, bắt buộc)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn): Mặc định là prod.

get_service_operations_summary

  • service_name (chuỗi, bắt buộc)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn): Mặc định là prod.

get_service_dependency_graph

  • service_name (chuỗi, tùy chọn)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn): Mặc định là prod.

get_databases

  • env (chuỗi, tùy chọn): Lọc theo môi trường. Mặc định: tất cả.
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)

get_database_slow_queries

  • db_system (chuỗi, tùy chọn): ví dụ: postgresql, mysql, mongodb, redis.
  • host (chuỗi, tùy chọn): Máy chủ cơ sở dữ liệu (net_peer_name).
  • service_name (chuỗi, tùy chọn): Tên dịch vụ gọi.
  • env (chuỗi, tùy chọn)
  • min_duration_ms (số thực, tùy chọn): Thời lượng truy vấn tối thiểu tính bằng ms.
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • limit (số nguyên, tùy chọn): Mặc định: 20.

get_database_queries

  • db_system (chuỗi, tùy chọn)
  • host (chuỗi, tùy chọn)
  • service_name (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • limit (số nguyên, tùy chọn): Mặc định: 20.

get_database_server_metrics

  • db_system (chuỗi, bắt buộc): ví dụ: postgresql, mysql, mongodb, redis, aerospike.
  • host (chuỗi, tùy chọn)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)

prometheus_range_query

  • query (chuỗi, bắt buộc): Truy vấn PromQL.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn): Mặc định là 60 phút trước.
  • lookback_minutes (số thực, tùy chọn): Mặc định: 60.

prometheus_instant_query

  • query (chuỗi, bắt buộc)
  • time_iso (chuỗi, tùy chọn): Mặc định là hiện tại.
  • lookback_minutes (số thực, tùy chọn)

prometheus_label_values

  • match_query (chuỗi, tùy chọn): Bộ lọc PromQL.
  • label (chuỗi, bắt buộc): Tên nhãn.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)

prometheus_labels

  • match_query (chuỗi, tùy chọn): Bộ lọc PromQL.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)

get_logs

  • logjson_query (mảng, bắt buộc): Truy vấn pipeline JSON.
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 5.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • limit (số nguyên, tùy chọn): Mặc định máy chủ: 5000.
  • index (chuỗi, tùy chọn): physical_index:<name> hoặc rehydration_index:<block_name>.

Đối với kho dịch vụ dựa trên log, truy vấn physical_index_service_count trước:

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

Sử dụng service_name làm ServiceName, env làm môi trường khi có mặt, và name làm tên chỉ mục vật lý. Nếu name="default", bỏ qua index; đối với chỉ mục vật lý không mặc định do người dùng chọn, truyền index: "physical_index:<name>". Nếu backend từ chối lọc chỉ mục vật lý tường minh, thử lại mà không có index và báo cáo rằng lọc chỉ mục vật lý tường minh không khả dụng cho backend đó.

get_service_logs

  • service_name (chuỗi, bắt buộc)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • limit (số nguyên, tùy chọn): Mặc định: 20.
  • env (chuỗi, tùy chọn)
  • severity_filters (mảng, tùy chọn): ví dụ: ["error", "warn"]. Logic OR.
  • body_filters (mảng, tùy chọn): ví dụ: ["timeout", "failed"]. Logic OR.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • index (chuỗi, tùy chọn)

Nhiều loại bộ lọc kết hợp với AND. Mỗi mảng sử dụng OR nội bộ. Sử dụng get_logs cho số lượng tổng hợp rộng trước; chỉ sử dụng get_service_logs sau khi thu hẹp vào một dịch vụ/môi trường/chỉ mục và một tập mẫu nhỏ.

get_log_attributes

  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 15.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • region (chuỗi, tùy chọn)
  • index (chuỗi, tùy chọn)

get_log_attributes_for_pipeline

  • pipeline (mảng, bắt buộc): Các giai đoạn lọc trước để giới hạn phạm vi khám phá, ví dụ: [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 15.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • region (chuỗi, tùy chọn)
  • index (chuỗi, tùy chọn)

get_drop_rules

Không có tham số.

add_drop_rule

  • name (chuỗi, bắt buộc)
  • filters (mảng, bắt buộc): Mỗi bộ lọc: key, value, operator (equals/not_equals), conjunction (and).

get_traces

Sử dụng cho tìm kiếm rộng và tổng hợp. Để tra cứu chính xác ID trace, sử dụng get_service_traces.

  • tracejson_query (mảng, bắt buộc)
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • limit (số nguyên, tùy chọn): Mặc định: 5000.

get_service_traces

Yêu cầu chính xác một trong trace_id hoặc service_name.

  • trace_id (chuỗi, tùy chọn): Khoảng thời gian tra cứu mặc định: 72 giờ.
  • service_name (chuỗi, tùy chọn): Khoảng thời gian tra cứu mặc định: 60 phút.
  • lookback_minutes (số nguyên, tùy chọn)
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • limit (số nguyên, tùy chọn): Mặc định: 10.
  • env (chuỗi, tùy chọn)

get_trace_attributes

  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 15.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • region (chuỗi, tùy chọn)

get_trace_attributes_for_pipeline

  • pipeline (mảng, bắt buộc): Các giai đoạn lọc trước để giới hạn phạm vi khám phá, ví dụ: [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 15.
  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • region (chuỗi, tùy chọn)

get_trace_attribute_values

  • tag_name (chuỗi, bắt buộc): Tên thuộc tính từ get_trace_attributes (ví dụ: resource_department hoặc attributes['http.method']).
  • pipeline (mảng, tùy chọn): Các giai đoạn lọc trước để giới hạn phạm vi giá trị; bỏ qua để lấy giá trị toàn cục.
  • region (chuỗi, tùy chọn)

get_change_events

  • start_time_iso / end_time_iso (chuỗi, tùy chọn)
  • lookback_minutes (số nguyên, tùy chọn): Mặc định: 60.
  • service_name (chuỗi, tùy chọn)
  • env (chuỗi, tùy chọn)
  • event_name (chuỗi, tùy chọn): Gọi mà không có tham số này trước để lấy available_event_names.

get_alert_config

  • search_term (chuỗi, tùy chọn): Tìm kiếm văn bản tự do trên tên, nhóm, nguồn dữ liệu, thẻ.
  • rule_name (chuỗi, tùy chọn)
  • severity (chuỗi, tùy chọn)
  • rule_type (chuỗi, tùy chọn): static hoặc anomaly.
  • alert_group_name / alert_group_type / data_source_name (chuỗi, tùy chọn)
  • tags (mảng, tùy chọn): Tất cả phải khớp (logic AND).

get_alerts

  • time_iso (chuỗi, tùy chọn): Thời gian đánh giá theo RFC3339.
  • window (số nguyên, tùy chọn): Khoảng thời gian tra cứu tính bằng giây. Mặc định: 900. Phạm vi: 60–86400.
  • lookback_minutes (số nguyên, tùy chọn): Phạm vi: 1–1440.

get_alert_rule_state

  • start_time (số nguyên, bắt buộc): Điểm bắt đầu phạm vi Unix epoch (bao gồm).
  • end_time (số nguyên, bắt buộc): Điểm kết thúc phạm vi Unix epoch (bao gồm).
  • step (số nguyên, bắt buộc): Độ phân giải tính bằng giây giữa các mẫu. Số lượng mẫu ((end_time - start_time) / step + 1) được giới hạn ở 100.
  • alert_group_id (chuỗi, tùy chọn): Lọc theo ID nhóm cảnh báo.
  • rule_name (chuỗi, tùy chọn): Bộ lọc regex trên tên quy tắc.
  • alert_group_name (chuỗi, tùy chọn): Bộ lọc regex trên tên nhóm cảnh báo.
  • label_filters (chuỗi, tùy chọn): Các bộ lọc nhãn key=value phân tách bằng dấu phẩy.
  • state (chuỗi, tùy chọn): Lọc theo trạng thái (ví dụ: firing).

Trả về một bản đồ JSON của rule_id -> [{timestamp, is_firing}]. Một dấu thời gian mà tại đó một quy tắc vắng mặt trong phản hồi upstream được báo cáo là is_firing=0 — điều này có nghĩa là "không được quan sát thấy đang kích hoạt", không phải là trạng thái bình thường đã xác nhận.

get_notification_channels

Không có tham số. Trả về tất cả các kênh thông báo đã cấu hình (Slack, PagerDuty, email, webhooks, v.v.).

did_you_mean

  • query (chuỗi, bắt buộc): Tên cần tìm kiếm — một phần, sai chính tả hoặc viết tắt.
  • type (chuỗi, tùy chọn): Giới hạn loại thực thể: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Trả về tối đa 3 kết quả khớp gần nhất với điểm tương đồng. Sử dụng công cụ này trước bất kỳ lệnh gọi công cụ nào mà tên thực thể không chắc chắn. Nếu lệnh gọi trước đó trả về kết quả rỗng, hãy thử công cụ này trước khi thử lại.

list_dashboards

Không có tham số. Trả về tất cả các bảng điều khiển tùy chỉnh trong tổ chức dưới dạng mảng JSON với id, name và siêu dữ liệu.

get_dashboard

  • id (chuỗi, bắt buộc): UUID bảng điều khiển.
  • region (chuỗi, tùy chọn): Khu vực để điền truy vấn bảng điều khiển. Mặc định là khu vực nguồn dữ liệu đã cấu hình.

create_dashboard

  • dashboard (đối tượng, bắt buộc): Định nghĩa bảng điều khiển với namepanels[]. Mỗi bảng yêu cầu name, version, layout (x, y, w, h), visualization.typequeries[].
  • metadata (đối tượng, tùy chọn): Siêu dữ liệu bảng điều khiển — các trường _category_type (ví dụ: {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (chuỗi, bắt buộc): UUID bảng điều khiển cần cập nhật.
  • dashboard (đối tượng, bắt buộc): Nội dung bảng điều khiển thay thế đầy đủ (cùng hình dạng như tạo mới).
  • metadata (đối tượng, tùy chọn): Siêu dữ liệu thay thế. Bảng điều khiển hệ thống chỉ đọc sẽ trả về lỗi 403.

delete_dashboard

  • id (chuỗi, bắt buộc): UUID bảng điều khiển cần xóa. Không thể xóa bảng điều khiển hệ thống chỉ đọc.

Kiểm thử

Xem TESTING.md để biết hướng dẫn và thiết lập kiểm thử tích hợp.


MseeP.ai Security Assessment Badge