Stream Aptible activity events to your logging provider using a self-hosted forwarding container
Stream Activity events from Aptible to any Logstash-supported destination using Aptible’s activity-forwarder container. The forwarder uses Filebeat (HTTPJSON input) and Logstash to poll the Activity API and forward events to a configurable output.
Create a new Account and App on Aptible to host the forwarder. This App will have access to a long-term token with full visibility into your organization’s Activity, so only grant access to its Environment to roles and users for whom that level of access is appropriate.
Do not add a Log Drain to this Account yet. The forwarder starts in a preview mode that prints the initial backfill window (the last 30 days of activity by default) to stdout, which could be tens or hundreds of thousands of lines.
Attach a Persistent Disk to this App’s Service before proceeding. Without persistent storage, the forwarder’s cursor resets on every restart, causing it to re-send the last 30 days of activity to your destination.
From the Aptible Dashboard, create and attach a Persistent Disk to the Service running the forwarder:
Navigate to the Service and choose to create a Persistent Disk.
Specify a size in GB for the disk.
Specify a mount point inside the container (for example, /var/data).
Attaching the disk restarts the Service so the new container can mount the volume.
Verify that activity events are appearing in your destination. The initial backfill covers 30 days by default, and new completed activity typically appears within about two minutes.
After persistent storage is attached (Step 5), disable cursor cleanup so the forwarder resumes from its saved position after restarts instead of re-importing the backfill window:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aptible","colors":{"primary":"#4361FF","light":"#4361FF","dark":"#4361FF"},"logo":{"light":"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/light-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=116d34dbfb42c6d5af0b854f5a929001","dark":"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/dark-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=a1e42f8cf8df1654a38c67a42a6fd308","href":"https://www.aptible.com/"},"favicon":"https://mintcdn.com/aptible/znQKnZ_9oCdAaQ49/favicon.svg?fit=max\u0026auto=format\u0026n=znQKnZ_9oCdAaQ49\u0026q=85\u0026s=f462b06cd86ceae1537728240a8d53e8","background":{"decoration":"grid"},"navbar":{"links":[{"href":"https://app.aptible.com/support","label":"Support"}],"primary":{"type":"button","label":"Sign up","href":"https://app.aptible.com/signup"}},"footer":{"socials":{"twitter":"https://twitter.com/aptible?lang=en","linkedin":"https://www.linkedin.com/company/aptible","github":"https://github.com/aptible"},"links":[{"header":"Resources","items":[{"label":"Blog","href":"https://www.aptible.com/blog"},{"label":"Changelog","href":"https://www.aptible.com/changelog"},{"label":"Trust Center","href":"https://trust.aptible.com/"}]},{"header":"Support","items":[{"label":"Contact Us","href":"https://app.aptible.com/support"},{"label":"Status Page","href":"https://status.aptible.com/"}]}]},"search":{"prompt":"Search or ask AI..."},"seo":{"metatags":{"canonical":"https://www.aptible.com/docs"}},"integrations":{"ga4":{"measurementId":"G-W2CQG3K9LP"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Contact Support","icon":"headset","href":"https://app.aptible.com/support"},{"anchor":"Changelog","icon":"sparkles","href":"https://www.aptible.com/changelog"},{"anchor":"Trust Center","icon":"lock","href":"https://trust.aptible.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aptible","hasAudioNarration":false,"actualSubdomain":"aptible","customDomains":["www.aptible.com"],"gitSource":{"type":"github","owner":"aptible","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3f0e529c8303331bca64b","collectionId":"3a70b479-f77b-4b35-a029-03001ed8a712","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3f0e529c8303331bca64b"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3f0e529c8303331bca64b","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Documentation","count":245},{"language":"default","tag":"Platform","count":122},{"language":"default","tag":"Guides","count":117},{"language":"default","tag":"Reference","count":96},{"language":"default","tag":"Aptible CLI","count":92},{"language":"default","tag":"How to Guides","count":89},{"language":"default","tag":"All CLI Commands","count":89},{"language":"default","tag":"Apps","count":37},{"language":"default","tag":"App Guides","count":35},{"language":"default","tag":"Support \u0026 Troubleshooting","count":28}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"core-concepts/observability/activity/integrations/logging-provider","slug":"/core-concepts/observability/activity/integrations/logging-provider","pageMetadata":{"title":"Logging Provider","description":"Stream Aptible activity events to your logging provider using a self-hosted forwarding container","href":"/core-concepts/observability/activity/integrations/logging-provider"},"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: \"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\"\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={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Stream `,_jsx(_components.a,{href:`/core-concepts/observability/activity/overview`,children:`Activity`}),` events from Aptible to any Logstash-supported destination using Aptible’s `,_jsx(_components.code,{children:`activity-forwarder`}),` container. The forwarder uses Filebeat (HTTPJSON input) and Logstash to poll the Activity API and forward events to a configurable output.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`/core-concepts/security-compliance/access-permissions#activity-log-viewer`,children:`long-term activity access token`}),` (coming soon!)`]}),`\n`,_jsx(_components.li,{children:`A dedicated Aptible App to run the forwarder`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-destinations`,children:`Supported Destinations`}),`\n`,_jsxs(_components.p,{children:[`This guide includes configuration for `,_jsx(_components.strong,{children:`Sumo Logic`}),`. For other providers, contact `,_jsx(_components.a,{href:`https://app.aptible.com/support`,children:`Aptible Support`}),` for guidance.`]}),`\n`,_jsx(Heading,{level:`2`,id:`setup`,children:`Setup`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-an-app`,children:`Step 1: Create an App`}),`\n`,_jsx(_components.p,{children:`Create a new Account and App on Aptible to host the forwarder. This App will have access to a long-term token with full visibility into your organization’s Activity, so only grant access to its Environment to roles and users for whom that level of access is appropriate.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not add a Log Drain to this Account yet. The forwarder starts in a preview mode that prints the initial backfill window (the last 30 days of activity by default) to stdout, which could be tens or hundreds of thousands of lines.`})}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-deploy-the-forwarder`,children:`Step 2: Deploy the Forwarder`}),`\n`,_jsx(_components.p,{children:`Deploy the forwarder image with your activity token:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HANDLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`--docker-image`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` aptible/activity-forwarder`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"APTIBLE_ACTIVITY_ACCESS_TOKEN=long_term_token_placeholder\"`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-configure-service-settings`,children:`Step 3: Configure Service Settings`}),`\n`,_jsx(_components.p,{children:`Set the service to use a simple health check and a longer stop timeout to handle releases and restarts gracefully:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` services:settings`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HANDLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`cmd`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --simple-health-check`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --stop-timeout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 60`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-verify-the-connection`,children:`Step 4: Verify the Connection`}),`\n`,_jsx(_components.p,{children:`Stream the app’s logs and confirm that recent activities appear. Events should show up within about two minutes:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` logs`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HANDLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Connected to logs from log-tail-zyvwad`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`User Login by Alex Kubacki at 2026-03-18T20:20:26.312Z`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`App Configure by Alex Kubacki at 2026-03-18T20:20:32.823Z`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-5-attach-persistent-storage`,children:`Step 5: Attach Persistent Storage`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Attach a Persistent Disk to this App’s Service before proceeding. Without persistent storage, the forwarder’s cursor resets on every restart, causing it to re-send the last 30 days of activity to your destination.`})}),`\n`,_jsxs(_components.p,{children:[`From the Aptible Dashboard, create and attach a `,_jsx(_components.a,{href:`/core-concepts/apps/persistent-disks`,children:`Persistent Disk`}),` to the Service running the forwarder:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Navigate to the Service and choose to create a Persistent Disk.`}),`\n`,_jsx(_components.li,{children:`Specify a size in GB for the disk.`}),`\n`,_jsxs(_components.li,{children:[`Specify a mount point inside the container (for example, `,_jsx(_components.code,{children:`/var/data`}),`).`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Attaching the disk restarts the Service so the new container can mount the volume.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-6-configure-your-destination`,children:`Step 6: Configure Your Destination`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`OUTPUT_CONFIG`}),` to forward events to your provider. The value should be a complete Logstash `,_jsx(_components.code,{children:`output { ... }`}),` block.`]}),`\n`,_jsx(Heading,{level:`4`,id:`sumo-logic`,children:`Sumo Logic`}),`\n`,_jsx(_components.p,{children:`Set up a new HTTP source in Sumo Logic and copy the pre-signed URL. The default settings will work. Then configure the output:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` config:set`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HANDLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`OUTPUT_CONFIG='output {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` url => \"https://endpoint4.collection.sumologic.com/receiver/v1/http/YOUR_TOKEN\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http_method => \"post\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` format => \"json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` content_type => \"application/json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`step-7-confirm-events-are-arriving`,children:`Step 7: Confirm Events Are Arriving`}),`\n`,_jsx(_components.p,{children:`Verify that activity events are appearing in your destination. The initial backfill covers 30 days by default, and new completed activity typically appears within about two minutes.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-8-enable-cursor-persistence`,children:`Step 8: Enable Cursor Persistence`}),`\n`,_jsx(_components.p,{children:`After persistent storage is attached (Step 5), disable cursor cleanup so the forwarder resumes from its saved position after restarts instead of re-importing the backfill window:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` config:set`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HANDLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`CLEAN_CURSOR=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`]})})})]})}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":"Logging Provider","description":"Stream Aptible activity events to your logging provider using a self-hosted forwarding container","href":"/core-concepts/observability/activity/integrations/logging-provider"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Supported Destinations","slug":"supported-destinations","depth":2,"children":[]},{"title":"Setup","slug":"setup","depth":2,"children":[{"title":"Step 1: Create an App","slug":"step-1-create-an-app","depth":3,"children":[]},{"title":"Step 2: Deploy the Forwarder","slug":"step-2-deploy-the-forwarder","depth":3,"children":[]},{"title":"Step 3: Configure Service Settings","slug":"step-3-configure-service-settings","depth":3,"children":[]},{"title":"Step 4: Verify the Connection","slug":"step-4-verify-the-connection","depth":3,"children":[]},{"title":"Step 5: Attach Persistent Storage","slug":"step-5-attach-persistent-storage","depth":3,"children":[]},{"title":"Step 6: Configure Your Destination","slug":"step-6-configure-your-destination","depth":3,"children":[]},{"title":"Sumo Logic","slug":"sumo-logic","depth":4,"children":[]},{"title":"Step 7: Confirm Events Are Arriving","slug":"step-7-confirm-events-are-arriving","depth":3,"children":[]},{"title":"Step 8: Enable Cursor Persistence","slug":"step-8-enable-cursor-persistence","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"aptible","siteName":"Aptible","title":"Logging Provider - Aptible","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-17T15:19:33.588Z","originalFileLocation":"core-concepts/observability/activity/integrations/logging-provider.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=\"system\"}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=\"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\">\u003cmeta data-mint-head name=\"application-name\" content=\"Aptible\">\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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_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/aptible/Sr55mlb_VATXGmMy/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Logging Provider - Aptible\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aptible\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aptible.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Logging+Provider\u0026amp;description=Stream+Aptible+activity+events+to+your+logging+provider+using+a+self-hosted+forwarding+container\u0026amp;theme=c333d236eff7eda320fab2dd\u0026amp;signature=b935c8d05f289084016c52f2854642d8519e77dde4168e3a39aebeeba902ae9e\">\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=\"Logging Provider - Aptible\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aptible.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Logging+Provider\u0026amp;description=Stream+Aptible+activity+events+to+your+logging+provider+using+a+self-hosted+forwarding+container\u0026amp;theme=c333d236eff7eda320fab2dd\u0026amp;signature=b935c8d05f289084016c52f2854642d8519e77dde4168e3a39aebeeba902ae9e\">\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/aptible/Sr55mlb_VATXGmMy/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aptible\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4361FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/core-concepts/observability/activity/integrations/logging-provider.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.aptible.com/#organization\",\"name\":\"Aptible\",\"url\":\"https://www.aptible.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/light-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=116d34dbfb42c6d5af0b854f5a929001\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.aptible.com/docs#website\",\"name\":\"Aptible\",\"url\":\"https://www.aptible.com/docs\",\"publisher\":{\"@id\":\"https://www.aptible.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider#webpage\",\"url\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider\",\"name\":\"Logging Provider\",\"description\":\"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\",\"dateModified\":\"2026-09-17T15:19:33.588Z\",\"isPartOf\":{\"@id\":\"https://www.aptible.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Platform\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Observability\",\"item\":\"https://www.aptible.com/docs/core-concepts/observability/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Activity\",\"item\":\"https://www.aptible.com/docs/core-concepts/observability/activity/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Integrations\",\"item\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Logging Provider\",\"item\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider#article\",\"headline\":\"Logging Provider\",\"name\":\"Logging Provider\",\"description\":\"Stream Aptible activity events to your logging provider using a self-hosted forwarding container\",\"url\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider\",\"mainEntityOfPage\":{\"@id\":\"https://www.aptible.com/docs/core-concepts/observability/activity/integrations/logging-provider#webpage\"},\"dateModified\":\"2026-09-17T15:19:33.588Z\",\"publisher\":{\"@id\":\"https://www.aptible.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.aptible.com/docs#website\"}}]}\u003c/script>","siteName":"Aptible","nav":{"global":{"anchors":[{"anchor":"Contact Support","icon":"headset","href":"https://app.aptible.com/support"},{"anchor":"Changelog","icon":"sparkles","href":"https://www.aptible.com/changelog"},{"anchor":"Trust Center","icon":"lock","href":"https://trust.aptible.com/"}]},"tabs":[{"tab":"Documentation","groups":[{"group":" ","pages":[{"title":"Aptible Documentation","sidebarTitle":"Home","mode":"wide","href":"/getting-started/home"}]},{"group":"Getting Started","pages":[{"title":"Introduction to Aptible","sidebarTitle":"Introduction","href":"/getting-started/introduction"},{"group":"Deploy your first App","pages":[{"title":"Deploy your first app","sidebarTitle":"View all templates","hidden":true,"href":"/getting-started/deploy-starter-template/overview"},{"title":"Deploy your custom code","href":"/getting-started/deploy-custom-code"},{"title":"Deploy a Ruby on Rails Template","sidebarTitle":"Deploy a Ruby Template","href":"/getting-started/deploy-starter-template/ruby-on-rails"},{"title":"Deploy a Node.js + Express Template","sidebarTitle":"Deploy a Node.js Template","href":"/getting-started/deploy-starter-template/node-js"},{"title":"Deploy a Python + Django Template","sidebarTitle":"Deploy a Django Template","href":"/getting-started/deploy-starter-template/python-django"},{"title":"Deploy a PHP + Laravel Template","sidebarTitle":"Deploy a Laravel Template","href":"/getting-started/deploy-starter-template/php-laravel"},{"title":"Deploy a Python + Flask Demo App","sidebarTitle":"Deploy a Python Demo App","href":"/getting-started/deploy-starter-template/python-flask"}]},{"group":"Secure your LLM usage","pages":[{"title":"Secure Claude Code with the LLM Gateway","sidebarTitle":"Claude Code","href":"/getting-started/secure-llm-usage/claude-code"},{"title":"Secure OpenAI-compatible SDKs with the LLM Gateway","sidebarTitle":"OpenAI-compatible SDKs","href":"/getting-started/secure-llm-usage/openai-sdk"},{"title":"Secure Anthropic-compatible SDKs with the LLM Gateway","sidebarTitle":"Anthropic-compatible SDKs","href":"/getting-started/secure-llm-usage/anthropic-sdk"}]}]},{"group":"Platform","pages":[{"group":"Apps","pages":[{"title":"Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/overview"},{"group":"Deploying Apps","pages":[{"title":"Deploying Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/overview"},{"group":"Image","pages":[{"title":"Image","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/overview"},{"group":"Deploying with Git","pages":[{"title":"Deploying with Git","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/deploying-with-git/overview"},{"title":"Docker Build","href":"/core-concepts/apps/deploying-apps/image/deploying-with-git/build"}]},{"group":"Deploying with Docker Image","pages":[{"title":"Deploying with Docker Image","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/deploying-with-docker-image/overview"},{"title":"Procfiles and `.aptible.yml`","href":"/core-concepts/apps/deploying-apps/image/deploying-with-docker-image/procfile-aptible-yml-direct-docker-deploy"}]}]},{"title":"Services","href":"/core-concepts/apps/deploying-apps/services"},{"title":"Configuration","href":"/core-concepts/apps/deploying-apps/configuration"},{"group":"Releases","pages":[{"title":"Releases","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/releases/overview"},{"title":".aptible.yml","href":"/core-concepts/apps/deploying-apps/releases/aptible-yml"}]},{"title":"Rollbacks","sidebarTitle":"Rollbacks","href":"/core-concepts/apps/deploying-apps/releases/rollbacks"},{"group":"Deployment Sources","pages":[{"title":"Deployment Sources","sidebarTitle":"Overview","href":"/core-concepts/observability/sources"},{"title":"Linking Apps to Sources","href":"/core-concepts/apps/deploying-apps/linking-apps-to-sources"}]}]},{"group":"Connecting to Apps","pages":[{"title":"Connecting to Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/overview"},{"group":"App Endpoints","pages":[{"title":"App Endpoints","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/overview"},{"group":"HTTP(S) Endpoints","pages":[{"title":"HTTP(S) Endpoints","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview"},{"title":"Health Checks","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/health-checks"},{"title":"HTTP Request Headers","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/http-request-headers"},{"title":"HTTPS Protocols","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/https-protocols"},{"title":"HTTPS Redirect","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/https-redirect"},{"title":"Maintenance Page","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/maintenance-page"},{"title":"Endpoint Logs","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/endpoint-logs"},{"title":"Shared Endpoints","sidebarTitle":"Shared Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/shared-endpoints"},{"title":"Header Authentication","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/header-authentication"}]},{"title":"gRPC Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/grpc-endpoints"},{"title":"TLS Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints"},{"title":"TCP Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tcp-endpoints"},{"title":"Default Domain","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/default-domain"},{"title":"Custom Domain","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/custom-domain"},{"title":"Custom Certificate","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/custom-certificate"},{"title":"Managed TLS","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls"},{"title":"IP Filtering","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/ip-filtering"}]},{"title":"Ephemeral SSH Sessions","href":"/core-concepts/apps/connecting-to-apps/ssh-sessions"},{"title":"Outbound IP Addresses","href":"/core-concepts/apps/connecting-to-apps/outbound-ips"}]},{"title":"Managing Apps","href":"/core-concepts/apps/managing-apps"},{"title":"Persistent Disks for Apps","sidebarTitle":"Persistent Disks","href":"/core-concepts/apps/persistent-disks"}]},{"group":"Managed Databases","pages":[{"title":"Managed Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/overview"},{"title":"Provisioning Databases","href":"/core-concepts/managed-databases/provisioning-databases"},{"group":"Connecting Databases","pages":[{"title":"Connecting to Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/connecting-databases/overview"},{"title":"Database Credentials","href":"/core-concepts/managed-databases/connecting-databases/database-credentials"},{"title":"Database Tunnels","href":"/core-concepts/managed-databases/connecting-databases/database-tunnels"},{"title":"Database Endpoints","href":"/core-concepts/managed-databases/connecting-databases/database-endpoints"}]},{"group":"Managing Databases","pages":[{"title":"Managing Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/managing-databases/overview"},{"title":"Database Scaling","href":"/core-concepts/scaling/database-scaling"},{"title":"Database Performance Tuning","href":"/core-concepts/managed-databases/managing-databases/database-tuning"},{"group":"Database Encryption","pages":[{"title":"Database Encryption","href":"/core-concepts/managed-databases/managing-databases/database-encryption/overview"},{"title":"Database Encryption at Rest","href":"/core-concepts/managed-databases/managing-databases/database-encryption/database-encryption"},{"title":"Application-Level Encryption","href":"/core-concepts/managed-databases/managing-databases/database-encryption/application-level-encryption"},{"title":"Database Encryption in Transit","href":"/core-concepts/managed-databases/managing-databases/database-encryption/database-encryption-in-transit"}]},{"title":"Database Backups","href":"/core-concepts/managed-databases/managing-databases/database-backups"},{"title":"Point-in-Time Recovery (PITR)","href":"/core-concepts/managed-databases/managing-databases/point-in-time-recovery"},{"title":"Database Replication and Clustering","href":"/core-concepts/managed-databases/managing-databases/replication-clustering"},{"title":"Database Upgrades","href":"/core-concepts/managed-databases/managing-databases/database-upgrade-methods"}]},{"group":"Supported Databases","pages":[{"title":"PostgreSQL","href":"/core-concepts/managed-databases/supported-databases/postgresql"},{"title":"Redis","href":"/core-concepts/managed-databases/supported-databases/redis"},{"title":"MySQL","href":"/core-concepts/managed-databases/supported-databases/mysql"},{"title":"RabbitMQ","href":"/core-concepts/managed-databases/supported-databases/rabbitmq"},{"title":"MongoDB","href":"/core-concepts/managed-databases/supported-databases/mongodb"},{"title":"Elasticsearch","href":"/core-concepts/managed-databases/supported-databases/elasticsearch"},{"title":"InfluxDB","href":"/core-concepts/managed-databases/supported-databases/influxdb"},{"title":"SFTP","href":"/core-concepts/managed-databases/supported-databases/sftp"},{"title":"CouchDB","href":"/core-concepts/managed-databases/supported-databases/couchdb"}]}]},{"group":"Architecture","pages":[{"title":"Architecture","sidebarTitle":"Overview","href":"/core-concepts/architecture/overview"},{"title":"Stacks","href":"/core-concepts/architecture/stacks"},{"title":"Environments","href":"/core-concepts/architecture/environments"},{"group":"Containers","pages":[{"title":"Containers","sidebarTitle":"Overview","href":"/core-concepts/architecture/containers/overview"},{"title":"Container Recovery","href":"/core-concepts/architecture/containers/container-recovery"}]},{"title":"Operations","href":"/core-concepts/architecture/operations"}]},{"group":"Scaling","pages":[{"title":"Scaling","sidebarTitle":"Overview","href":"/core-concepts/scaling/overview"},{"title":"App Scaling","href":"/core-concepts/scaling/app-scaling"},{"title":"Database Scaling","href":"/core-concepts/scaling/database-scaling"},{"title":"Container Profiles","href":"/core-concepts/scaling/container-profiles"},{"title":"CPU Allocation","href":"/core-concepts/scaling/cpu-isolation"},{"title":"Memory Management","href":"/core-concepts/scaling/memory-limits"},{"title":"Container Efficiency Recommendations","href":"/core-concepts/scaling/container-efficiency-recommendations"}]},{"group":"Observability","pages":[{"title":"Observability","sidebarTitle":"Overview","href":"/core-concepts/observability/overview"},{"group":"Activity","pages":[{"title":"Activity","sidebarTitle":"Overview","href":"/core-concepts/observability/activity/overview"},{"title":"Activity Details","href":"/core-concepts/observability/activity/activity-details"},{"title":"Navigating Activity in the UI","href":"/core-concepts/observability/activity/navigating-activity"},{"title":"Activity Reports","href":"/core-concepts/observability/activity/activity-reports"},{"group":"Integrations","pages":[{"title":"SIEM/Logging Integration","sidebarTitle":"Overview","href":"/core-concepts/observability/activity/integrations"},{"title":"Hosted Elasticsearch","description":"Stream Aptible activity events to hosted Elasticsearch","href":"/core-concepts/observability/activity/integrations/elastic-cloud"},{"title":"Logging Provider","href":"/core-concepts/observability/activity/integrations/logging-provider"}]}]},{"group":"Logs","pages":[{"title":"Logs","sidebarTitle":"Overview","description":"Learn about how to access and retain logs from your Aptible resources","href":"/core-concepts/observability/logs/overview"},{"group":"Log Drains","pages":[{"title":"Log Drains","sidebarTitle":"Overview","href":"/core-concepts/observability/logs/log-drains/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"Elasticsearch Log Drains","href":"/core-concepts/observability/logs/log-drains/elasticsearch-log-drains"},{"title":"HTTPS Log Drains","href":"/core-concepts/observability/logs/log-drains/https-log-drains"},{"title":"Syslog Log Drains","href":"/core-concepts/observability/logs/log-drains/syslog-log-drains"}]},{"title":"Log Archiving to S3","href":"/core-concepts/observability/logs/s3-log-archives"}]},{"group":"Metrics","pages":[{"title":"Metrics","sidebarTitle":"Overview","href":"/core-concepts/observability/metrics/overview"},{"group":"Metrics Drains","pages":[{"title":"Metrics Drains","sidebarTitle":"Overview","href":"/core-concepts/observability/metrics/metrics-drains/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"InfluxDB Metric Drain","href":"/core-concepts/observability/metrics/metrics-drains/influxdb-metric-drain"}]}]}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Security \u0026 Compliance - Overview","sidebarTitle":"Overview","href":"/core-concepts/security-compliance/overview"},{"group":"Compliance Frameworks","pages":[{"title":"HIPAA","href":"/core-concepts/security-compliance/compliance-frameworks/hipaa"},{"title":"HITRUST","href":"/core-concepts/security-compliance/compliance-frameworks/hitrust"},{"title":"PCI DSS","href":"/core-concepts/security-compliance/compliance-frameworks/pci"},{"title":"SOC 2","href":"/core-concepts/security-compliance/compliance-frameworks/soc2"},{"title":"PIPEDA","href":"/core-concepts/security-compliance/compliance-frameworks/pipeda"}]},{"group":"Authentication","pages":[{"title":"Password Authentication","href":"/core-concepts/security-compliance/authentication/password-authentication"},{"title":"SSH Keys","href":"/core-concepts/security-compliance/authentication/ssh-keys"},{"title":"Single Sign-On (SSO)","href":"/core-concepts/security-compliance/authentication/sso"},{"title":"Provisioning (SCIM)","href":"/core-concepts/security-compliance/authentication/scim"}]},{"title":"Roles \u0026 Permissions","href":"/core-concepts/security-compliance/access-permissions"},{"group":"Security Compliance Dashboard","pages":[{"title":"Security \u0026 Compliance Dashboard","sidebarTitle":"Overview","href":"/core-concepts/security-compliance/security-compliance-dashboard/overview"},{"title":"Resources in Scope","href":"/core-concepts/security-compliance/security-compliance-dashboard/resources-in-scope"},{"title":"Compliance Readiness Scores","href":"/core-concepts/security-compliance/security-compliance-dashboard/compliance-readiness-scores"},{"title":"Control Performance","href":"/core-concepts/security-compliance/security-compliance-dashboard/control-performance"},{"title":"Shareable Compliance Posture Report","href":"/core-concepts/security-compliance/security-compliance-dashboard/shareable-compliance-report"}]},{"title":"DDoS Protection","href":"/core-concepts/security-compliance/ddos-pid-limits"},{"title":"Managed Host Intrusion Detection (HIDS)","href":"/core-concepts/security-compliance/hids"},{"title":"Red Team Scans","tag":"BETA","href":"/core-concepts/security-compliance/red-team-scans"}]},{"group":"Reliability \u0026 Maintenance","pages":[{"title":"Reliability","sidebarTitle":"Overview","href":"/core-concepts/reliability/overview"},{"title":"Reliability Division of Responsibilities","href":"/core-concepts/reliability/division-of-responsibility"},{"title":"Maintenance","href":"/core-concepts/reliability/maintenance"},{"title":"Security and Ops Alert Notifications","href":"/core-concepts/reliability/ops-alert-notifications"}]},{"group":"Integrations","pages":[{"title":"All Integrations and Tools","href":"/core-concepts/integrations/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"Mezmo Integration","href":"/core-concepts/integrations/mezmo"},{"title":"Network Integrations: VPC Peering \u0026 VPN Tunnels","href":"/core-concepts/integrations/network-integrations"},{"title":"Sumo Logic Integration","href":"/core-concepts/integrations/sumo-logic"},{"title":"Twingate Integration","href":"/core-concepts/integrations/twingate"},{"title":"SolarWinds Integration","href":"/core-concepts/integrations/solarwinds"}]}]},{"group":"Managed AI","pages":[{"group":"LLM Gateway","pages":[{"title":"LLM Gateway","sidebarTitle":"Overview","href":"/llm-gateway"},{"title":"Upgrading from v1.0","sidebarTitle":"Upgrading from v1.0","href":"/llm-gateway/upgrading-from-v1"},{"title":"LLM Keys","href":"/llm-gateway/llm-keys"},{"title":"Supported APIs","sidebarTitle":"Supported APIs","href":"/llm-gateway/supported-apis"},{"group":"Model Access \u0026 Control","pages":[{"title":"Supported Models for LLM Gateway","sidebarTitle":"Supported Models","href":"/llm-gateway/supported-models"},{"title":"Model Access Policies for LLM Gateway","sidebarTitle":"Model Access Policies","href":"/llm-gateway/model-access-policies"}]},{"title":"Cost Visibility \u0026 Control for LLM Gateway","sidebarTitle":"Cost Visibility \u0026 Control","href":"/llm-gateway/cost-control"},{"title":"Audit Logging","href":"/llm-gateway/audit-logging"},{"title":"Security \u0026 Compliance for LLM Gateway","sidebarTitle":"Security \u0026 Compliance","href":"/llm-gateway/security-and-compliance-guardails"}]},{"group":"MCP Gateway","tag":"BETA","pages":[{"title":"MCP Gateway","sidebarTitle":"Overview","href":"/mcp-gateway"},{"title":"Connecting to MCP Gateway","sidebarTitle":"Connecting to MCP Gateway","href":"/mcp-gateway/connect"},{"title":"Servers \u0026 Tools","sidebarTitle":"Servers \u0026 Tools","href":"/mcp-gateway/servers"},{"group":"Access Control","pages":[{"title":"Access Control","sidebarTitle":"Overview","href":"/mcp-gateway/access-control"},{"title":"Grants","sidebarTitle":"Grants","href":"/mcp-gateway/grants"},{"title":"Membership","sidebarTitle":"Membership","href":"/mcp-gateway/membership"}]},{"title":"Audit Logging","sidebarTitle":"Audit Logging","href":"/mcp-gateway/audit-logs"}]}]},{"group":"Reference","pages":[{"group":"Aptible CLI","pages":[{"title":"Aptible CLI - Overview","sidebarTitle":"Overview","href":"/reference/aptible-cli/overview"},{"title":"CLI Changelog","sidebarTitle":"Changelog","href":"/reference/aptible-cli/cli-changelog"},{"group":"All CLI Commands","pages":[{"title":"aptible apps","href":"/reference/aptible-cli/cli-commands/cli-apps"},{"title":"aptible apps:create","href":"/reference/aptible-cli/cli-commands/cli-apps-create"},{"title":"aptible apps:deprovision","href":"/reference/aptible-cli/cli-commands/cli-apps-deprovision"},{"title":"aptible apps:rename","href":"/reference/aptible-cli/cli-commands/cli-apps-rename"},{"title":"aptible apps:scale","href":"/reference/aptible-cli/cli-commands/cli-apps-scale"},{"title":"aptible apps:settings","href":"/reference/aptible-cli/cli-commands/cli-apps-settings"},{"title":"aptible apps:settings:set","href":"/reference/aptible-cli/cli-commands/cli-apps-settings-set"},{"title":"aptible backup:list","href":"/reference/aptible-cli/cli-commands/cli-backup-list"},{"title":"aptible backup:orphaned","href":"/reference/aptible-cli/cli-commands/cli-backup-orphaned"},{"title":"aptible backup:purge","href":"/reference/aptible-cli/cli-commands/cli-backup-purge"},{"title":"aptible backup:restore","href":"/reference/aptible-cli/cli-commands/cli-backup-restore"},{"title":"aptible backup_retention_policy","href":"/reference/aptible-cli/cli-commands/cli-backup-retention-policy"},{"title":"aptible backup_retention_policy:set","href":"/reference/aptible-cli/cli-commands/cli-backup-retention-policy-set"},{"title":"aptible config","href":"/reference/aptible-cli/cli-commands/cli-config"},{"title":"aptible config:add","href":"/reference/aptible-cli/cli-commands/cli-config-add"},{"title":"aptible config:get","href":"/reference/aptible-cli/cli-commands/cli-config-get"},{"title":"aptible config:rm","href":"/reference/aptible-cli/cli-commands/cli-config-rm"},{"title":"aptible config:set","href":"/reference/aptible-cli/cli-commands/cli-config-set"},{"title":"aptible config:unset","href":"/reference/aptible-cli/cli-commands/cli-config-unset"},{"title":"aptible db:backup","href":"/reference/aptible-cli/cli-commands/cli-db-backup"},{"title":"aptible db:clone","href":"/reference/aptible-cli/cli-commands/cli-db-clone"},{"title":"aptible db:create","href":"/reference/aptible-cli/cli-commands/cli-db-create"},{"title":"aptible db:deprovision","href":"/reference/aptible-cli/cli-commands/cli-db-deprovision"},{"title":"aptible db:dump","href":"/reference/aptible-cli/cli-commands/cli-db-dump"},{"title":"aptible db:execute","href":"/reference/aptible-cli/cli-commands/cli-db-execute"},{"title":"aptible db:list","href":"/reference/aptible-cli/cli-commands/cli-db-list"},{"title":"aptible db:modify","href":"/reference/aptible-cli/cli-commands/cli-db-modify"},{"title":"aptible db:reload","href":"/reference/aptible-cli/cli-commands/cli-db-reload"},{"title":"aptible db:replicate","href":"/reference/aptible-cli/cli-commands/cli-db-replicate"},{"title":"aptible db:rename","href":"/reference/aptible-cli/cli-commands/cli-db-rename"},{"title":"aptible db:restart","href":"/reference/aptible-cli/cli-commands/cli-db-restart"},{"title":"aptible db:settings","href":"/reference/aptible-cli/cli-commands/cli-db-settings"},{"title":"aptible db:settings:set","href":"/reference/aptible-cli/cli-commands/cli-db-settings-set"},{"title":"aptible db:tunnel","href":"/reference/aptible-cli/cli-commands/cli-db-tunnel"},{"title":"aptible db:url","href":"/reference/aptible-cli/cli-commands/cli-db-url"},{"title":"aptible db:versions","href":"/reference/aptible-cli/cli-commands/cli-db-versions"},{"title":"aptible deploy","href":"/reference/aptible-cli/cli-commands/cli-deploy"},{"title":"aptible endpoints:database:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-database-create"},{"title":"aptible endpoints:database:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-database-modify"},{"title":"aptible endpoints:deprovision","href":"/reference/aptible-cli/cli-commands/cli-endpoints-deprovision"},{"title":"aptible endpoints:https:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-https-create"},{"title":"aptible endpoints:https:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-https-modify"},{"title":"aptible endpoints:list","href":"/reference/aptible-cli/cli-commands/cli-endpoints-list"},{"title":"aptible endpoints:renew","href":"/reference/aptible-cli/cli-commands/cli-endpoints-renew"},{"title":"aptible endpoints:tcp:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tcp-create"},{"title":"aptible endpoints:tcp:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tcp-modify"},{"title":"aptible endpoints:tls:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tls-create"},{"title":"aptible endpoints:tls:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tls-modify"},{"title":"aptible endpoints:grpc:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-grpc-create"},{"title":"aptible endpoints:grpc:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-grpc-modify"},{"title":"aptible environment:ca_cert","href":"/reference/aptible-cli/cli-commands/cli-environment-ca-cert"},{"title":"aptible environment:list","href":"/reference/aptible-cli/cli-commands/cli-environment-list"},{"title":"aptible environment:rename","href":"/reference/aptible-cli/cli-commands/cli-environment-rename"},{"title":"aptible help","href":"/reference/aptible-cli/cli-commands/cli-help"},{"title":"aptible log_drain:create:datadog","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-datadog"},{"title":"aptible log_drain:create:elasticsearch","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-elasticsearch"},{"title":"aptible log_drain:create:https","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-https"},{"title":"aptible log_drain:create:logdna","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-logdna"},{"title":"aptible log_drain:create:papertrail","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-papertrail"},{"title":"aptible log_drain:create:sumologic","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-sumologic"},{"title":"aptible log_drain:create:syslog","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-syslog"},{"title":"aptible log_drain:create:solarwinds","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-solarwinds"},{"title":"aptible log_drain:deprovision","href":"/reference/aptible-cli/cli-commands/cli-log-drain-deprovision"},{"title":"aptible log_drain:list","href":"/reference/aptible-cli/cli-commands/cli-log-drain-list"},{"title":"aptible login","href":"/reference/aptible-cli/cli-commands/cli-login"},{"title":"aptible logout","href":"/reference/aptible-cli/cli-commands/cli-logout"},{"title":"aptible logs","href":"/reference/aptible-cli/cli-commands/cli-logs"},{"title":"aptible logs_from_archive","href":"/reference/aptible-cli/cli-commands/cli-logs-from-archive"},{"title":"aptible maintenance:apps","href":"/reference/aptible-cli/cli-commands/cli-maintenance-apps"},{"title":"aptible maintenance:dbs","href":"/reference/aptible-cli/cli-commands/cli-maintenance-dbs"},{"title":"aptible metric_drain:create:datadog","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-datadog"},{"title":"aptible metric_drain:create:influxdb","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb"},{"title":"aptible metric_drain:create:influxdb:custom","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb-custom"},{"title":"aptible metric_drain:create:influxdb:customv2","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb-customv2"},{"title":"aptible metric_drain:deprovision","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-deprovision"},{"title":"aptible metric_drain:list","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-list"},{"title":"aptible operation:cancel","href":"/reference/aptible-cli/cli-commands/cli-operation-cancel"},{"title":"aptible operation:follow","href":"/reference/aptible-cli/cli-commands/cli-operation-follow"},{"title":"aptible operation:logs","href":"/reference/aptible-cli/cli-commands/cli-operation-logs"},{"title":"aptible organizations","href":"/reference/aptible-cli/cli-commands/cli-organizations"},{"title":"aptible rebuild","href":"/reference/aptible-cli/cli-commands/cli-rebuild"},{"title":"aptible restart","href":"/reference/aptible-cli/cli-commands/cli-restart"},{"title":"aptible services","href":"/reference/aptible-cli/cli-commands/cli-services"},{"title":"aptible services:settings","href":"/reference/aptible-cli/cli-commands/cli-services-settings"},{"title":"aptible services:autoscaling_policy","href":"/reference/aptible-cli/cli-commands/cli-services-autoscalingpolicy"},{"title":"aptible services:autoscaling_policy:set","href":"/reference/aptible-cli/cli-commands/cli-services-autoscalingpolicy-set"},{"title":"aptible ssh","href":"/reference/aptible-cli/cli-commands/cli-ssh"},{"title":"aptible version","href":"/reference/aptible-cli/cli-commands/cli-version"},{"title":"aptible whoami","href":"/reference/aptible-cli/cli-commands/cli-whoami"}]},{"title":"CLI Configurations","href":"/reference/aptible-cli/cli-configurations"}]},{"title":"Dashboard","hidden":true,"href":"/reference/dashboard"},{"title":"Terraform","href":"/reference/terraform"},{"title":"Aptible Metadata Variables","sidebarTitle":"Metadata Variables","href":"/reference/aptible-metadata-variables"},{"title":"Glossary","hidden":true,"href":"/reference/glossary"},{"title":"Pricing","href":"/reference/pricing"},{"title":"Billing \u0026 Payments","href":"/core-concepts/billing-payments"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/how-to-guides/guides-overview"}]}]},"basePath":"","title":"Logging Provider - Aptible","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":[],"chunks":[]}