Mudzapezanso mndandanda wa zizindikiro mu YERENGANI zitsanzo zomwe zimawoneka mu dashboard, pamodzi ndi mafunso a Prometheus omwe amadzaza ma dashboards.
kusintha
Pali njira zambiri zosinthira mu library, yang'anani YERENGANI zitsanzo za polojekiti ndi kufotokozera mwachidule.
Ma Counter amawerengera mafoni, ndipo ena amatolera ma metric kutengera nthawi yakuyimbirako. Mutha kutanthauzira zilembo pa chilichonse mwa izi, pogwiritsa ntchito zopempha kapena mayankho. Mwachitsanzo:
from flask import Flask, request
from prometheus_flask_exporter import PrometheusMetrics
app = Flask(__name__)
# group by endpoint rather than path
metrics = PrometheusMetrics(app, group_by='endpoint')
@app.route('/collection/:collection_id/item/:item_id')
@metrics.counter(
'cnt_collection', 'Number of invocations per collection', labels={
'collection': lambda: request.view_args['collection_id'],
'status': lambda resp: resp.status_code
})
def get_item_from_collection(collection_id, item_id):
pass
Mu chitsanzo pamwamba, kuwonekera pa mapeto /collection/10002/item/76 zipangitsa kuti kauntala ichuluke, mwachitsanzo cnt_collection{collection = "10002", status = "200"}, kuphatikizanso mupeza zoyezetsa zokhazikika (pamapeto aliwonse pachitsanzo ichi) kuchokera mulaibulale yokhazikika:
flask_http_request_duration_seconds - Kutalika kwa pempho la HTTP mumasekondi pazofunsira zonse za Flask ndi njira, njira ndi mawonekedwe
flask_http_request_total - Chiwerengero chonse cha zopempha za HTTP ndi njira ndi ma status
Onani chitsanzo chonse pa Zosungirako za GitHub. Izi zikuganiza kuti Prometheus atha kupeza mawonekedwe a Flask yanu http://app:5000/metrics, pomwe dzina lachidziwitso la pulogalamu limatha kukhazikika pama adilesi angapo a IP, mwachitsanzo mukamalowa Kubernetes kapena Gulu la Docker.
Ngati kuwulula ma metrics endpoint motere sikukugwirizana ndi inu, mwina chifukwa simukufuna kulola mwayi wakunja, mutha kuyimitsa mosavuta podutsa. njira=Palibe popanga chitsanzo Zithunzi za PrometheusMetrics.
from flask import Flask, request
from prometheus_flask_exporter import PrometheusMetrics
app = Flask(__name__)
metrics = PrometheusMetrics(app, path=None)
...
metrics.start_http_server(5099)
Ndiye mungagwiritse ntchito kuyamba_http_seva(doko)kuti mutsegule mapeto awa pa doko lina la HTTP, 5099 mu chitsanzo pamwambapa. Kapenanso, ngati muli okondwa kuti mapeto ali mu Flask yomweyi, koma muyenera kusintha njira yake /metrics, mutha kudutsa URI ina ngati njira yolowera, kapena kugwiritsa ntchito register_endpoint(..)kukhazikitsa pambuyo pake.