caapm/apmia

By caapm

Updated about 1 month ago

CA APM Infrastructure Agent as Docker Image

Image
Monitoring & Observability

100K+

CA APM Infrastructure Agent as Docker Image

CA APM Infrastructure Agent (IA) can be installed and configured from a docker image on any docker orchestration platform, such as Swarm or Kubernetes. You can now pass any configuration for the IntroscopeAgent.profile, Extensions.profile, or bundle.profile of an individual extensions using the environment variable. You must append "APMENV_" before the profile properties and replace all period "." characters with underscore "_" characters to obtain the key of its equivalent environment variable. The environment variable key that is created is not case sensative. For example, to pass agentManager.url.1 as an environment variable, the key is APMENV_agentManager_url_1 or APMENV_AGENTMANAGER_URL_1. As a best practice, pass all the environment variables as uppercase.

Prerequisites Before Applying the Image
  1. Image name: Identify the CA APM IA docker image name.
  2. Standalone Docker Platform: Identify the orchestration platform. For example, do you want to install the image on Swarm, Kubernetes, or Openshift? Do you want to install the image on a Standalone Docker setup?
  3. APM IA extensions to be deployed: Pass the names of the extensions in the APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD environment variable. The value of this property is a comma-separated list that is case sensative.
  4. Deployment Mode: Identify if you need to install the image on one node in the cluster (for example, Service for Swarm , Deployment for Kubernetes, or DeploymentConfig for Openshift) or all nodes in the cluster (for example, global mode deployment for Swarm and DaemonSet deployment for Kubernetes/Openshift).
  5. Review the following samples to configuge AWS and Azure extensions on different platforms.
Supported Tags
TagsDateSupported APM VersionRelease Notes
latest19-Jan-2025DX Operational Observability, 10.7 SP2 +25.1.1 Release Notes
25.1.1.2619-Jan-2025DX Operational Observability, 10.7 SP2 +25.1.1 Release Notes
24.10.1.522-Oct-2024DX Operational Observability, 10.7 SP2 +24.10.1 Release Notes
24.9.1.1910-Sep-2024DX SaaS, 10.7 SP2 +24.9.1 Release Notes
24.7.1.529-Jul-2024DX SaaS, 10.7 SP2 +24.7.1 Release Notes
24.6.2.289-Jul-2024DX SaaS, 10.7 SP2 +24.6.2 Release Notes
24.5.1.55-Jun-2024DX SaaS, 10.7 SP2 +24.5.1 Release Notes
24.4.2.81-May-2024DX SaaS, 10.7 SP2 +24.4.2 Release Notes
24.3.2.1527-Mar-2024DX SaaS, 10.7 SP2 +24.3.2 Release Notes
24.2.1.724-Feb-2024DX SaaS, 10.7 SP2 +24.2.1 Release Notes
24.1.1.211-Feb-2024DX SaaS, 10.7 SP2 +
2023.12.1.1213-Dec-2023DX SaaS, 10.7 SP2 +
2023.10.1.731-Oct-2023DX SaaS, 10.7 SP2 +
2023.9.1.168-Oct-2023DX SaaS, 10.7 SP2 +
2023.6.1.426-Jun-2023DX SaaS, 10.7 SP2 +

Tag content

25.1.1.26

24.10.1.5

24.9.1.19

24.7.1.5

24.6.2.28

24.5.1.5

24.4.2.8

24.3.2.15

24.2.1.7

Installation

Note: [AGENTMANAGER_URL]: The Agent/EM Connection details are similar to those provided on the IntroscopeAgent.profile.

Swarm/UCP

docker stack deploy -c install.yml apmiamonitor --with-registry-auth

Standalone

docker-compose -f install.yml up -d

Content of install.yml for AWS extension

version: "3"
services:
  apmia:
    image : caapm/apmia:latest
    environment:
      - APMENV_AGENTMANAGER_URL_1=[AGENTMANAGER_URL]
      - APMENV_AGENTMANAGER_CREDENTIAL=[AGENTMANAGER_CREDENTIAL]
      - APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD=AWSExtension
      - APMENV_COM_CA_APM_AGENT_AWS_ACCESSKEY=<accesskey>
      - APMENV_COM_CA_APM_AGENT_AWS_SECRETKEY=<secretkey>
    deploy:
      resources:
        limits:
          cpus: '0.7'
          memory: 700M

Content of install.yml for Azure extension

version: "3"
services:
  apmia:
    image : caapm/apmia:latest
    environment:
      - APMENV_AGENTMANAGER_URL_1=[AGENTMANAGER_URL]
      - APMENV_AGENTMANAGER_CREDENTIAL=[AGENTMANAGER_CREDENTIAL]
      - APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD=AzureMonitor
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_USERNAME=<value>
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_SUBSCRIPTIONID=<value>
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTID=<value>
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_TENANTID=<value>
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTSECRET=<value>
    deploy:
      resources:
        limits:
          cpus: '0.7'
          memory: 700M

Kubernetes

Install command :kubectl create -f install.yml

Uninstall command :kubectl delete -f install.yml

Content of install.yml for AWS extension

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apmia-aws
  labels:
    tier: monitoring
    app: caagent_apmia
    version: v1

spec:
  template:
    metadata:
      labels:
        app: caagent_apmia
    spec:
      containers:
        - resources:
          env:
            - name: APMENV_AGENTMANAGER_URL_1
              value: [AGENTMANAGER_URL]
            - name: APMENV_AGENTMANAGER_CREDENTIAL
              value: [AGENTMANAGER_CREDENTIAL]
            - name: APMENV_COM_CA_APM_AGENT_AWS_ACCESSKEY
              value: <accesskey>
            - name: APMENV_COM_CA_APM_AGENT_AWS_SECRETKEY
              value: <secretkey>
            - name: APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD
              value: AWSExtension

          name: apmia
          image: caapm/apmia:latest
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Content of install.yml for Azure extension

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apmia
  labels:
    tier: monitoring
    app: caagent_apmia
    version: v1

spec:
  template:
    metadata:
      labels:
        app: caagent_apmia
    spec:
      containers:
        - resources:
          env:
            - name: APMENV_AGENTMANAGER_URL_1
              value: [AGENTMANAGER_URL]
            - name: APMENV_AGENTMANAGER_CREDENTIAL
              value: [AGENTMANAGER_CREDENTIAL]
            - name: APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD
              value: AzureMonitor
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_USERNAME
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_SUBSCRIPTIONID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_TENANTID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTSECRET
              value: <value>
          name: apmia
          image: caapm/apmia:latest
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Openshift

Install command :oc create -f install.yml

Uninstall command :oc delete -f install.yml

Content of install.yml for AWS extension

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apmia-aws
  labels:
    tier: monitoring
    app: caagent_apmia
    version: v1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: caagent_apmia
    spec:
      containers:
        - resources:
          env:
            - name: APMENV_AGENTMANAGER_URL_1
              value: [AGENTMANAGER_URL]
            - name: APMENV_AGENTMANAGER_CREDENTIAL
              value: [AGENTMANAGER_CREDENTIAL]
            - name: APMENV_COM_CA_APM_AGENT_AWS_ACCESSKEY
              value: <accesskey>
            - name: APMENV_COM_CA_APM_AGENT_AWS_SECRETKEY
              value: <secretkey>
            - name: APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD
              value: AWSExtension

          name: apmia
          image: caapm/apmia:latest
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Content of install.yml for Azure extension

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apmia-azure
  labels:
    tier: monitoring
    app: caagent_apmia
    version: v1

spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: caagent_apmia
    spec:
      containers:
        - resources:

          env:
            - name: APMENV_AGENTMANAGER_URL_1
              value: <AGENTMANAGER_URL>
            - name: APMENV_AGENTMANAGER_CREDENTIAL
              value: [AGENTMANAGER_CREDENTIAL]
            - name: APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD
              value: AzureMonitor
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_USERNAME
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_SUBSCRIPTIONID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_TENANTID
              value: <value>
            - name: APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGINS_DEFAULT_CLIENTSECRET
              value: <value>

          name: apmia
          image: caapm/apmia:latest
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Docker Pull Command

docker pull caapm/apmia