Install 8.2.0 APM on ECK - "precondition 'apm integration installed'

I'm deploying an ECK stack on a new kubernetes cluster. I have installed so far and working Elasticsearch, kibana and filebeat.

ps: I don't use "agents or fleet" because i could not get them to work and there was very little support here, my assumption is because it is in technical preview, fine.

But now, I want to install APM however in this newer version (8.2.0) i am getting an error. In version 7 i did not need this precondition 'apm integration?

Is the new apm apart of an "agent/integration" now ?

{"log.level":"error","@timestamp":"2022-05-31T15:39:28.067Z","log.logger":"beater","log.origin":{"file.name":"beater/waitready.go","file.line":62},"message":"precondition 'apm integration installed' failed: error querying Elasticsearch for integration index templates: unexpected HTTP status: 404 Not Found ({\"error\":{\"root_cause\":[{\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [logs-apm.error] not found\"}],\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [logs-apm.error] not found\"},\"status\":404}): to remediate, please install the apm integration: https://ela.st/apm-integration-quickstart","service.name":"apm-server","ecs.version":"1.6.0"}

apm.yaml

apiVersion: apm.k8s.elastic.co/v1
kind: ApmServer
metadata:
  name: apm-server-prod
  namespace: elastic-system
spec:
  version: 8.2.0
  count: 1
  elasticsearchRef:
    name: "elasticsearch-prod"
  kibanaRef:
    name: "kibana-prod"
  http:
    service:
      spec:
        type: NodePort
  config:
    apm-server:
      auth:
        anonymous:
          rate_limit:
            event_limit:  300
            ip_limit:  1000
          allow_service: ["admin-dashboard"]
      rum: 
        enabled: true
        allow_origins: ["*"]

How do i update my kibana configuration to include this apm integration? ( i dont want to manually do anything via the UI)

kibana.yaml

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana-prod
  namespace: elastic-system
spec:
  version: 8.2.0
  count: 1
  elasticsearchRef:
    name: elasticsearch-prod
  http:
    service:
      spec:
        type: NodePort
  podTemplate:
    spec:
      containers:
      - name: kibana
        resources:
          limits:
            memory: 2Gi
            cpu: 1
      nodeSelector:
        geeiq/node-type: ops

It isn't very clear in the base install docs of APM Server, but you can find the way to do this via the upgrade docs here: Upgrade a self-installation of APM Server standalone to 8.2.2 | APM User Guide [8.2] | Elastic.

See Step 2, and the Warning on Step 3, which explains the error you're seeing.

Nice, i didint see that but it forces me to use the UI to do this which i don't want to do

I found out how to do it programatically

spec:  
  config:
    xpack.fleet.packages:
      - name: apm
        version: latest

Its very confusing change, i don't use fleet or elastic agents at all because they are in technical preview for ECK and difficult to make changes pragmatically. But seems like i am forced to reference fleet with apm

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.