Прерывание при запросе данных с веб-сайта metrics с использованием Python?

#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>' .