Skip to main content

metricsGPT

Talk to your metrics.

Demo

[!NOTE]

This is a work in progress with no API guarantees. The current implementation needs work on scalability. Right now it will cause quite some load on your Prometheus API and take a while.

Installation

Ensure you have Python 3.12+ and Node v20+ locally .

By default this tool uses llama3 and nomic-embed-text.

ollama pull llama3
ollama pull nomic-embed-text

Have some prometheus up and running. You can use make run-prom to get one running in docker that scrapes itself.

You can choose to grab the CLI from https://pypi.org/project/metricsgpt/

pip3 install metricsgpt
metricsGPT --server --config=config.yaml

If building locally you can use Poetry,

poetry install
poetry run metricsGPT --server --config=config.yaml

and visit localhost:8081!

## Configuration

Edit config.yaml to suit your own models/Prometheus/Thanos setups.

# Prometheus Configuration
prometheus_url: "http://localhost:9090"
# prometheus_auth:
#   # Basic authentication
#   basic_auth:
#     username: "your_username"
#     password: "your_password"
  
#   # Or Bearer token
#   bearer_token: "your_token"
  
#   # Or custom headers
#   custom_headers:
#     Authorization: "Custom your_auth_header"
#     X-Custom-Header: "custom_value"
  
#   # TLS/SSL configuration
#   tls:
#     cert_file: "/path/to/cert.pem"
#     key_file: "/path/to/key.pem"
#     skip_verify: false  # Set to true to skip 

prom_external_url: null  # Optional external URL for links in the UI
query_lookback_hours: 1.0

# Storage Configuration
vectordb_path: "./data.db"
series_cache_file: "./series_cache.json"

# Server Configuration
refresh_interval: 900  # VectorDB Refresh interval in seconds 
server_host: "0.0.0.0"
server_port: 8081

# LLM Configuration
llm:
  provider: "ollama"
  model: "llama3.1"

embedding:
  provider: "ollama"  # or "openai"
  model: "nomic-embed-text"
  dimension: 768 # optional, defaults to this dimension

# For Azure OpenAI embeddings:
#embedding:
#  provider: "azure"
#  model: "text-embedding-ada-002"
#  deployment_name: "your-embedding-deployment"
#  api_key: "your-api-key"
#  endpoint: "your-azure-endpoint"
#  api_version: "2023-05-15"  
#  dimension: "dimensions of model"

# For Watson embeddings:
#embedding:
#  provider: "watsonx"
#  api_key: "your-api-key"
#  project_id: "your-project-id"
#  model_id: "google/flan-ul2"  # optional, defaults to this model
#  dimension: "dimensions of model"

# For OpenAI embeddings:
#embedding:
#  provider: "openai"
#  model: "text-embedding-ada-002"
#  api_key: "your-api-key"
#  dimension: "dimensions of model"

# Example configurations for different providers:

# For OpenAI:
#llm:
#  provider: "openai"
#  model: "gpt-4"
#  api_key: "your-api-key"

# For Ollama:
#llm:
#  provider: "ollama"
#  model: "metricsGPT"
#  timeout: 120.0

# For Azure:
#llm:
#  provider: "azure"
#  model: "gpt-4"
#  deployment_name: "your-deployment"
#  api_key: "your-api-key"
#  endpoint: "your-azure-endpoint"

# For Gemini:
#llm:
#  provider: "gemini"
#  model: "gemini-pro"
#  api_key: "your-api-key"

# For WatsonX:
#llm:
#  provider: "watsonx"
#  api_key: "your-api-key"
#  project_id: "your-project-id"
#  model_id: "your-model-id"

TODOs:

  • Much more efficient vectorDB ops
  • Use other Prom HTTP APIs for more context
  • Range queries
  • Visualize
  • Embed query results for better analysis
  • Process alerts

Release files for metricsgpt 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metricsgpt 0.3.0
File Size Uploaded
metricsgpt-0.3.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for metricsgpt 0.3.0
File Interpreter ABI Platform
metricsgpt-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.8 MB

Release files / metricsgpt-0.3.0.tar.gz

Download URL metricsgpt-0.3.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
8a57ec3067911d9c45b58fd9d4a97c1f15f4d383b78c50d38df924e719e4202a
BLAKE2b-256 checksum
How to use checksums
a5a701ed99325d5f00250c21dff00d8330e09a1351552933709a07b6aaa7d77c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.0 CPython/3.13.1 Darwin/23.6.0

Release files / metricsgpt-0.3.0-py3-none-any.whl

Download URL metricsgpt-0.3.0-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
28e2f48839d99a429ae8c1ef5b87c29dabc7ebef917c5a11ade724edb3666bf6
BLAKE2b-256 checksum
How to use checksums
f7a28addb49f365ea4e1188ecbae142701e039a890502abcb7468621111bcfcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.0 CPython/3.13.1 Darwin/23.6.0

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page