For the complete documentation index, see llms.txt. This page is also available as Markdown.

Docker

Informações gerais

Portas do Exporter

Exporter
Porta

API

nginx_api_proxy:8081/metrics

nginx

nginx_container:9113/metrics

TFSS

bio_container:8501/metrics/tfss

Blackbox

blackbox_container:9115

PostgreSQL

postgres_container:9187/metrics

Você pode encontrar a configuração do exporter já preparada em nosso repositório. Após a implantação, substitua os nomes dos contêineres por endereços reais. Por exemplo, se o seu contêiner nginx estiver em 192.168.8.8, altere - targets: ["nginx_container:9113"] como - targets: ["192.168.8.8:9113"].

Caminhos de healthcheck

API

GET http://api:8000/api/version

GET http://api:8000/api/healthcheck

BIO

GET http://bio:8501/v1/models/{{model_name}}

POST http://bio:8501/v1/models/dummy:predict

method: POST
body: '{"inputs": {"images_bytes": [{"b64": "aaa"}]}}'

API

Para habilitar as métricas da API, no docker/template/nginx.yml arquivo, descomente 9081:8081:

Job do Prometheus

O sd/oz-api.yml arquivo (em vez dos placeholders, coloque os nomes dos seus contêineres e o endereço do host):

Visão geral das métricas

Métrica
Descrição
Tipo
Rótulos

oz_api_versions_total (também disponível como oz_api_versions_created, oz_api_info_created, oz_api_info_total)

Exibe informações da versão da API quando você chama /api/version

contador

lamb

core – versão do core

oz_api – versão da API

oz_api_analyses_total

Número de análises processadas

contador

analysis_result – estado da análise (FINALIZADA, FAILED)

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

company_id – identificador da empresa

resolution_status – resolução da análise (SUCCESS, DECLINED)

oz_api_analyses_created

Número de análises que foram iniciadas

medidor

analysis_result – estado da análise (FINALIZADA, FAILED)

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

company_id – identificador da empresa

resolution_status – resolução da análise (SUCCESS, DECLINED)

oz_api_analyses_in_progress

Número de análises atualmente em processamento

medidor

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

company_id – identificador da empresa

oz_api_analyse_duration_seconds_bucket

Um histograma da duração da análise. Buckets padrão: 0.1,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,10,12,15,20,30,inf

histograma

analysis_result – estado da análise (FINALIZADA, FAILED)

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

resolution_status – resolução da análise (SUCCESS, DECLINED)

company_id – identificador da empresa

le – tamanho do bucket

oz_api_analyse_duration_seconds_count

Soma das durações das análises

contador

analysis_result – estado da análise (FINALIZADA, FAILED)

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

resolution_status – estado da análise (SUCCESS, DECLINED)

company_id – identificador da empresa

oz_api_analyse_duration_seconds_sum

Número de análises cujas durações foram contabilizadas

contador

analysis_result – resolução da análise (FINALIZADA, FAILED)

analysis_type – tipo de análise (QUALITY, BIOMETRY, DOCUMENTS)

resolution_status – resolução da análise (SUCCESS, DECLINED)

company_id – identificador da empresa

oz_api_analyse_duration_seconds_created

Carimbo de data/hora do início da contagem da métrica de duração

django_http_requests_total_by_transport_total

Número de requisições por protocolo de transporte

contador

transport – protocolo (HTTP, HTTPS)

uid – identificador do usuário

django_http_responses_before_middlewares_total

Número de respostas do Django antes da execução dos middlewares

contador

uid – identificador do usuário

django_http_exceptions_total_by_type_total

Número de exceções do Django por tipo

contador

exception_type – tipo de exceção

uid – identificador do usuário

django_http_requests_latency_seconds_by_view_method_bucket

Histograma da latência de processamento de requisições por views

histograma

method – método HTTP

uid – identificador do usuário

view_name – nome da view

le – tamanho do bucket

django_http_requests_latency_seconds_by_view_method_count

Número de medições das durações de processamento de requisições por views

contador

method – método HTTP

uid – identificador do usuário

view_name – nome da view

django_http_requests_latency_seconds_by_view_method_sum

Soma das durações de processamento de requisições por views

contador

method – método HTTP

uid – identificador do usuário

view_name – nome da view

Capturas de tela ilustrativas:

Duração das análises dividida pelo valor médio / tipo de análise e quantil / tipo de análise. A descontinuidade é causada pelo contador da métrica, que é iniciado separadamente para cada análise

Alertas do Grafana


TFSS

Para habilitar as métricas, defina TFSS_PROMETHEUS="true" em /configs/env/tfss.env.

Para alterar o caminho padrão das métricas, descomente TFSS_METRICS_URI="/metrics/tfss" em /configs/env/tfss.env e defina o caminho.

Job do Prometheus

Em vez do placeholder, coloque o nome do seu contêiner.

Visão geral das métricas

Métrica
Descrição

:tensorflow:serving:request_count

Número total de requisições ao TFSS

:tensorflow:serving:request_latency_bucket

Histograma do tempo de processamento da requisição

:tensorflow:serving:request_latency_sum

Soma das durações de processamento das requisições

:tensorflow:serving:request_latency_count

Número total de requisições cujas durações foram contabilizadas

:tensorflow:cc:saved_model:load_attempt_count

Modelos carregados

Capturas de tela ilustrativas:

Número total de requisições ao TFSS por segundo e por minuto, dividido por modelo
Quantil 0,95 (ou o definido em $quantile) da duração de processamento da requisição no TFSS
Tempo médio de processamento da análise
O blackbox integrado envia requisições para verificar os estados dos modelos, deve ser 1; se não, probe_success o TFSS não está funcionando corretamente

Os alertas de TFSS são cobertos na Blackbox seção abaixo.


nginx

Job do Prometheus

Em vez do placeholder, coloque o nome do seu contêiner.

Visão geral das métricas

Métrica
Descrição

nginx_up

Mostra se o nginx está em execução: 1 – serviço está ativo, 0 – serviço está inativo

nginx_connections_accepted

Número de conexões aceitas pelo nginx

nginx_connections_handled

Número de conexões tratadas pelo nginx

nginx_connections_active

Conexões ativas do nginx

Capturas de tela ilustrativas:

Número total de requisições ao nginx
Estado das conexões do nginx. Verifique se não há conexões obsoletas
Taxa de sucesso do processamento. Os números de conexões aceitas e tratadas devem ser iguais

Alertas do Grafana


Blackbox

As sondas Blackbox verificam se a API e o TFSS estão respondendo corretamente. É necessário configurar os módulos, os arquivos de alvo de SD e os jobs do Prometheus conforme mostrado abaixo.

Configuração

Configuração dos arquivos SD para Blackbox (em vez dos placeholders, coloque os nomes dos seus contêineres)

blackbox_tfss_models.yml:

blackbox_tfss_probe.yml:

blackbox-exporter-ozforensics.yml:

blackbox-api-healthcheck.yml:

Job do Prometheus

Em vez dos placeholders, coloque os nomes dos seus contêineres e os endereços do host.

Visão geral das métricas

Métrica
Descrição

probe_success

Mostra se a chamada da URL foi concluída com sucesso (o Blackbox recebeu uma resposta com a expressão regular exigida)

Alertas do Grafana

Para a API:

Para o TFSS:


PostgreSQL

Job do Prometheus

Em vez do placeholder, coloque o nome do seu contêiner.

Alertas do Grafana


Outros alertas

up exibe se a última coleta de métricas foi concluída com sucesso: 1 se sim, 0 se não.


Jobs opcionais do Prometheus

Node-exporter

O node-exporter.yml arquivo (em vez do placeholder, informe o endereço do seu host):

cAdvisor

O cadvisor.yml arquivo (em vez do placeholder, informe o endereço do seu host):


Alertas do Telegram

Certifique-se de substituir todos os placeholders.

Depois, em ./alertmanager, crie templates/ e adicione o arquivo de template.


A API 6 não requer mais Celery nem Redis, portanto as métricas correspondentes não são abordadas neste guia.

Você pode personalizar os alertas de acordo com suas necessidades. Por favor, prossiga para nosso repositório para encontrar os arquivos de alerta.

Atualizado

Isto foi útil?