Skip to content

PromPHP/prometheus_push_gateway_php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c57c1ab · Apr 11, 2022

History

19 Commits
Apr 11, 2022
Oct 26, 2020
Oct 26, 2020
Apr 11, 2022
Apr 11, 2022
Sep 21, 2020
Sep 21, 2020
Sep 21, 2020
Apr 11, 2022
Apr 11, 2022
Sep 21, 2020
Sep 21, 2020
Oct 26, 2020
Sep 21, 2020

Repository files navigation

A prometheus push gateway client library written in PHP

Tests

This package provides an easy PHP API for Prometheus Push Gateway. It was part of promphp/prometheus_client_php and was moved into a seperate package as of Prometheus Client PHP Version 2.0.0.

How does it work?

The PushGateway allows Prometheus to get Metrics from Systems that are not scrableable (Your Prometheus cannot access that systems). With this library you can easily send your metrics to the PushGateway.

Installation

Add as Composer dependency:

composer require promphp/prometheus_push_gateway_php

Usage

Let's assume you have that simple counter and want to send it to your PushGateway.

\Prometheus\CollectorRegistry::getDefault()
    ->getOrRegisterCounter('', 'some_quick_counter', 'just a quick measurement')
    ->inc();

// Now send it to the PushGateway:
$pushGateway = new \PrometheusPushGateway\PushGateway('http://192.168.59.100:9091');
$pushGateway->push(\Prometheus\CollectorRegistry::getDefault(), 'my_job', ['instance' => 'foo']);

Also look at the examples.

Development

Dependencies

Black box testing

Just start the PushGateway by using docker-compose

docker-compose up

Use composer to grab all dependencies

docker run --rm --interactive --tty --volume $PWD:/app composer install

Execute the tests:

docker-compose run phpunit vendor/bin/phpunit tests/Test/