aleteus / prometheus_client_php
Prometheus instrumentation library for PHP applications.
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 213
pkg:composer/aleteus/prometheus_client_php
Requires
- php: ^7.1
 - ext-json: *
 - guzzlehttp/guzzle: ^6.2
 - symfony/polyfill-apcu: ^1.6
 
Requires (Dev)
- phpunit/phpunit: ^7.5
 
Suggests
- ext-apc: Required if using APCu.
 - ext-redis: Required if using Redis.
 
README
Instalação
composer require aleteus/prometheus_client_php
Como usar?
            
            $parameters = [
                'name1' => $var1,
                'name2' => $var2,
                'name3' => $var3
            ];
            
            $prometheus = new PrometheusClient(
                '*:9091', 
                'nome', 
                'da_metrica', 
                'produto', 
                $parameters, 
                'tipo da metrica (histogram, counter ou gauge)', 'nome_da_aplicação');  
               
                $prometheus->pushGateway($timeProcess, $parameters, $help);
Explicando:
Parameters:
- O parameters armazena informações adicionais que são escolhidas de acordo com a necessidade da monitoria, e aparecem em forma de 'etiquetas' na interface do Pushgateway, as quais serão manipuladas na hora de montar os gráficos no Grafana. Este mantém o padrão 'name1' => $var1. A string 'name1' pra indicar o nome que indique o valor da váriável '$var1'.
 
Prometheus:
- O cliente é criado a partir de sete argumentos:
- Endereço do Pushgateway,
 - Nome da métrica (separado por duas strings)
 - Nome do produto
 - O próprio $parameters
 - Tipo da métrica
 - Nome da aplicação
 
 
Exemplo:
$prometheus = new PrometheusClient( '*:9091', 'nome', 'da_metrica', 'produto', $parameters, 'tipo da metrica (histogram, counter ou gauge)', 'nome_da_aplicação'); $prometheus->pushGateway($timeProcess, $parameters, $help);
Pushgateway
$prometheus->pushGateway($timeProcess, $parameters, $help);
Essa parte do código é a responsável por enviar todas as informações para o Prometheus e Pushgateway e ela possui três parâmetros obrigatórios: ($timeProcess, $parameters, $help).
- O  
$timeprocessprecisa ter o valor de algum momento do processamento do código. - O 
$parametersvai enviar o array que criamos no exemlo anterior. - E o 
$helpvai possuir alguma informação adicional que queira armazenar no Pushgateway. 
- Obs: Se algum desses parâmetros for nulo, o envio não irá funcionar!
Tipos de métricas
Histogram
- 'Histograms' captam eventos e a frequência que estes ocorrem.
 
Counter
- 'Counters' tem a utilidade de seu próprio significado, simplesmente um contador, o qual se reinicia no final do processo.
 
Gauge
-'Gauges' são similarres aos 'Counters', mas o valor de um Gauge pode subir ou descer.