#python-3.x #flask #kubernetes
#python-3.x #flask #kubernetes
Вопрос:
Я создаю прокси, который собирает показатели с помощью Python3 Flask
Мой пример кода:
from flask import Flask, render_template
import requests
app = Flask(__name__)
@app.route('/metrics')
def metrics():
x = requests.get('http://192.168.122.227:31805/metrics')
y = requests.get('http://10.5.69.76:32303/metrics')
a = (x.text) (y.text)
print (type(a))
return a
if __name__ == '__main__':
app.run(host='0.0.0.0',port="5000", debug=False)
На сайте metrics есть такие показатели:
# HELP kube_certificatesigningrequest_labels Kubernetes labels converted to Prometheus labels.
# TYPE kube_certificatesigningrequest_labels gauge
# HELP kube_certificatesigningrequest_created Unix creation timestamp
# TYPE kube_certificatesigningrequest_created gauge
# HELP kube_certificatesigningrequest_condition The number of each certificatesigningrequest condition
# TYPE kube_certificatesigningrequest_condition gauge
# HELP kube_certificatesigningrequest_cert_length Length of the issued cert
# TYPE kube_certificatesigningrequest_cert_length gauge
# HELP kube_configmap_info Information about configmap.
...
...
Но мой прокси-сервер отображается так:
# HELP kube_certificatesigningrequest_labels Kubernetes labels converted to Prometheus labels. # TYPE kube_certificatesigningrequest_labels gauge # HELP kube_certificatesigningrequest_created Unix creation timestamp # TYPE kube_certificatesigningrequest_created gauge # HELP kube_certificatesigningrequest_condition The number of each certificatesigningrequest condition # TYPE kube_certificatesigningrequest_condition gauge # HELP kube_certificatesigningrequest_cert_length Length of the issued cert # TYPE kube_certificatesigningrequest_cert_length gauge # HELP kube_configmap_info Information about configmap. # TYPE
...
Итак, как я могу разбить строку на моем веб-сайте, она собирает всю строку, поэтому я не могу их разделить.
Комментарии:
1. Ваше приложение flask возвращает содержимое, отличное от HTML. Таким образом, в браузере он не будет иметь форматирования. Но в командной строке это будет выглядеть нормально при правильном переносе строки. Если вы хотите иметь правильное форматирование в браузере, попробуйте заключить содержимое в
<pre></pre>
HTML-теги следующим образом:a = '<pre>' (x.text) (y.text) '</pre>'
.