Last9

आधिकारिक

अपने स्थानीय वातावरण में रीयल-टाइम प्रोडक्शन संदर्भ—लॉग, मीट्रिक्स और ट्रेस—को सहजता से लाएं ताकि कोड को तेजी से ऑटो-फिक्स किया जा सके।

Last9 MCP के साथ आप क्या कर सकते हैं?

अपने सहायक से Last9 के लाइव लॉग, ट्रेस और मेट्रिक्स का उपयोग करके प्रोडक्शन इंसिडेंट की जांच करवाएं।

  • सेवा स्वास्थ्य रैंक करें — अपने फ्लीट में अनुरोध संख्या, थ्रूपुट और 4xx/5xx त्रुटियां देखने के लिए get_service_summary का उपयोग करें।
  • धीमे डेटाबेस क्वेरी खोजें — वास्तविक सबसे धीमी निष्पादन को ट्रेस आईडी के साथ खींचने के लिए get_database_slow_queries का उपयोग करें।
  • सेवा लॉग खींचें — गंभीरता और बॉडी सामग्री द्वारा फ़िल्टर की गई कच्ची लॉग लाइनें प्राप्त करने के लिए get_service_logs का उपयोग करें।
  • एकल अनुरोध ट्रेस करें — सटीक ट्रेस आईडी के लिए पैरेंट/चाइल्ड वॉटरफॉल देखने के लिए get_trace_waterfall का उपयोग करें।
  • अलर्ट स्थिति जांचें — समय सीमा में प्रति अलर्ट नियम फायरिंग इतिहास देखने के लिए get_alert_rule_state का उपयोग करें।
  • डैशबोर्ड प्रबंधित करें — पैनल और क्वेरी के साथ कस्टम डैशबोर्ड बनाने के लिए create_dashboard का उपयोग करें।

दस्तावेज़

Last9 MCP Server

last9 mcp demo

आपका AI एजेंट नहीं जानता कि प्रोडक्शन में क्या खराब है। यह इसे ठीक करता है।

Last9 MCP Server Claude, Cursor, Windsurf और किसी भी अन्य MCP-सक्षम AI सहायक को सीधे आपके प्रोडक्शन ऑब्ज़र्वेबिलिटी डेटा — लॉग्स, मेट्रिक्स, ट्रेसेस, एक्सेप्शन्स, डेटाबेस क्वेरीज़, अलर्ट्स और डिप्लॉयमेंट्स से जोड़ता है। एजेंट अनुमान लगाना बंद कर देता है और वास्तविक सिग्नल पढ़ना शुरू कर देता है।


30 सेकंड में शुरू करें (होस्टेड)

इंस्टॉल करने के लिए कोई बाइनरी नहीं। प्रबंधित करने के लिए कोई टोकन नहीं। एक URL, ब्राउज़र में OAuth, हो गया।

अपने Last9 URL में अपना org slug खोजें: app.last9.io/<org_slug>/...

Claude Code

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

/mcp टाइप करें, last9 चुनें, प्रमाणित करें। बस इतना ही।

Cursor

सेटिंग्स > MCP > नया MCP सर्वर जोड़ें:

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

Connect पर क्लिक करें, OAuth पूरा करें।

VS Code

v1.99+ आवश्यक। कमांड पैलेट खोलें → MCP: Add Server, URL पेस्ट करें, प्रमाणित करें।

या सीधे settings.json में:

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

Windsurf

सेटिंग्स > Cascade > MCP मार्केटप्लेस खोलें > गियर आइकन (mcp_config.json):

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

Claude Web/Desktop

सेटिंग्स > Connectors > कस्टम कनेक्टर जोड़ें। इसे last9 नाम दें, URL पेस्ट करें, प्रमाणित करें।

आपके Claude संगठन के लिए एडमिन एक्सेस आवश्यक है।


सेल्फ-होस्टेड (STDIO)

इसका उपयोग तब करें जब आपका MCP क्लाइंट HTTP ट्रांसपोर्ट का समर्थन नहीं करता है, या जब आपको सर्वर को स्थानीय रूप से चलाने की आवश्यकता हो।

इंस्टॉल करें

Homebrew:

brew install last9/tap/last9-mcp

NPM:

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

बाइनरी रिलीज़ (Windows / मैनुअल):

GitHub Releases से डाउनलोड करें:

प्लेटफ़ॉर्मआर्काइव
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

रिफ्रेश टोकन प्राप्त करें

केवल एडमिन ही टोकन बना सकते हैं।

  1. API Access पर जाएं
  2. Write अनुमतियों के साथ Generate Token पर क्लिक करें
  3. इसे कॉपी करें

क्लाइंट कॉन्फ़िगरेशन

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

इसे कहाँ पेस्ट करें:

क्लाइंटस्थान
Claude Web/Desktopसेटिंग्स > Developer > Edit Config (claude_desktop_config.json)
Cursorसेटिंग्स > Cursor Settings > MCP > नया ग्लोबल MCP सर्वर जोड़ें
Windsurfसेटिंग्स > Cascade > MCP मार्केटप्लेस > गियर आइकन (mcp_config.json)
VS Codesettings.json में { "mcp": { "servers": { ... } } } से लपेटें — विवरण
VS Code STDIO कॉन्फ़िग
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

NPM के लिए: "command": "npx" का उपयोग करें और "args": ["-y", "@last9/mcp-server@latest"] जोड़ें।

Windows

GitHub Releases से डाउनलोड करने के बाद, निकालें और पूर्ण पथ पर इंगित करें:

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

Windows पर NPM मार्ग आसान है — कोई पथ प्रबंधन नहीं।

पर्यावरण चर

चरडिफ़ॉल्टविवरण
LAST9_REFRESH_TOKEN(आवश्यक)API Access से रिफ्रेश टोकन
LAST9_DATASOURCEorg डिफ़ॉल्टडेटासोर्स/क्लस्टर का नाम — तब उपयोगी जब आपके पास कई Levitate क्लस्टर हों
LAST9_API_HOSTapp.last9.ioAPI होस्ट को ओवरराइड करें
LAST9_TOOLSETSसभी टूलकॉमा-सेपरेटेड टूलसेट एक्सपोज़ करने के लिए (logs, traces, metrics, alerts, dashboards, investigate, all)। उपनाम: LAST9_MCP_TOOLSETS
LAST9_MAX_GET_LOGS_ENTRIES5000चंक किए गए get_logs अनुरोधों के लिए अधिकतम प्रविष्टियाँ
LAST9_DEBUG_CHUNKINGfalseget_logs, get_service_logs, get_traces के लिए चंक-प्लानिंग विवरण लॉग करने हेतु true सेट करें
LAST9_DISABLE_TELEMETRYtrueआंतरिक OTel ट्रेसिंग सक्षम करने के लिए false सेट करें
OTEL_SDK_DISABLEDमानक OTel env var। LAST9_DISABLE_TELEMETRY को ओवरराइड करता है
OTEL_EXPORTER_OTLP_ENDPOINTOTLP कलेक्टर एंडपॉइंट (केवल जब टेलीमेट्री सक्षम हो)
OTEL_EXPORTER_OTLP_HEADERSOTLP प्रमाणीकरण हेडर (केवल जब टेलीमेट्री सक्षम हो)

यह क्या कर सकता है

सेवा स्वास्थ्य

  • get_service_summary — रैंक्ड fleet (service, env) पंक्तियाँ: अंतराल request_count, throughput_rpm, HTTP 4xx/5xx गणनाएँ, और gRPC त्रुटि गणनाएँ
  • get_service_environments — आपकी सेवाओं के लिए उपलब्ध वातावरण। इसे पहले चलाएं — अन्य APM टूल को यहाँ से env की आवश्यकता होती है
  • get_service_performance_details — पूर्ण विवरण: throughput, त्रुटि दर, p50/p90/p95/avg/max, apdex, उपलब्धता
  • get_service_operations_summary — HTTP एंडपॉइंट्स, DB कॉल्स, मैसेजिंग, HTTP क्लाइंट्स द्वारा समूहीकृत ऑपरेशन
  • get_service_dependency_graph — अपस्ट्रीम/डाउनस्ट्रीम/इंफ्रा के लिए throughput, विलंबता और त्रुटि दरों के साथ निर्भरता मानचित्र
  • get_apm_service_deviations — वर्तमान विंडो की तुलना समान अवधि के बेसलाइन से करें: गिरावट/सुधार, Apdex समाधान, और टर्मिनल परिणाम (fleet या एकल सेवा)
  • get_exceptions — सेवा और स्पैन फ़िल्टर के साथ सर्वर-साइड एक्सेप्शन

डेटाबेस ऑब्ज़र्वेबिलिटी

चार टूल जो सीधे आपके डेटाबेस प्रदर्शन पर केंद्रित हैं, OpenTelemetry ट्रेस स्पैन से व्युत्पन्न। यदि आप पहले से OTel उपयोग कर रहे हैं तो कोई अतिरिक्त इंस्ट्रुमेंटेशन आवश्यक नहीं है।

  • get_databases — अपने सभी इंफ्रास्ट्रक्चर में सभी डेटाबेस खोजें: DB प्रकार, होस्ट, throughput (क्वेरी/मिनट), p95 विलंबता, त्रुटि दर, आश्रित सेवाओं की संख्या
  • get_database_slow_queries — वास्तविक सबसे धीमी क्वेरी निष्पादन, अवधि के अनुसार क्रमित, पूर्ण ट्रेसेस में जाने के लिए ट्रेस आईडी के साथ
  • get_database_queries — क्वेरी पैटर्न और समुच्चय: क्वेरी कितनी बार चलती है, औसत/p95 अवधि, त्रुटि दर
  • get_database_server_metrics — DB होस्ट से सर्वर-साइड मेट्रिक्स (CPU, कनेक्शन, बफ़र हिट दरें — आपके DB सिस्टम पर निर्भर करता है)

PostgreSQL, MySQL, MongoDB, Redis, Aerospike, और db_system विशेषता वाली किसी भी अन्य चीज़ का समर्थन करता है जिसे OTel ट्रेस करता है।

Prometheus / PromQL

  • prometheus_range_query — किसी भी मेट्रिक पर PromQL रेंज क्वेरीज़
  • prometheus_instant_query — तात्कालिक क्वेरीज़; avg_over_time, sum_over_time जैसे रोलअप फ़ंक्शन का उपयोग करें
  • prometheus_label_values — दिए गए सीरीज़ के लिए लेबल मान
  • prometheus_labels — सीरीज़ के लिए उपलब्ध सभी लेबल

इन्हें LAST9_DATASOURCE सेट करके डिफ़ॉल्ट से भिन्न डेटासोर्स/क्लस्टर पर इंगित करें।

लॉग्स

  • get_logs — पूर्ण JSON पाइपलाइन लॉग क्वेरीज़ (एग्रीगेशन, फ़िल्टर, फ़ील्ड निष्कर्षण)
  • get_service_logs — सेवा के लिए कच्ची लॉग पंक्तियाँ, गंभीरता और बॉडी सामग्री द्वारा फ़िल्टर करने योग्य
  • get_log_attributes — समय विंडो के लिए लॉग स्कीमा में विशेषताओं की वैश्विक सूची
  • get_log_attributes_for_pipeline — चालू पाइपलाइन के लिए वास्तव में मौजूद लॉग फ़ील्ड (स्कोप्ड डिस्कवरी), प्रत्येक अपने सटीक filter_field के साथ
  • get_drop_rulesLast9 Control Plane से लॉग ड्रॉप नियम
  • add_drop_rule — स्रोत पर लॉग वॉल्यूम काटने के लिए नया ड्रॉप नियम बनाएं

ट्रेसेस

  • get_traces — व्यापक खोजों और एग्रीगेशन के लिए JSON पाइपलाइन ट्रेस क्वेरीज़
  • get_service_traces — सटीक ट्रेस ID या सेवा नाम द्वारा ट्रेसेस। ट्रेस ID होने पर इसका उपयोग करें — यह तेज़ है
  • get_trace_attributes — ट्रेस स्कीमा में विशेषताओं की वैश्विक सूची
  • get_trace_attributes_for_pipeline — चालू पाइपलाइन के लिए वास्तव में मौजूद विशेषताएँ (स्कोप्ड डिस्कवरी), प्रत्येक अपने सटीक filter_field के साथ
  • get_trace_attribute_values — ट्रेस विशेषता के लिए विशिष्ट मान, वैकल्पिक रूप से पाइपलाइन तक सीमित
  • get_trace_attribute_deviations — दो सीमित स्पैन समूहों (धीमा बनाम तेज़, त्रुटि बनाम गैर-त्रुटि, या दो समय विंडो) के बीच भिन्न विशेषता मानों को रैंक करता है। सहसंबंध, कारण नहीं
  • get_trace_waterfall — एक सटीक ट्रेस पैरेंट/चाइल्ड वॉटरफॉल के रूप में अंतराल-संघ स्व-समय, सबसे धीमे स्पैन और ग्राफ़ चेतावनियों के साथ

परिवर्तन ईवेंट और अलर्ट

  • get_change_events — डिप्लॉयमेंट, कॉन्फ़िग परिवर्तन, रोलबैक। घटनाओं को उससे सहसंबंधित करें जो बदला
  • get_alert_config — अलर्ट नियम कॉन्फ़िगरेशन — नाम, गंभीरता, प्रकार, टैग द्वारा खोजने योग्य
  • get_alerts — समय विंडो के भीतर वर्तमान में सक्रिय अलर्ट
  • get_alert_rule_state — समय सीमा में प्रति अलर्ट नियम ऐतिहासिक फायरिंग स्थिति (1/0), rule_id द्वारा समूहीकृत। अलर्ट समूह, नियम नाम, लेबल फ़िल्टर और स्थिति द्वारा फ़िल्टर करने योग्य।
  • get_notification_channels — कॉन्फ़िगर किए गए अधिसूचना चैनल (Slack, PagerDuty, ईमेल, आदि)

कस्टम डैशबोर्ड

  • list_dashboards — आपके org में सभी कस्टम डैशबोर्ड: IDs, नाम और मेटाडेटा
  • get_dashboard — ID द्वारा पूर्ण डैशबोर्ड परिभाषा, पैनल और क्वेरीज़ सहित
  • create_dashboard — पैनल, क्वेरीज़ और मेटाडेटा के साथ नया कस्टम डैशबोर्ड बनाएं
  • update_dashboard — ID द्वारा मौजूदा डैशबोर्ड अपडेट करें (रीड-ओनली सिस्टम डैशबोर्ड त्रुटि लौटाते हैं)
  • delete_dashboard — ID द्वारा कस्टम डैशबोर्ड हटाएं
  • list_dashboard_snapshots — डैशबोर्ड के लिए फ्रोज़न पॉइंट-इन-टाइम स्नैपशॉट (केवल मेटाडेटा)
  • get_dashboard_snapshot — RCA / साझा करने योग्य दृश्यों के लिए पैनल डेटा सहित पूर्ण फ्रोज़न स्नैपशॉट
  • delete_dashboard_snapshot — ID द्वारा फ्रोज़न स्नैपशॉट हटाएं

फ़ज़ी नाम समाधान

  • did_you_mean — जब एजेंट किसी इकाई नाम के बारे में सुनिश्चित नहीं होता है, तो यह आपके कैटलॉग से निकटतम मिलान लौटाता है (सेवाएँ, वातावरण, होस्ट, डेटाबेस, K8s डिप्लॉयमेंट्स/नेमस्पेसेस, जॉब्स)। समानता स्कोर के साथ 3 तक सुझाव। सर्वर नाम लुकअप खाली होने पर अधिकांश टूल से पहले स्वचालित रूप से इसे कॉल करता है।

यह कैसे काम करता है

हर प्रतिक्रिया पर डीप लिंक। प्रत्येक टूल एक deep_link फ़ील्ड लौटाता है — उस सटीक क्वेरी और समय सीमा के लिए Last9 डैशबोर्ड का सीधा URL। एजेंट आपको लिंक दे सकता है; आप उस पर क्लिक करते हैं; आप वहाँ पहुँच जाते हैं।

टूलसेट। डिफ़ॉल्ट रूप से सर्वर हर टूल को एक्सपोज़ करता है। ऑटोमेशन होस्ट जिन्हें केवल जाँच की आवश्यकता है (लॉग्स/ट्रेसेस/मेट्रिक्स) LAST9_TOOLSETS=investigate सेट कर सकते हैं (या --toolsets=investigate पास कर सकते हैं) ताकि tools/list क्लाइंट-साइड मास-डिसेबल के बिना छोटा रहे। नामित पैक: logs, traces, metrics, alerts, dashboards, investigate, all। अज्ञात नाम तेज़ी से विफल हो जाते हैं। metrics पैक अकेले नहीं शामिल करता है list_datasources या did_you_mean — जब आपको उन डिस्कवरी सहायकों की आवश्यकता हो तो investigate (या टूलसेट संयोजित) का उपयोग करें।

टूल संदर्भ संसाधन। लंबी logjson/tracejson/service-logs/metrics मैनुअल MCP संसाधन हैं (last9://reference/logjson, last9://reference/tracejson, last9://reference/service_logs, last9://reference/metrics), हमेशा-चालू टूल विवरण टेक्स्ट नहीं। महत्वपूर्ण क्वेरी नियम टूल विवरण पर बने रहते हैं ताकि जो एजेंट कभी resources/read नहीं कहते उन्हें भी सही निर्माण मार्गदर्शन मिले। get_log_attributes / get_log_attributes_for_pipeline (और ट्रेस समकक्ष) के साथ org-विशिष्ट फ़ील्ड खोजें — वे विवरणों में इंजेक्ट नहीं होते।

चंक किए गए बड़े परिणाम। get_logs और get_traces ट्रंकेटिंग के बजाय चंकिंग के माध्यम से बड़े परिणाम सेट संभालते हैं। लॉग्स के लिए डिफ़ॉल्ट सीमा 5000 प्रविष्टियाँ है; LAST9_MAX_GET_LOGS_ENTRIES के माध्यम से कॉन्फ़िगर करने योग्य।


विकास

HTTP मोड, curl परीक्षण, स्रोत से निर्माण

HTTP मोड में चलाएं

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

सर्वर http://localhost:8080/mcp पर शुरू होता है।

curl के साथ परीक्षण करें

स्ट्रीमेबल HTTP हैंडलर स्टेटलेस मोड में चलता है, इसलिए कोई भी अनुरोध स्वतंत्र रूप से परोसा जाता है। एक initialize हैंडशेक और एक Mcp-Session-Id हेडर वैकल्पिक हैं — इन्हें भेजने वाले क्लाइंट अभी भी काम करते हैं (हेडर स्वीकार किया जाता है और अनदेखा किया जाता है), और क्लाइंट सीधे tools/list / tools/call पर भी जा सकते हैं। हर टूल एक स्वतंत्र अनुरोध/प्रतिक्रिया क्वेरी है; सर्वर कोई सर्वर→क्लाइंट सूचनाएँ जारी नहीं करता, इसलिए GET /mcp (SSE स्ट्रीम) 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
        }
      }
    }'

स्रोत से बिल्ड करें

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 स्थानीय विकास के लिए है। वास्तविक उपयोग के लिए, होस्टेड HTTP एंडपॉइंट आसान है।


टूल संदर्भ

सभी पैरामीटर, समय इनपुट मानक, और विवरण

समय इनपुट

  • पूर्ण समय (start_time_iso/end_time_iso, या time_iso) lookback_minutes पर प्राथमिकता लेते हैं।
  • सापेक्ष विंडो के लिए: lookback_minutes का उपयोग करें।
  • पूर्ण विंडो के लिए: RFC3339/ISO8601 का उपयोग करें — 2026-02-09T15:04:05Z
  • लिगेसी YYYY-MM-DD HH:MM:SS केवल संगतता के लिए स्वीकार किया जाता है।

get_exceptions

  • limit (पूर्णांक, वैकल्पिक): अधिकतम अपवाद। डिफ़ॉल्ट: 20।
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक): पूर्ण समय सीमा।
  • service_name (स्ट्रिंग, वैकल्पिक): सेवा के अनुसार फ़िल्टर करें।
  • span_name (स्ट्रिंग, वैकल्पिक): span नाम के अनुसार फ़िल्टर करें।
  • env (स्ट्रिंग, वैकल्पिक): वातावरण के अनुसार फ़िल्टर करें।

get_service_summary

  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक): PromQL regex। डिफ़ॉल्ट .* है। सटीक मिलान के लिए एंकर चाहिए (जैसे ^prod$)।
  • sort_by (स्ट्रिंग, वैकल्पिक): request_count (डिफ़ॉल्ट), throughput_rpm, http_4xx_count, http_5xx_count, या grpc_error_count
  • limit (पूर्णांक, वैकल्पिक): अधिकतम रैंक की गई पंक्तियाँ। छोड़ें या 0 का मतलब 10; 100 से ऊपर के मान 100 पर क्लैम्प हो जाते हैं।

get_service_environments

  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)

अन्य सभी APM टूल में env मान आवश्यक होता है। यदि यह खाली लौटता है तो "" का उपयोग करें।

get_service_performance_details

  • service_name (स्ट्रिंग, आवश्यक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट prod है।

get_service_operations_summary

  • service_name (स्ट्रिंग, आवश्यक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट prod है।

get_service_dependency_graph

  • service_name (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट prod है।

get_apm_service_deviations

  • service_name (स्ट्रिंग, वैकल्पिक): फ्लीट स्कोप के लिए छोड़ें; एक सेवा और उसके ऑपरेशन सहसंबंधों के लिए प्रदान करें।
  • lookback_minutes (पूर्णांक, वैकल्पिक): वर्तमान विंडो। डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक): स्पष्ट वर्तमान विंडो।
  • baseline_start_time_iso / baseline_end_time_iso (स्ट्रिंग, वैकल्पिक): स्पष्ट बेसलाइन। डिफ़ॉल्ट तुरंत पिछली समान अवधि की विंडो है।
  • datasource (स्ट्रिंग, वैकल्पिक): तुलना को एक datasource तक सीमित करें।
  • env (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट prod है।
  • max_services / max_operations (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट 10, अधिकतम 10 प्रत्येक।

get_databases

  • env (स्ट्रिंग, वैकल्पिक): वातावरण के अनुसार फ़िल्टर करें। डिफ़ॉल्ट: सभी।
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)

get_database_slow_queries

  • db_system (स्ट्रिंग, वैकल्पिक): जैसे postgresql, mysql, mongodb, redis
  • host (स्ट्रिंग, वैकल्पिक): डेटाबेस होस्ट (net_peer_name)।
  • service_name (स्ट्रिंग, वैकल्पिक): कॉल करने वाले सेवा का नाम।
  • env (स्ट्रिंग, वैकल्पिक)
  • min_duration_ms (फ्लोट, वैकल्पिक): न्यूनतम क्वेरी अवधि ms में।
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 20।

get_database_queries

  • db_system (स्ट्रिंग, वैकल्पिक)
  • host (स्ट्रिंग, वैकल्पिक)
  • service_name (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 20।

get_database_server_metrics

  • db_system (स्ट्रिंग, आवश्यक): जैसे postgresql, mysql, mongodb, redis, aerospike
  • host (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)

prometheus_range_query

  • query (स्ट्रिंग, आवश्यक): PromQL क्वेरी।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट पिछले 60 मिनट।
  • lookback_minutes (फ्लोट, वैकल्पिक): डिफ़ॉल्ट: 60।

prometheus_instant_query

  • query (स्ट्रिंग, आवश्यक)
  • time_iso (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट अभी।
  • lookback_minutes (फ्लोट, वैकल्पिक)

prometheus_label_values

  • match_query (स्ट्रिंग, वैकल्पिक): PromQL फ़िल्टर।
  • label (स्ट्रिंग, आवश्यक): लेबल नाम।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)

prometheus_labels

  • match_query (स्ट्रिंग, वैकल्पिक): PromQL फ़िल्टर।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)

get_logs

  • logjson_query (ऐरे, आवश्यक): JSON पाइपलाइन क्वेरी।
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 5।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • limit (पूर्णांक, वैकल्पिक): सर्वर डिफ़ॉल्ट: 5000।
  • index (स्ट्रिंग, वैकल्पिक): physical_index:<name> या rehydration_index:<block_name>

लॉग-आधारित सेवा इन्वेंट्री के लिए, पहले physical_index_service_count क्वेरी करें:

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

service_name को ServiceName के रूप में, env को वातावरण के रूप में उपयोग करें जब मौजूद हो, और name को भौतिक इंडेक्स नाम के रूप में उपयोग करें। यदि name="default", तो index छोड़ दें; उपयोगकर्ता द्वारा चयनित गैर-डिफ़ॉल्ट भौतिक इंडेक्स के लिए, index: "physical_index:<name>" पास करें। यदि बैकएंड स्पष्ट भौतिक इंडेक्स फ़िल्टरिंग को अस्वीकार करता है, तो index के बिना पुनः प्रयास करें और रिपोर्ट करें कि उस बैकएंड के लिए स्पष्ट भौतिक इंडेक्स फ़िल्टरिंग उपलब्ध नहीं है।

get_service_logs

  • service_name (स्ट्रिंग, आवश्यक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 20।
  • env (स्ट्रिंग, वैकल्पिक)
  • severity_filters (ऐरे, वैकल्पिक): जैसे ["error", "warn"]। OR तर्क।
  • body_filters (ऐरे, वैकल्पिक): जैसे ["timeout", "failed"]। OR तर्क।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • index (स्ट्रिंग, वैकल्पिक)

एकाधिक फ़िल्टर प्रकार AND के साथ संयुक्त होते हैं। प्रत्येक ऐरे आंतरिक रूप से OR का उपयोग करता है। पहले व्यापक समग्र गणनाओं के लिए get_logs का उपयोग करें; किसी सेवा/env/इंडेक्स और छोटे नमूना सेट तक सीमित करने के बाद ही get_service_logs का उपयोग करें।

get_log_attributes

  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 15।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • region (स्ट्रिंग, वैकल्पिक)
  • index (स्ट्रिंग, वैकल्पिक)

get_log_attributes_for_pipeline

  • pipeline (ऐरे, आवश्यक): डिस्कवरी को स्कोप करने के लिए पिछले फ़िल्टर चरण, जैसे [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}]
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 15।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • region (स्ट्रिंग, वैकल्पिक)
  • index (स्ट्रिंग, वैकल्पिक)

get_drop_rules

कोई पैरामीटर नहीं। GET /otel_settings/drop?region=... के माध्यम से ड्रॉप नियम सूचीबद्ध करता है।

add_drop_rule

  • name (स्ट्रिंग, आवश्यक)
  • filters (ऐरे, आवश्यक): प्रत्येक फ़िल्टर: key, value, operator (equals/not_equals), conjunction (and)।
  • फ़िल्टर कुंजियों को attributes["key_name"] या resource.attributes["key_name"] का उपयोग करना चाहिए (Last9 API द्वारा आवश्यक)।
  • POST /otel_settings/drop?region=...&cluster_id=... के माध्यम से नियम बनाता है।

get_traces

व्यापक खोजों और एकत्रीकरण के लिए उपयोग करें। सटीक trace ID लुकअप के लिए, get_service_traces का उपयोग करें।

  • tracejson_query (ऐरे, आवश्यक)
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 5000।

get_service_traces

trace_id या service_name में से ठीक एक आवश्यक है।

  • trace_id (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट लुकबैक: 72 घंटे।
  • service_name (स्ट्रिंग, वैकल्पिक): डिफ़ॉल्ट लुकबैक: 60 मिनट।
  • lookback_minutes (पूर्णांक, वैकल्पिक)
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 10।
  • env (स्ट्रिंग, वैकल्पिक)

get_trace_attributes

  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 15।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • region (स्ट्रिंग, वैकल्पिक)

get_trace_attributes_for_pipeline

  • pipeline (ऐरे, आवश्यक): डिस्कवरी को स्कोप करने के लिए पिछले फ़िल्टर चरण, जैसे [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}]
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 15।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • region (स्ट्रिंग, वैकल्पिक)

get_trace_attribute_values

  • tag_name (स्ट्रिंग, आवश्यक): get_trace_attributes से विशेषता नाम (जैसे resource_department या attributes['http.method'])।
  • pipeline (ऐरे, वैकल्पिक): मानों को स्कोप करने के लिए पिछले फ़िल्टर चरण; वैश्विक मानों के लिए छोड़ दें।
  • region (स्ट्रिंग, वैकल्पिक)

get_trace_attribute_deviations

  • comparison_mode (स्ट्रिंग, आवश्यक): latency, errors, या time
  • service_name (स्ट्रिंग, आवश्यक)
  • environment (स्ट्रिंग, आवश्यक): सटीक deployment.environment मान।
  • operation (स्ट्रिंग, वैकल्पिक)
  • filters (ऐरे, वैकल्पिक): Trace JSON फ़िल्टर शर्तें।
  • candidate_attributes (ऐरे, वैकल्पिक): अधिकतम 8; सीमित डिस्कवरी के लिए छोड़ दें।
  • latency_threshold_ms (संख्या, वैकल्पिक): latency मोड के लिए आवश्यक; अन्य मोड के लिए अस्वीकृत।
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 15। अधिकतम: 15।
  • baseline_start_time_iso / baseline_end_time_iso (स्ट्रिंग, वैकल्पिक): time मोड के लिए आवश्यक; लक्ष्य विंडो के साथ गैर-अतिव्यापी और अवधि में समान।
  • minimum_cohort_size (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 100। न्यूनतम: 20।
  • minimum_value_support (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 20। न्यूनतम: 10।
  • limit (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 10। अधिकतम: 10।

साथी बैकएंड क्षमता सक्षम होना आवश्यक है।

get_trace_waterfall

  • trace_id (स्ट्रिंग, आवश्यक)
  • environment (स्ट्रिंग, वैकल्पिक)
  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 4320 (72 घंटे)।
  • selected_span_id (स्ट्रिंग, वैकल्पिक): केवल उस span के लिए विशेषताएँ, घटनाएँ और लिंक लौटाता है।
  • max_spans (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 500। अधिकतम: 1000।

एक investigation-evidence/v1 एनवलप लौटाता है; वॉटरफॉल data के अंतर्गत है।

get_change_events

  • start_time_iso / end_time_iso (स्ट्रिंग, वैकल्पिक)
  • lookback_minutes (पूर्णांक, वैकल्पिक): डिफ़ॉल्ट: 60।
  • service_name (स्ट्रिंग, वैकल्पिक)
  • env (स्ट्रिंग, वैकल्पिक)
  • event_name (स्ट्रिंग, वैकल्पिक): available_event_names प्राप्त करने के लिए पहले इसके बिना कॉल करें।

get_alert_config

  • search_term (string, वैकल्पिक): नाम, समूह, डेटा स्रोत, टैग में फ्री-टेक्स्ट खोज।
  • rule_name (string, वैकल्पिक)
  • severity (string, वैकल्पिक)
  • rule_type (string, वैकल्पिक): static या anomaly
  • alert_group_name / alert_group_type / data_source_name (string, वैकल्पिक)
  • tags (array, वैकल्पिक): सभी मेल खाने चाहिए (AND तर्क)।

get_alerts

  • time_iso (string, वैकल्पिक): RFC3339 में मूल्यांकन समय।
  • window (integer, वैकल्पिक): सेकंड में लुकबैक। डिफ़ॉल्ट: 900। सीमा: 60–86400।
  • lookback_minutes (integer, वैकल्पिक): सीमा: 1–1440।

get_alert_rule_state

  • start_time (integer, आवश्यक): सीमा की यूनिक्स एपॉक शुरुआत (समावेशी)।
  • end_time (integer, आवश्यक): सीमा की यूनिक्स एपॉक समाप्ति (समावेशी)।
  • step (integer, आवश्यक): नमूनों के बीच सेकंड में रिज़ॉल्यूशन। नमूनों की संख्या ((end_time - start_time) / step + 1) 100 पर सीमित है।
  • alert_group_id (string, वैकल्पिक): अलर्ट समूह ID द्वारा फ़िल्टर करें।
  • rule_name (string, वैकल्पिक): नियम नाम पर रेगेक्स फ़िल्टर।
  • alert_group_name (string, वैकल्पिक): अलर्ट समूह नाम पर रेगेक्स फ़िल्टर।
  • label_filters (string, वैकल्पिक): अल्पविराम से अलग किए गए key=value लेबल फ़िल्टर।
  • state (string, वैकल्पिक): स्थिति द्वारा फ़िल्टर करें (जैसे firing)।

यह rule_id -> [{timestamp, is_firing}] का JSON मैप लौटाता है। जिस समय कोई नियम अपस्ट्रीम प्रतिक्रिया में अनुपस्थित होता है, उसे is_firing=0 के रूप में रिपोर्ट किया जाता है — इसका अर्थ है "फायरिंग के रूप में नहीं देखा गया", पुष्टि किया गया सामान्य स्थिति नहीं।

get_notification_channels

कोई पैरामीटर नहीं। सभी कॉन्फ़िगर किए गए सूचना चैनल लौटाता है (Slack, PagerDuty, email, webhooks, आदि)।

did_you_mean

  • query (string, आवश्यक): खोजने के लिए नाम — आंशिक, गलत वर्तनी वाला, या संक्षिप्त।
  • type (string, वैकल्पिक): इकाई प्रकार तक सीमित करें: service, environment, host, database, k8s_deployment, k8s_namespace, job

समानता स्कोर के साथ अधिकतम 3 निकटतम मिलान लौटाता है। किसी भी टूल कॉल से पहले इसका उपयोग करें जहाँ इकाई नाम अनिश्चित हो। यदि पिछली कॉल ने खाली परिणाम लौटाए हैं, तो पुनः प्रयास करने से पहले इसे आज़माएँ।

list_dashboards

कोई पैरामीटर नहीं। संगठन में सभी कस्टम डैशबोर्ड को id, name, और मेटाडेटा के साथ JSON सरणी के रूप में लौटाता है।

get_dashboard

  • id (string, आवश्यक): डैशबोर्ड UUID।
  • region (string, वैकल्पिक): पैनल क्वेरी जनसंख्या के लिए क्षेत्र। डिफ़ॉल्ट रूप से कॉन्फ़िगर किए गए डेटासोर्स क्षेत्र।

create_dashboard

  • dashboard (object, आवश्यक): डैशबोर्ड परिभाषा name और panels[] के साथ। प्रत्येक पैनल को name, version, layout (x, y, w, h), visualization.type, और queries[] की आवश्यकता होती है।
  • metadata (object, वैकल्पिक): डैशबोर्ड मेटाडेटा — _category और _type फ़ील्ड (जैसे {"_category":"custom","_type":"metrics"})।

update_dashboard

  • id (string, आवश्यक): अद्यतन करने के लिए डैशबोर्ड UUID।
  • dashboard (object, आवश्यक): पूर्ण प्रतिस्थापन डैशबोर्ड बॉडी (create के समान आकार)।
  • metadata (object, वैकल्पिक): प्रतिस्थापन मेटाडेटा। केवल-पठनीय सिस्टम डैशबोर्ड 403 त्रुटि लौटाते हैं।

delete_dashboard

  • id (string, आवश्यक): हटाने के लिए डैशबोर्ड UUID। केवल-पठनीय सिस्टम डैशबोर्ड हटाए नहीं जा सकते।

list_dashboard_snapshots

  • dashboard_id (string, आवश्यक): डैशबोर्ड UUID जिसके स्नैपशॉट सूचीबद्ध करने हैं।

केवल मेटाडेटा लौटाता है (id, name, expires_at, आदि)। जमे हुए पैनल डेटा के लिए get_dashboard_snapshot का उपयोग करें।

get_dashboard_snapshot

  • id (string, आवश्यक): स्नैपशॉट UUID।

पूर्ण जमे हुए स्नैपशॉट लौटाता है जिसमें dashboard_definition, panel_data, time_range, और variables शामिल हैं।

delete_dashboard_snapshot

  • id (string, आवश्यक): हटाने के लिए स्नैपशॉट UUID।

परीक्षण

एकीकरण परीक्षण सेटअप और निर्देशों के लिए TESTING.md देखें।


MseeP.ai Security Assessment Badge