Метрики приложения

Приложение может отдавать бизнес-метрики в формате, совместимом с Prometheus, что позволяет настроить стек Prometheus+Grafana для анализа и мониторинга.

При установке через ansible метрики неободимо снимать с каждой ноды:

  • путь /metrics, порт 8081

При установке в k8s метрики необходимно снимать с подов:

  • zakroma-storage-composer, путь /metrics
  • zakroma-storage-core путь /metrics
  • zakroma-storage-worker путь /metrics

Метрики Закрома.Хранение

НазваниеОписаниеТип метрики
zakroma_requests_counterКоличество запросов в разрезе операций S3counter
zakroma_requests_durationДлительность обработки запросов в разрезе операций S3histogramm
zakroma_bucket_objects_countКоличество объектов в бакетеgauge
zakroma_bucket_objects_sizeРазмер бакетов, в байтахgauge
zakroma_bucket_parts_countКоличество частей объектов в бакетеgauge
zakroma_bucket_parts_sizeРазмер частей файлов в бакете, в байтахgauge
zakroma_bucket_uploads_countКоличество загруженных файлов в бакетеgauge
zakroma_bucket_uploads_sizeРазмер загруженных файлов в бакетеgauge
zakroma_core_requests_counterКоличество запросов к подсистеме core в разрезе операций S3counter
zakroma_core_requests_durationДлительность обработки запросов к подсистеме core в разрезе операций S3histogram
zakroma_storage_banners_countКоличество баннеров в хранилищеgauge
zakroma_storage_parts_countКоличество частей файлов в хранилищеgauge
zakroma_storage_parts_sizeРазмер частей файлов в хранилищеgauge
zakroma_workspace_objects_countКоличество объектов в рабочей областиgauge
zakroma_workspace_objects_sizeРазмер рабочей области, в байтахgauge
zakroma_workspace_parts_countКоличество частей объектов в рабочей областиgauge
zakroma_workspace_parts_sizeРазмер частей файлов в рабочей области, в байтахgauge
zakroma_workspace_uploads_countКоличество загруженных файлов в рабочей областиgauge
zakroma_workspace_uploads_sizeРазмер загруженных файлов в рабочей областиgauge
zakroma_worker_0_requests_counterКоличество запросов к подсистеме worker в разрезе операций S3counter
zakroma_worker_0_requests_durationДлительность обработки запросов к подсистеме worker в разрезе операций S3histogram

Примеры ServiceMonitor для Prometheus

1apiVersion: monitoring.coreos.com/v1 2kind: ServiceMonitor 3metadata: 4 name: zakroma-storage-composer-servicemonitor 5 namespace: monitoring 6spec: 7 endpoints: 8 - interval: 5s 9 path: /metrics 10 port: aux-http 11 namespaceSelector: 12 matchNames: 13 - zakroma-storage 14 selector: 15 matchLabels: 16 app.kubernetes.io/name: zakroma-storage-composer
1apiVersion: monitoring.coreos.com/v1 2kind: ServiceMonitor 3metadata: 4 name: zakroma-storage-core-servicemonitor 5 namespace: monitoring 6spec: 7 endpoints: 8 - interval: 5s 9 path: /metrics 10 port: aux-http 11 namespaceSelector: 12 matchNames: 13 - zakroma-storage 14 selector: 15 matchLabels: 16 app.kubernetes.io/name: zakroma-storage-core
1apiVersion: monitoring.coreos.com/v1 2kind: ServiceMonitor 3metadata: 4 name: zakroma-storage-worker-0-servicemonitor 5 namespace: monitoring 6spec: 7 endpoints: 8 - interval: 5s 9 path: /metrics 10 port: aux-http 11 namespaceSelector: 12 matchNames: 13 - zakroma-storage 14 selector: 15 matchLabels: 16 app.kubernetes.io/name: zakroma-storage-worker 17 zakroma-worker-index: worker0 18
1apiVersion: monitoring.coreos.com/v1 2kind: ServiceMonitor 3metadata: 4 name: zakroma-storage-worker-1-servicemonitor 5 namespace: monitoring 6spec: 7 endpoints: 8 - interval: 5s 9 path: /metrics 10 port: aux-http 11 namespaceSelector: 12 matchNames: 13 - zakroma-storage 14 selector: 15 matchLabels: 16 app.kubernetes.io/name: zakroma-storage-worker 17 zakroma-worker-index: worker1