hi,
I am trying to monitor a microservices application deployed in docker with APM on elastic cloud.
When I start metricbeat with the system and docker modules enabled, it shows me the containers as if they were hosts.
My metricbeat configurations are as follows:
metricbeat.yml
# =========================== Modules configuration ============================
metricbeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
# Set to true to enable config reloading
reload.enabled: false
# ======================= Elasticsearch template setting =======================
setup.template.settings:
index.number_of_shards: 1
index.codec: best_compression
#_source.enabled: false
# ================================= elastic cloud =================================
# You can find the `cloud.id` in the Elastic Cloud web UI.
cloud.id: "deploy_name:cloud_id"
# The cloud.auth setting overwrites the `output.elasticsearch.username` and
# `output.elasticsearch.password` settings. The format is `<user>:<pass>`.
cloud.auth: "user:password"
# ================================= Processors =================================
# Configure processors to enhance or manipulate events generated by the beat.
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
- add_fields:
fields:
application: sockshop
modules.d/docker.yml
- module: docker
metricsets:
- container
- cpu
- diskio
- event
- healthcheck
- info
- memory
- network
- network_summary
period: 10s
hosts: ["unix:///var/run/docker.sock"]
I would like them to appear as containers, so that when I click on investigate within a transaction it will take me to the metrics page of the container. does anyone know what I am doing wrong?
thanks in advance.