This package is abandoned and no longer maintained. No replacement package was suggested.

PApi - PHP Api client library for Prometheus

v2.1 2018-06-01 14:11 UTC

This package is not auto-updated.

Last update: 2020-03-19 10:48:09 UTC


Build Status

Targets to provide simple means for obtaining data from Prometheus API.

Stable for Prometheus 1.x and <= v2.2 api spec NOTICE: some endpoints are only available in newer versions of Prometheus. For detailed list see table of available calls below.


Use composer to add PApi as dependency:

$ composer install cdn77/papi


Create a client

use PApi\Client;

require __DIR__ . '/vendor/autoload.php';

$client = new Client([
    'host' => '',

Available options

Name Default value Description
scheme http Host scheme
host localhost Host address
port 9090 Host port
path /api/v1/ Path to base API endpoint
timeout 30 Timeout for requests
username null HTTP Auth username
password null HTTP Auth password
connectionHeaders [] Connection headers
connectionType CurlConnection::class Class to use for connection. See below

Available connection classes

  • CurlConnection - pure php curl implementation. Used by default.
  • GuzzleConnection - using guzzle 6.3+ library.

Available calls

PApi currently has methods for all available endpoints provided by Prometheus.

Call Code Prometheus compatibility Official doc
Query $client->getQuery('up', new \DateTimeImmutable('now'); >=1.0 doc
QueryRange $client->getQueryRange('up', new \DateTimeImmutable('today'), new \DateTimeImmutable('now'), '12h'); >=1.0 doc
Series $client->getSeries(['up'], new \DateTimeImmutable('-1 minute'), new \DateTimeImmutable('now'); >=1.0 doc
Label Values $client->getLabelValues('job'); >=1.0 doc
Targets (active only) $client->getTargets(); >=1.0 doc
Alert Managers $client->getAlertManagers(); >=1.0 doc
Create snapshot $client->createSnapshot(); >=2.1 doc
Delete series $client->deleteSeries(['up'], new DateTimeImmutable('today'), new DateTimeImmutable('now'); >=2.1 doc
Clean tombstones $client->cleanTombstones(); >=2.1 doc
Get Config $client->getConfig(); >=2.2 doc
Get Flags $client->getFlags(); >=2.2 doc