APIIDA API Gateway Manager

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

How it works

AAGM already ships a Prometheus and its Push-Gateway. https://apiida.atlassian.net/wiki/spaces/AAGM/pages/7760183321/Installation#Install-using-Docker-Compose
Once set up successfully, everything should connect automatically and start collecting metrics from APIs registered in AAGM.

Here is a diagram of how the individual components work together.

Prometheus Configuration

This configuration is already integrated in the supplied Prometheus.

https://prometheus.io/docs/prometheus/latest/configuration/configuration/

Prometheus automatically pulls the metrics of all its targets every few seconds.

global:
  scrape_interval: 15s

  external_labels:
    monitor: 'codelab-monitor'

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: [ 'host.docker.internal:9090' ]

  - job_name: 'aagmdb'
    static_configs:
      - targets: [ 'host.docker.internal:9104' ]

  - job_name: 'prometheus-pushgateway'
    scrape_interval: 1s
    honor_labels: true
    static_configs:
      - targets: [ 'host.docker.internal:9091' ]

Using an external Prometheus

The url of Prometheus and the Prometheus Pushgateway must be stored in the configuration of AAGM under general settings.

Prometheus must receive the push gateway as target as in line 16 above. Optionally, the database of AAGM can also be added. https://grafana.com/oss/prometheus/exporters/mysql-exporter/

View metrics directly in Prometheus

Here are a few examples of how to retrieve metrics directly in Prometheus.

Nodes:

  • cpuLoadPercentage{name="Docker GW 1"}

  • memoryLoadPercentage{hostPort="host.docker.internal:8444"}

  • cpuLoadPercentage

APIs:

  • allRequestsCount{name="APIIDA Metrics API"}

  • allRequestsCount{job="Docker GW 1 APIIDA Metrics API"}

  • allRequestsCount{nodeID="2"}

More filters can be added in the PrometheusPushGateway class. All possible filters can also be viewed there or directly on the PushGateway.

Useful

Grafan user: admin pass: admin

https://prometheus.io/

https://github.com/prometheus/pushgateway

https://packagist.org/packages/promphp/prometheus_push_gateway_php

https://grafana.com/

  • No labels