Sign inSign up

bhaab01/apmia

By bhaab01

Updated about 7 years ago

CA APM Infrastructure Agent as Docker Image

Image
0

100K+

bhaab01/apmia repository overview

CA APM Infrastrure 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
TagsDescriptionDate
latestEquivalent to Tag 10.6.0-110-Aug-2018
10.6.0-1Initial version of APM IA as Docker Image10-Aug-2018
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:<tag>
    environment:
      - APMENV_AGENTMANAGER_URL_1=[AGENTMANAGER_URL]
      - 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:<tag>
    environment:
      - APMENV_AGENTMANAGER_URL_1=[AGENTMANAGER_URL]
      - APMENV_INTROSCOPE_AGENT_EXTENSIONS_BUNDLES_LOAD=AzureMonitor
      - APMENV_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGIN_JSON=<jsondata>
      - 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: extensions/v1beta1
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_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:<tag>
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Content of install.yml for Azure extension
apiVersion: extensions/v1beta1
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_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGIN_JSON
              value: <jsondata>
            - 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:<tag>
          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: v1
kind: DeploymentConfig
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_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:<tag>
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Content of install.yml for Azure extension
apiVersion: v1
kind: DeploymentConfig
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_INTROSCOPE_AGENT_AZURE_MONITOR_RESOURCE_LOGIN_JSON
              value: <jsondata>
            - 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:<tag>
          imagePullPolicy: Always
          resources:
            limits:
              cpu: "0.7"
              memory: 700M

Tag summary

Content type

Image

Digest

Size

373.1 MB

Last updated

about 7 years ago

docker pull bhaab01/apmia:3.9.3-base