Я использую metricbeat
в сочетании с Docker для получения метрик из данного контейнера с помощью автоматического обнаружения подсказок.
Не думаю, что он работает должным образом, так как я получаю сообщение об ошибке, в ошибке ключ сообщения:
не удалось получить docker статистика: запрос возвращен Не найдено для маршрута и версии API http://172.20.0.2: 8101 / v1.24 / container / json? limit = 0 , проверьте, поддерживает ли сервер запрашиваемую версию API
Похоже, что он настроен на правильный IP-адрес контейнера после проверки json в elasticsearch
.
Вот мое приложение metricbeat и demo в docker compose:
metricbeat:
container_name: metricbeat
user: root
image: mymetricbeat:docker
volumes:
# needed to access additional informations about containers
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- esnet
myloggingapp:
container_name: loggingapp
image: loggingapp:latest
environment:
- ASPNETCORE_URLS=http://+:8101
labels:
co.elastic.metrics/enabled: true
co.elastic.metrics/module: docker
co.elastic.metrics/metricsets: cpu
co.elastic.metrics/hosts: '$${data.host}:8101'
co.elastic.metrics/period: 1m
networks:
- esnet
Вот yml:
metricbeat.autodiscover:
providers:
- type: docker
hints.enabled: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
index: "sample2-%{+YYYY.MM.dd}"
setup.template.name: "sample2"
setup.template.pattern: "sample2-*"
Кроме того, для ключа события есть статистика CPU c правильно, как говорится duration : 2090999
, поскольку я изо всех сил пытаюсь понять это.