저는 Prometheus를 처음 사용하며 파이썬 라이브러리를 사용하여 사용자 정의 내보내기를 작성하려고합니다. 이를 위해 prometheus_client
을 사용하고 있습니다.API 호출에서 타사 시스템으로 데이터를 가져와 Promethues에 표시합니다.
내 목표는 내 볼트 노드를 모니터링하는 것입니다. 내 볼트 노드에 대한 측정 항목을 수집하는 데 사용할 수있는 여러 API가 있습니다. 그래서
vault_total_conection <some-number>
vault_total_secrets <some-number>
및이의 말에 나는 내 promethues이 같은 말을 dahsboard합니다.
내가 https://github.com/prometheus/client_python에서 가져온 기본 파이썬 코드는 다음과 같습니다
from prometheus_client import start_http_server, Summary
import random
import time
# Create a metric to track time spent and requests made.
REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request')
# Decorate function with metric.
@REQUEST_TIME.time()
def process_request(t):
"""A dummy function that takes some time."""
time.sleep(t)
if __name__ == '__main__':
# Start up the server to expose the metrics.
start_http_server(8000)
# Generate some requests.
while True:
process_request(random.random())
은 지금은 모두가 알아 낸 금고쪽으로 API 설정을 가지고있다. 저장소에 연결하여 부동 소수점 숫자를 반환하는 함수가 있습니다.
def extract_metric_from_vault():
// some code
return float_number
이 함수는 위의 코드에서 정의됩니다. 이해해야 할 문제는 promethue 클라이언트와 통합하는 방법입니다. 나는 가치가 높거나 낮을 것이라는 것을 알기 때문에 Gauge를 사용하고 싶다.
TEST_VALUE = Gauge('vault_total_conection', 'Description of gauge')
TEST_VALUE.extract_metric_from_vault()
그러나이 명확하게 나던 작업 :
그래서 내가 좋아하는 뭔가를 할하려고합니다.
Traceback (most recent call last):
File "main.yaml", line 8, in <module>
TEST_VALUE.extract_metric_from_vault()
AttributeError: 'Gauge' object has no attribute 'extract_metric_from_vault'
그래서 누군가가 그냥 여기에 점을 연결해야 무엇으로 나를 인도 할 수
가 나는 오류가 발생합니다. 나는 함수를 사용하는 API 호출로부터 가치를 끌어 내 프로 메테우스에 표시하려고합니다. 그런 다음 main()
if __name__ == '__main__':
# Start up the server to expose the metrics.
start_http_server(8000)
# Generate some requests.
while True:
extract_metric_from_vault()
그리고 당신의 함수를 호출 할 필요가 AFAIK