exporting prometheus metrics as the /metrics route with Flask?

179 views
Skip to first unread message

JI Ioannidis

unread,
May 13, 2017, 3:02:04 PM5/13/17
to Prometheus Users
Here is a typical pared-down Flask application:

def main(args, options):
  reload(sys)
  sys.setdefaultencoding('utf-8')
  flask_app.debug = True
  flask_app.run(debug=True, host='0.0.0.0', port=9080, threaded=True,
                use_reloader=False)
 
@flask_app.route('/test', methods=['POST', 'GET'])
def view_test():
  return repr(request) + repr(request.args) + repr(request.form)

How do export my prometheus metrics as a /metrics route? 

@flask_app.route('/metrics', methods=['GET'])
def view_metrics():
  return # what goes here

Stuart Clark

unread,
May 13, 2017, 6:07:42 PM5/13/17
to JI Ioannidis, Prometheus Users

> Here is a typical pared-down Flask application:
>
> *def main(args, options):*
> * reload(sys)*
> * sys.setdefaultencoding('utf-8')*
> * flask_app.debug = True*
> * flask_app.run(debug=True, host='0.0.0.0', port=9080, threaded=True,*
> * use_reloader=False)*
>
>
>
> *@flask_app.route('/test', methods=['POST', 'GET'])*
> *def view_test():*
> * return repr(request) + repr(request.args) + repr(request.form)*
>
>
> How do export my prometheus metrics as a /metrics route?
>
> *@flask_app.route('/metrics', methods=['GET'])*
> *def view_metrics():*
> * return # what goes here*
>

from prometheus_client import generate_latest, REGISTRY, Gauge, Counter

def view_metrics():
return generate_latest(REGISTRY)




--
Stuart Clark

Reply all
Reply to author
Forward
0 new messages