LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page
  • Integrating internally hosted services into Cortex
  • How to use Cortex Axon
  • Prerequisites
  • Step 1: Set up the Cortex Axon agent
  • Step 2: Run the agent

Was this helpful?

Export as PDF
  1. Ingesting data into Cortex
  2. Integrations

Internally hosted integrations

Last updated 3 days ago

Was this helpful?

Integrating internally hosted services into Cortex

You can use to source data from an internally-hosted system and reflect that data in Cortex. Cortex Axon is a framework that can be used to build jobs that run in your environment and securely send data to Cortex.

Use Axon Relay to allow Cortex to access internally-hosted integrations including , , , , , and .

You can also use Axon Relay to in Cortex.

This feature is available in private beta. Please reach out to your Cortex Customer Success Manager for access.

How to use Cortex Axon

Axon is composed of an agent which runs in a Docker container () and integrates with Kubernetes, creating a secure tunnel between the broker and Cortex.

Prerequisites

Before getting started:

  • Create an in Cortex.

  • Create authentication credentials for the integration you're configuring.

Step 1: Set up the Cortex Axon agent

Step 1.1: Configure the Relay in Cortex

  1. In Cortex, navigate to Settings, then click the integration you are configuring.

  2. On the integration's settings page, click Add configuration.

  3. For the configuration type, select Relay.

  4. Enter an alias for the configuration and configure any other necessary fields. At the bottom, click Save.

Step 1.2: Create a .env file and a docker-compose.yml file

  • Locally on your machine, create a file called .env. Inside the file, add contents for the integration you are configuring:

For example, for GitLab you would add:

CORTEX_API_TOKEN=your_cortex_token
GITLAB_TOKEN=your_gitlab_token

More information will be coming soon on Kubernetes deployments.

  • Locally on your machine, create a file called docker-compose.yml. Inside the file, add contents for the integration you are configuring:

services:
  axon:
    image: ghcr.io/cortexapps/cortex-axon-agent:latest
    env_file: .env
    env:
      - GITHUB_API=api.github.com
      - GITHUB_GRAPHQL=api.github.com/graphql
    command: [
      "relay",
      "-i", "github",
      "-a", "github-relay", # this is the alias you set up in the Cortex UI

      # if you are using a Github App token, add the following line
      # "-s", "app",
    ]

For integrations other than GitHub, use the following format.

Make sure to replace INTEGRATION under env:, and any mentions of integrationName, with the name of the integration you are configuring.

services:
  axon:
    image: ghcr.io/cortexapps/cortex-axon-agent:latest
    env_file: .env
    env:
      - INTEGRATION_API=api.integrationName.com
    command: [
      "relay",
      "-i", "integrationName",
      "-a", "integrationName-relay", # this is the alias you set up in the Cortex UI
    ]

Step 2: Run the agent

Run the agent in a production environment

In a production environment, you will use a Helm chart, provided by Cortex.

Run the agent in a sandbox environment

  1. In your CLI, run the command docker compose up.

    • You should see the agent start and connect to Cortex.

  2. Verify that your agent is working:

    1. In Cortex, go to Settings then click the integration to view its settings page.

    2. Next to the Relay configuration you set up in the previous steps, click the play icon to test the integration.

      • If you watch the logging output in your CLI, you should see the agent receive the request and forward it to your internal service/

      • The page in Cortex should display a success message.

See the .

variables for your integration in the README
Cortex Axon Relay
Bitbucket
GitHub
GitLab
Jira
Prometheus
SonarQube
call internal service endpoints via a Workflow
cortex-axon-agent
API key