Apiserver is the main interactive entry point into the hub. Browser sessions, API clients, and exporter control-plane requests reach the hub through this service, so it is responsible for authentication, authorization, request handling, and serving the UI.Most user workflows combine metadata with telemetry. Apiserver reads and writes metadata in PostgreSQL, such as users, roles, dashboards, alerts, environments, and integration configuration. When a user opens a telemetry view or an API client asks for observability data, Apiserver queries ClickHouse and returns the results in the shape the UI or API expects.Longer-running work is handed to Temporal instead of being kept inside a request handler. This lets Apiserver start workflow-backed features without making user requests wait for every background step to finish.
Apiserver is stateless and is designed to run as multiple replicas behind the ingress path. It can be scaled horizontally as UI and API traffic grows. It does not own durable state locally; PostgreSQL, ClickHouse, and Temporal are the services that determine whether most API workflows can complete successfully.Operators should treat Apiserver health as a signal for the control plane and UI path. If Apiserver is healthy but user queries are slow, the next places to inspect are usually ClickHouse query performance, PostgreSQL metadata access, or Temporal workflow health depending on the affected feature.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Metoro Documentation","colors":{"primary":"#3793FF","light":"#2DD881","dark":"#151F32"},"logo":{"light":"https://mintcdn.com/metoro/ZLKLeijcjMYiIwum/images/MetoroWords.png?fit=max\u0026auto=format\u0026n=ZLKLeijcjMYiIwum\u0026q=85\u0026s=0363fb20ab5603f1d78a6238f0ed9fe2","dark":"https://mintcdn.com/metoro/ZLKLeijcjMYiIwum/images/MetoroWords.png?fit=max\u0026auto=format\u0026n=ZLKLeijcjMYiIwum\u0026q=85\u0026s=0363fb20ab5603f1d78a6238f0ed9fe2"},"favicon":"https://mintcdn.com/metoro/iqFtfx-__JRaa9yb/images/Metoro.svg?fit=max\u0026auto=format\u0026n=iqFtfx-__JRaa9yb\u0026q=85\u0026s=4e4e6f152e6b2757440100c4851edf4c","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://metoro.io","label":"Back to landing page"}],"primary":{"type":"button","label":"Metoro Webapp","href":"https://us-east.metoro.io"}},"footer":{"socials":{"github":"https://github.com/metoro-io","slack":"https://join.slack.com/t/metorocommunity/shared_invite/zt-2makpjl5j-F0WcpGnPcdc8anbNGcewqw"}},"seo":{"metatags":{"canonical":"https://metoro.io/docs"}},"integrations":{"intercom":{"appId":"uhk91085"},"posthog":{"apiKey":"phc_ufzNQeTpSGgTBZJToi5riFhQR6DfUQwsiVXtFQbcrL2","apiHost":"https://e.us-east.metoro.io","sessionRecording":false}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://join.slack.com/t/metorocommunity/shared_invite/zt-2makpjl5j-F0WcpGnPcdc8anbNGcewqw"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"metoro","hasAudioNarration":false,"actualSubdomain":"metoro","customDomains":["metoro.io"],"gitSource":{"type":"github","owner":"metoro-io","repo":"metoro-observability","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad792af13cbd31e30200c1b","collectionId":"aa0e6352-04c2-49ff-8bf5-81c0bd88d1cd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad792af13cbd31e30200c1b"},"feedback":{"issues":true,"edits":true,"thumbs":true},"entitlements":{},"buildId":"6ad792af13cbd31e30200c1b","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Documentation","count":178},{"language":"default","tag":"On-Premises","count":87},{"language":"default","tag":"10.x","count":42},{"language":"default","tag":"11.x","count":39},{"language":"default","tag":"Operations","count":35},{"language":"default","tag":"Architecture","count":26},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"Components","count":20},{"language":"default","tag":"Metoro Exporter","count":12},{"language":"default","tag":"Metoro Hub","count":12}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":""}],"page":{"pagePath":"on-premises/10.x/architecture/metoro-hub/components/apiserver","slug":"/on-premises/10.x/architecture/metoro-hub/components/apiserver","pageMetadata":{"title":"Apiserver","description":"The UI and API service for Metoro Hub","href":"/on-premises/10.x/architecture/metoro-hub/components/apiserver"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The UI and API service for Metoro Hub\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Heading,Mermaid}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Apiserver serves the Metoro UI and public API. Users, automation, and exporter control-plane calls interact with the hub through this service.`}),`\n`,_jsx(Heading,{level:`2`,id:`talks-to`,children:`Talks To`}),`\n`,_jsx(Mermaid,{chart:`graph LR\n U[Users] --> API[Apiserver]\n A[Automation] --> API\n E[Metoro Exporter] -->|Control plane API| API\n\n API --> PG[(PostgreSQL)]\n API --> CH[(ClickHouse)]\n API --> T[Temporal]`}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-fits`,children:`How It Fits`}),`\n`,_jsx(_components.p,{children:`Apiserver is the main interactive entry point into the hub. Browser sessions, API clients, and exporter control-plane requests reach the hub through this service, so it is responsible for authentication, authorization, request handling, and serving the UI.`}),`\n`,_jsx(_components.p,{children:`Most user workflows combine metadata with telemetry. Apiserver reads and writes metadata in PostgreSQL, such as users, roles, dashboards, alerts, environments, and integration configuration. When a user opens a telemetry view or an API client asks for observability data, Apiserver queries ClickHouse and returns the results in the shape the UI or API expects.`}),`\n`,_jsx(_components.p,{children:`Longer-running work is handed to Temporal instead of being kept inside a request handler. This lets Apiserver start workflow-backed features without making user requests wait for every background step to finish.`}),`\n`,_jsx(Heading,{level:`2`,id:`operational-notes`,children:`Operational Notes`}),`\n`,_jsx(_components.p,{children:`Apiserver is stateless and is designed to run as multiple replicas behind the ingress path. It can be scaled horizontally as UI and API traffic grows. It does not own durable state locally; PostgreSQL, ClickHouse, and Temporal are the services that determine whether most API workflows can complete successfully.`}),`\n`,_jsx(_components.p,{children:`Operators should treat Apiserver health as a signal for the control plane and UI path. If Apiserver is healthy but user queries are slow, the next places to inspect are usually ClickHouse query performance, PostgreSQL metadata access, or Temporal workflow health depending on the affected feature.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Apiserver","description":"The UI and API service for Metoro Hub","href":"/on-premises/10.x/architecture/metoro-hub/components/apiserver"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Talks To","slug":"talks-to","depth":2,"children":[]},{"title":"How It Fits","slug":"how-it-fits","depth":2,"children":[]},{"title":"Operational Notes","slug":"operational-notes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"metoro","siteName":"Metoro Documentation","title":"Apiserver - Metoro Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-09T20:18:09.406Z","originalFileLocation":"on-premises/10.x/architecture/metoro-hub/components/apiserver.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"The UI and API service for Metoro Hub\">\u003cmeta data-mint-head name=\"application-name\" content=\"Metoro Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Apiserver - Metoro Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"The UI and API service for Metoro Hub\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Metoro Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://metoro.mintlify.app/_mintlify/api/og/v2?division=Components\u0026amp;title=Apiserver\u0026amp;description=The+UI+and+API+service+for+Metoro+Hub\u0026amp;theme=a738a002206c8b04e7d5ef63\u0026amp;signature=e0e8233042ac81fa0eeb6fb8b0da1af0280e0c37fb00de1b0175a050974dc70e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Apiserver - Metoro Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The UI and API service for Metoro Hub\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://metoro.mintlify.app/_mintlify/api/og/v2?division=Components\u0026amp;title=Apiserver\u0026amp;description=The+UI+and+API+service+for+Metoro+Hub\u0026amp;theme=a738a002206c8b04e7d5ef63\u0026amp;signature=e0e8233042ac81fa0eeb6fb8b0da1af0280e0c37fb00de1b0175a050974dc70e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/metoro/UOuaDpDX7TYzdSQ1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Metoro Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3793FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://metoro.io/#organization\",\"name\":\"Metoro Documentation\",\"url\":\"https://metoro.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/metoro/ZLKLeijcjMYiIwum/images/MetoroWords.png?fit=max\u0026auto=format\u0026n=ZLKLeijcjMYiIwum\u0026q=85\u0026s=0363fb20ab5603f1d78a6238f0ed9fe2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://metoro.io/docs#website\",\"name\":\"Metoro Documentation\",\"url\":\"https://metoro.io/docs\",\"publisher\":{\"@id\":\"https://metoro.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver#webpage\",\"url\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver\",\"name\":\"Apiserver\",\"description\":\"The UI and API service for Metoro Hub\",\"dateModified\":\"2026-06-09T20:18:09.406Z\",\"isPartOf\":{\"@id\":\"https://metoro.io/docs#website\"},\"breadcrumb\":{\"@id\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"On-Premises\",\"item\":\"https://metoro.io/docs/on-premises/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"10.x\",\"item\":\"https://metoro.io/docs/on-premises/10.x/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Architecture\",\"item\":\"https://metoro.io/docs/on-premises/10.x/architecture\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Metoro Hub\",\"item\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/overview\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Apiserver\",\"item\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver#article\",\"headline\":\"Apiserver\",\"name\":\"Apiserver\",\"description\":\"The UI and API service for Metoro Hub\",\"url\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver\",\"mainEntityOfPage\":{\"@id\":\"https://metoro.io/docs/on-premises/10.x/architecture/metoro-hub/components/apiserver#webpage\"},\"dateModified\":\"2026-06-09T20:18:09.406Z\",\"publisher\":{\"@id\":\"https://metoro.io/#organization\"},\"isPartOf\":{\"@id\":\"https://metoro.io/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Metoro Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Metoro Documentation","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://join.slack.com/t/metorocommunity/shared_invite/zt-2makpjl5j-F0WcpGnPcdc8anbNGcewqw"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/getting-started/introduction"},{"title":"Getting Started","href":"/getting-started/getting-started"},{"title":"System Requirements","href":"/getting-started/requirements"},{"title":"Metoro Architecture","mode":"wide","href":"/getting-started/architecture"},{"title":"Upgrading Metoro","href":"/getting-started/upgrading-metoro"}]},{"group":"AI SRE","pages":[{"title":"Overview","href":"/ai-sre/overview"},{"title":"Issues","href":"/ai-sre/issues"},{"title":"Autonomous Issue Detection \u0026 RCA","href":"/ai-sre/anomaly-detection"},{"title":"Autonomous Deployment Monitoring \u0026 Verification","href":"/ai-sre/deployment-verification"},{"title":"AI Alert Investigations","href":"/ai-sre/alert-investigations"},{"title":"AI Runbook Following","href":"/ai-sre/runbooks"},{"title":"Assisted Debugging","href":"/ai-sre/assisted-debugging"},{"title":"Notification Settings","href":"/ai-sre/notifications"},{"title":"Code Fixes","href":"/ai-sre/github-integration"},{"title":"GitHub drafts in chat","href":"/ai-sre/github-drafts"},{"title":"AWS Bedrock Access Keys","href":"/ai-sre/aws-bedrock-setup"}]},{"group":"Concepts","pages":[{"title":"Services","href":"/concepts/overview"},{"title":"Alert and Dashboard Tags","href":"/concepts/resource-tags"},{"title":"Incremental Cache","href":"/concepts/incremental-cache"}]},{"group":"Ingestion Settings","pages":[{"title":"Ingestion Settings","href":"/ingestion-settings/overview"},{"title":"Log Filters","href":"/ingestion-settings/log-filters"},{"title":"Trace Filters","href":"/ingestion-settings/trace-filters"},{"title":"Trace Redaction","href":"/ingestion-settings/trace-redaction"},{"title":"Pod Annotations","href":"/ingestion-settings/pod-annotations"},{"title":"CRD Managed Ingestion Rules","href":"/ingestion-settings/crd-managed-ingestion-rules"}]},{"group":"Traces","pages":[{"title":"Traces Overview","href":"/traces/overview"},{"title":"Traces Cheat Sheet","mode":"wide","href":"/traces/cheat-sheet"},{"title":"Traces OpenTelemetry Integration","href":"/traces/opentelemetry"},{"title":"Service Map","href":"/traces/service-map"},{"title":"Common Questions","href":"/traces/common-questions"}]},{"group":"Logs","pages":[{"title":"Logs Overview","href":"/logs/overview"},{"title":"Structured Logs","href":"/logs/structured-logs"},{"title":"Logs OpenTelemetry Integration","href":"/logs/opentelemetry"},{"title":null,"href":"/logs/vector"},{"title":"Log Transformations","href":"/logs/log_transformations"},{"title":"Custom Log Columns","href":"/logs/custom_columns"},{"title":"Saved Searches","href":"/logs/saved_searches"},{"title":"Export Logs","href":"/logs/logs_export"}]},{"group":"Metrics","pages":[{"title":"Metrics Overview","href":"/metrics/overview"},{"title":"Default Metrics","href":"/metrics/generated-metrics"},{"title":"Custom Metrics OpenTelemetry Integration","href":"/metrics/custom-metrics"},{"title":"Scrape Metrics with ServiceMonitors","href":"/metrics/servicemonitors"},{"title":"Metric Units","href":"/metrics/units"},{"title":"MetoroQL","href":"/metrics/metoroql"},{"title":"PromQL","href":"/metrics/promql"},{"title":"Prometheus Integration","href":"/metrics/prometheus"},{"title":"Query Progress \u0026 Stats","href":"/metrics/query-progress"}]},{"group":"Profiling","pages":[{"title":"Profiling Overview","href":"/profiling/overview"}]},{"group":"Kubernetes Resources","pages":[{"title":"Kubernetes Resources","href":"/kubernetes-resources/kubernetes-resources"},{"title":"Resource Viewer","href":"/kubernetes-resources/resource-viewer"},{"title":"Kubernetes Events","href":"/kubernetes-resources/kubernetes-events"}]},{"group":"Dashboards","pages":[{"title":"Dashboards Overview","href":"/dashboards/overview"},{"title":"Creating and Editing Dashboards","href":"/dashboards/creating-editing"},{"title":"Import Grafana Dashboards","href":"/dashboards/import-grafana"},{"title":"Public Dashboard Access","href":"/dashboards/public-access"},{"title":"Dashboard Templates","href":"/dashboards/templates"},{"title":"Manage Dashboards with Kubernetes","href":"/dashboards/configmap-managed"},{"title":"Dashboard Widgets","href":"/dashboards/widgets"},{"title":"Dashboard Variables","href":"/dashboards/variables"}]},{"group":"Infrastructure","pages":[{"title":"Infrastructure View","href":"/infrastructure/overview"}]},{"group":"Advisor","pages":[{"title":"Advisor Overview","href":"/advisor/overview"},{"title":"Right-Sizing Workflow","href":"/advisor/right-sizing"},{"title":"OOM Detection","href":"/advisor/oom-detection"},{"title":"CPU Throttling Detection","href":"/advisor/cpu-throttling"}]},{"group":"Alerts \u0026 Monitoring","pages":[{"title":"Alerts Overview","href":"/alerts-monitoring/alerts-overview"},{"title":"Creating/Updating an Alert","href":"/alerts-monitoring/create_alert"},{"title":"Alert Destinations","href":"/alerts-monitoring/alert_destinations"},{"title":"Alert Examples","href":"/alerts-monitoring/example_alerts"}]},{"group":"Integrations","pages":[{"title":null,"href":"/integrations/overview"},{"title":"Metoro MCP Server Setup","href":"/integrations/metoro-mcp-server"},{"title":"Event Ingestion","href":"/integrations/event-ingestion"},{"title":"KEDA Autoscaling","href":"/integrations/keda"},{"title":"Slack Integration","href":"/integrations/slack"},{"title":"PagerDuty Integration","href":"/integrations/pagerduty"},{"title":"Webhook Integration","href":"/integrations/webhooks"},{"title":"Rootly Integration","href":"/integrations/rootly"},{"title":"GitHub Integration","href":"/integrations/github"}]},{"group":"Uptime Monitoring","pages":[{"title":"Uptime Overview","href":"/uptime-monitoring/overview"},{"title":"HTTP Endpoint Monitoring","href":"/uptime-monitoring/http-endpoint-monitoring"},{"title":"TCP Port Monitoring","href":"/uptime-monitoring/tcp-port-monitoring"},{"title":"Uptime Monitoring Logs","href":"/uptime-monitoring/viewing-results"},{"title":"Uptime Monitor Metrics","href":"/uptime-monitoring/metrics"},{"title":"Status Pages","href":"/uptime-monitoring/status-pages"}]},{"group":"User Management","pages":[{"title":"Access Control (RBAC)","href":"/user-management/rbac"},{"title":"Kubernetes RBAC Resources","href":"/user-management/kubernetes-crds"},{"title":"Resource Types","href":"/user-management/resource-types"},{"title":"Authentication, SSO \u0026 SAML","href":"/user-management/authentication"},{"title":"API Keys","href":"/user-management/api-keys"}]},{"group":"On-Premises","pages":[{"title":"Overview","href":"/on-premises/overview"},{"group":"11.x","pages":[{"title":"Overview","href":"/on-premises/11.x/overview"},{"group":"Upgrades","pages":[{"title":"Upgrading from 10.x","href":"/on-premises/11.x/upgrades/upgrading-from-10-x"}]},{"group":"Architecture","pages":[{"title":"Overview","href":"/on-premises/11.x/architecture"},{"group":"Metoro Hub","pages":[{"title":"Overview","href":"/on-premises/11.x/architecture/metoro-hub/overview"},{"group":"Components","pages":[{"title":"Apiserver","href":"/on-premises/11.x/architecture/metoro-hub/components/apiserver"},{"title":"Ingester","href":"/on-premises/11.x/architecture/metoro-hub/components/ingester"},{"title":"ClickHouse","href":"/on-premises/11.x/architecture/metoro-hub/components/clickhouse"},{"title":"PostgreSQL","href":"/on-premises/11.x/architecture/metoro-hub/components/postgresql"},{"title":"Temporal","href":"/on-premises/11.x/architecture/metoro-hub/components/temporal"}]}]},{"group":"Metoro Exporter","pages":[{"title":"Overview","href":"/on-premises/11.x/architecture/metoro-exporter/overview"},{"group":"Components","pages":[{"title":"Metoro Exporter","href":"/on-premises/11.x/architecture/metoro-exporter/components/metoro-exporter"},{"title":"Node Agent","href":"/on-premises/11.x/architecture/metoro-exporter/components/node-agent"},{"title":"OpenTelemetry Collector","href":"/on-premises/11.x/architecture/metoro-exporter/components/opentelemetry-collector"},{"title":"Target Allocator","href":"/on-premises/11.x/architecture/metoro-exporter/components/target-allocator"},{"title":"Redis","href":"/on-premises/11.x/architecture/metoro-exporter/components/redis"}]}]}]},{"group":"Installation","pages":[{"title":"Installation Planning","href":"/on-premises/11.x/installation/planning"},{"title":"Install Hub","href":"/on-premises/11.x/installation/install-hub"},{"title":"Connect Monitored Clusters","href":"/on-premises/11.x/installation/connect-monitored-clusters"},{"title":"Enable Metoro AI","href":"/on-premises/11.x/installation/metoro-ai"},{"group":"OIDC Setup","pages":[{"title":"OIDC Setup","href":"/on-premises/11.x/installation/oidc"},{"title":"Keycloak OIDC Setup","href":"/on-premises/11.x/installation/oidc-keycloak"}]}]},{"group":"Operations","pages":[{"group":"Metoro Hub Services","pages":[{"title":"Apiserver Operations","href":"/on-premises/11.x/operations/apiserver"},{"title":"Ingester Operations","href":"/on-premises/11.x/operations/ingester"}]},{"group":"Temporal","pages":[{"title":"Temporal Frontend Operations","href":"/on-premises/11.x/operations/temporal/frontend"},{"title":"Temporal History Operations","href":"/on-premises/11.x/operations/temporal/history"},{"title":"Temporal Matching Operations","href":"/on-premises/11.x/operations/temporal/matching"},{"title":"Temporal Worker Operations","href":"/on-premises/11.x/operations/temporal/worker"},{"title":"Temporal Web Operations","href":"/on-premises/11.x/operations/temporal/web"}]},{"group":"ClickHouse","pages":[{"title":"Sizing","href":"/on-premises/11.x/operations/clickhouse/sizing"},{"title":"Change ClickHouse Resource Usage Whilst Running","href":"/on-premises/11.x/operations/clickhouse/resource-sizing"},{"title":"Object Storage Cold Tier","href":"/on-premises/11.x/operations/clickhouse/object-storage"},{"title":"Upscale Hot PVC","href":"/on-premises/11.x/operations/clickhouse/upscale-hot-pvc"},{"title":"Scale Replicas","href":"/on-premises/11.x/operations/clickhouse/scale-replicas"},{"title":"Taking Pods Offline","href":"/on-premises/11.x/operations/clickhouse/taking-pods-offline"}]},{"group":"PostgreSQL","pages":[{"title":"Sizing","href":"/on-premises/11.x/operations/postgresql/sizing"},{"title":"Change PostgreSQL Resource Usage Whilst Running","href":"/on-premises/11.x/operations/postgresql/resource-sizing"},{"title":"Upscale PVC","href":"/on-premises/11.x/operations/postgresql/upscale-pvc"},{"title":"Scale Instances","href":"/on-premises/11.x/operations/postgresql/scale-instances"},{"title":"Taking Pods Offline","href":"/on-premises/11.x/operations/postgresql/taking-pods-offline"}]}]}]},{"group":"10.x","pages":[{"title":"Overview","href":"/on-premises/10.x/overview"},{"group":"Upgrades","pages":[{"title":"Upgrade 10.0.1 to 10.0.2","href":"/on-premises/10.x/upgrades/10-0-1-to-10-0-2"},{"title":"Upgrade 10.0.2 to 10.1.0","href":"/on-premises/10.x/upgrades/10-0-2-to-10-1-0"},{"title":"Upgrade 10.1.0 to 10.2.0","href":"/on-premises/10.x/upgrades/10-1-0-to-10-2-0"},{"title":"Upgrade 10.2.0 to 10.3.0","href":"/on-premises/10.x/upgrades/10-2-0-to-10-3-0"},{"title":"Upgrade 10.3.0 to 10.4.0","href":"/on-premises/10.x/upgrades/10-3-0-to-10-4-0"}]},{"group":"Architecture","pages":[{"title":"Overview","href":"/on-premises/10.x/architecture"},{"group":"Metoro Hub","pages":[{"title":"Overview","description":"Metoro Hub components","href":"/on-premises/10.x/architecture/metoro-hub/overview"},{"group":"Components","pages":[{"title":"Apiserver","href":"/on-premises/10.x/architecture/metoro-hub/components/apiserver"},{"title":"Ingester","description":"The telemetry ingestion service for Metoro Hub","href":"/on-premises/10.x/architecture/metoro-hub/components/ingester"},{"title":"ClickHouse","href":"/on-premises/10.x/architecture/metoro-hub/components/clickhouse"},{"title":"PostgreSQL","href":"/on-premises/10.x/architecture/metoro-hub/components/postgresql"},{"title":"Temporal","href":"/on-premises/10.x/architecture/metoro-hub/components/temporal"}]}]},{"group":"Metoro Exporter","pages":[{"title":"Overview","href":"/on-premises/10.x/architecture/metoro-exporter/overview"},{"group":"Components","pages":[{"title":"Metoro Exporter","href":"/on-premises/10.x/architecture/metoro-exporter/components/metoro-exporter"},{"title":"Node Agent","href":"/on-premises/10.x/architecture/metoro-exporter/components/node-agent"},{"title":"OpenTelemetry Collector","href":"/on-premises/10.x/architecture/metoro-exporter/components/opentelemetry-collector"},{"title":"Target Allocator","href":"/on-premises/10.x/architecture/metoro-exporter/components/target-allocator"},{"title":"Redis","href":"/on-premises/10.x/architecture/metoro-exporter/components/redis"}]}]}]},{"group":"Installation","pages":[{"title":"Installation Planning","href":"/on-premises/10.x/installation/planning"},{"title":"Install Hub","href":"/on-premises/10.x/installation/install-hub"},{"title":"Connect Monitored Clusters","href":"/on-premises/10.x/installation/connect-monitored-clusters"},{"title":"Enable Metoro AI","href":"/on-premises/10.x/installation/metoro-ai"},{"group":"OIDC Setup","pages":[{"title":"OIDC Setup","href":"/on-premises/10.x/installation/oidc"},{"title":"Keycloak OIDC Setup","href":"/on-premises/10.x/installation/oidc-keycloak"}]}]},{"group":"Operations","pages":[{"group":"Metoro Hub Services","pages":[{"title":"Apiserver Operations","href":"/on-premises/10.x/operations/apiserver"},{"title":"Ingester Operations","href":"/on-premises/10.x/operations/ingester"}]},{"group":"Temporal","pages":[{"title":"Temporal Frontend Operations","href":"/on-premises/10.x/operations/temporal/frontend"},{"title":"Temporal History Operations","href":"/on-premises/10.x/operations/temporal/history"},{"title":"Temporal Matching Operations","href":"/on-premises/10.x/operations/temporal/matching"},{"title":"Temporal Worker Operations","href":"/on-premises/10.x/operations/temporal/worker"},{"title":"Temporal Web Operations","href":"/on-premises/10.x/operations/temporal/web"}]},{"group":"ClickHouse","pages":[{"title":"Sizing","href":"/on-premises/10.x/operations/clickhouse/sizing"},{"title":"Change ClickHouse Resource Usage Whilst Running","href":"/on-premises/10.x/operations/clickhouse/resource-sizing"},{"title":"Upscale Hot PVC","href":"/on-premises/10.x/operations/clickhouse/upscale-hot-pvc"},{"title":"Scale Replicas","href":"/on-premises/10.x/operations/clickhouse/scale-replicas"},{"title":"Taking Pods Offline","href":"/on-premises/10.x/operations/clickhouse/taking-pods-offline"}]},{"group":"PostgreSQL","pages":[{"title":"Sizing","href":"/on-premises/10.x/operations/postgresql/sizing"},{"title":"Change PostgreSQL Resource Usage Whilst Running","href":"/on-premises/10.x/operations/postgresql/resource-sizing"},{"title":"Upscale PVC","href":"/on-premises/10.x/operations/postgresql/upscale-pvc"},{"title":"Scale Instances","href":"/on-premises/10.x/operations/postgresql/scale-instances"},{"title":"Taking Pods Offline","href":"/on-premises/10.x/operations/postgresql/taking-pods-offline"}]}]}]},{"group":"9.x","pages":[{"title":"Overview","href":"/on-premises/9.x/overview"},{"title":"Pre-Installation Checklist","href":"/on-premises/9.x/pre-installation-checklist"},{"title":"Configuration","href":"/on-premises/9.x/configuration"},{"title":"Installation","href":"/on-premises/9.x/installation"},{"title":"Migration","href":"/on-premises/9.x/migration"}]}]},{"group":"Administration","pages":[{"title":"Billing","href":"/administration/billing-overview"},{"title":"Stripe","href":"/administration/billing-stripe"},{"title":"AWS Marketplace","href":"/administration/billing-aws-marketplace"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/logs/post-querylogs"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"basePath":"","title":"Apiserver - Metoro Documentation","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":[],"chunks":[]}