Add prometheus metrics
parent
034d54522f
commit
767868ce38
|
@ -20,7 +20,7 @@ ENV FLASK_APP formity
|
|||
ENV FLASK_ENV production
|
||||
|
||||
COPY . .
|
||||
|
||||
ENV prometheus_multiproc_dir /tmp
|
||||
STOPSIGNAL SIGINT
|
||||
USER uwsgi
|
||||
CMD flask db upgrade && exec uwsgi --http-socket 0.0.0.0:5000 \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import flask
|
||||
from formity.admin import IndexView
|
||||
from formity.extensions import db, migrate, admin, auth, babel
|
||||
from formity.extensions import db, migrate, admin, auth, babel, metrics
|
||||
|
||||
def create_app():
|
||||
app = flask.Flask(
|
||||
|
@ -16,6 +16,7 @@ def create_app():
|
|||
migrate.init_app(app, db)
|
||||
babel.init_app(app)
|
||||
auth.init_app(app)
|
||||
metrics.init_app(app)
|
||||
|
||||
import formity.views
|
||||
import formity.models
|
||||
|
|
|
@ -3,6 +3,7 @@ import flask_sqlalchemy
|
|||
import flask_migrate
|
||||
import flask_admin
|
||||
import flask_babel
|
||||
import prometheus_flask_exporter
|
||||
import spaceauth
|
||||
|
||||
from flask_admin.contrib.sqla import ModelView as BaseModelView
|
||||
|
@ -27,3 +28,4 @@ migrate = flask_migrate.Migrate()
|
|||
admin = flask_admin.Admin(template_mode='bootstrap3')
|
||||
babel = flask_babel.Babel()
|
||||
auth = spaceauth.SpaceAuth()
|
||||
metrics = prometheus_flask_exporter.PrometheusMetrics(None, group_by='url_rule')
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from flask_wtf import FlaskForm
|
||||
from wtforms import StringField, BooleanField, TextAreaField, IntegerField, validators, ValidationError
|
||||
from wtforms.widgets import html5
|
||||
from jinja2 import Markup
|
||||
|
||||
|
||||
class FaceshieldRequestForm(FlaskForm):
|
||||
|
@ -15,7 +16,7 @@ class FaceshieldRequestForm(FlaskForm):
|
|||
|
||||
faceshield_full_required = IntegerField('Pilnie potrzebna minimalna ilość pełnych przyłbic', default=0, validators=[validators.InputRequired()], widget=html5.NumberInput())
|
||||
|
||||
rules_approval = BooleanField('Jestem z placówki medycznej i zobowiązuję się do nieodsprzedawania otrzymanego sprzętu ochronnego. Jestem świadom, że nie jest to certyfikowany produkt medyczny i nie jest dezynfekowany/sterylny.', validators=[validators.DataRequired()])
|
||||
rules_approval = BooleanField(Markup('<b>Jestem pracownikiem powyższej placówki medycznej</b> i zobowiązuję się do nieodsprzedawania otrzymanego sprzętu ochronnego. Jestem świadom, że nie jest to certyfikowany produkt medyczny i nie jest dezynfekowany/sterylny.'), validators=[validators.DataRequired()])
|
||||
|
||||
def validate_faceshield_model(self, field):
|
||||
model = field.data.strip()
|
||||
|
|
|
@ -21,6 +21,8 @@ Mako==1.1.2
|
|||
MarkupSafe==1.1.1
|
||||
marshmallow==3.5.1
|
||||
oauthlib==2.1.0
|
||||
prometheus-client==0.7.1
|
||||
prometheus-flask-exporter==0.13.0
|
||||
python-dateutil==2.8.1
|
||||
python-dotenv==0.12.0
|
||||
python-editor==1.0.4
|
||||
|
|
Loading…
Reference in New Issue