Capítulo 3. Instrumentación

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Los mayores beneficios que obtendrás de Prometheus son instrumentando tus propias aplicaciones mediante instrumentación directa y una biblioteca cliente. Las bibliotecas cliente están disponibles en varios lenguajes, con bibliotecas cliente oficiales en Go, Python, Java, Rust y Ruby.

Aquí utilizamos Python 3 como ejemplo, pero los mismos principios generales se aplican a otros lenguajes y tiempos de ejecución, aunque la sintaxis y los métodos de utilidad variarán.

La mayoría de los SO modernos vienen con Python 3. En el improbable caso de que aún no lo tengas, descarga e instala Python 3.

También tendrás que instalar la última biblioteca cliente de Python. Puedes hacerlo con pip install prometheus_client. Puedes encontrar los ejemplos de instrumentación en GitHub.

Un programa sencillo

Para empezar, hemos escrito un servidor HTTP sencillo que se muestra enel Ejemplo 3-1. Si lo ejecutas con Python 3 y luego visitashttp://localhost:8001/ en tu navegador, obtendrás una respuesta del tipo Hola Mundo.

Ejemplo 3-1. Un sencillo programa Hola Mundo que también expone las métricas de Prometheus
import http.server
from prometheus_client import start_http_server

class MyHandler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b"Hello World")

if __name__ == "__main__":
    start_http_server ...

Get Prometeo: Up & Running, 2ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.