feat: add prometheus metrics and ServiceMonitor
This commit is contained in:
parent
2a625c66c7
commit
f941a465f5
9
app.py
9
app.py
|
|
@ -1,5 +1,6 @@
|
|||
import os
|
||||
from flask import Flask, render_template, request, flash
|
||||
from prometheus_flask_exporter import PrometheusMetrics
|
||||
import google.generativeai as genai
|
||||
from markdown import markdown
|
||||
from dotenv import load_dotenv
|
||||
|
|
@ -9,6 +10,13 @@ load_dotenv()
|
|||
app = Flask(__name__)
|
||||
app.secret_key = os.environ.get("FLASK_SECRET_KEY", "prod-secret-7721")
|
||||
|
||||
metrics = PrometheusMetrics(app)
|
||||
metrics.info('app_info', 'Application info', version='1.0.5')
|
||||
|
||||
conversion_counter = metrics.counter(
|
||||
'txt2md_conversions_total', 'Total number of text conversions'
|
||||
)
|
||||
|
||||
# API Configuration
|
||||
api_key = os.environ.get("AI_API_KEY")
|
||||
if api_key:
|
||||
|
|
@ -36,6 +44,7 @@ def index():
|
|||
response = model.generate_content(prompt)
|
||||
markdown_content = response.text
|
||||
converted_html = markdown(markdown_content, extensions=['extra', 'codehilite'])
|
||||
conversion_counter.inc()
|
||||
except Exception as e:
|
||||
flash(f"Error during processing: {str(e)}", "error")
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ spec:
|
|||
serviceAccountName: txt2md-sa
|
||||
containers:
|
||||
- name: txt2md
|
||||
image: europe-west3-docker.pkg.dev/project-84ddd43d-e408-4cb9-8cb/txt2md-repo/txt2md:v1.0.4
|
||||
image: europe-west3-docker.pkg.dev/project-84ddd43d-e408-4cb9-8cb/txt2md-repo/txt2md:v1.0.5
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
env:
|
||||
|
|
@ -98,3 +98,19 @@ spec:
|
|||
port: 80
|
||||
targetPort: 5000
|
||||
type: ClusterIP
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: txt2md-monitor
|
||||
namespace: default
|
||||
labels:
|
||||
release: monitoring # Matches the Prometheus operator selector
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: txt2md
|
||||
endpoints:
|
||||
- port: http
|
||||
interval: 30s
|
||||
path: /metrics
|
||||
|
|
|
|||
|
|
@ -2,3 +2,4 @@ flask
|
|||
google-generativeai
|
||||
python-dotenv
|
||||
markdown
|
||||
prometheus-flask-exporter
|
||||
|
|
|
|||
Loading…
Reference in New Issue