-
[ Python ] Prometheus metric 값 가져오기Python/Python Programming 2023. 5. 24. 13:56
Python을이용하여 promQL 쿼리하여 값 가져오기
Sample Metric : jvm_memory_used_bytes
import requests from datetime import datetime instance = '127.0.0.1:8080' job = 'spring' query = 'sum(jvm_memory_used_bytes{area="heap", instance="%s", job="%s"})' % (instance,job) def prometheus_data(instance,jop,query): response = requests.get('http://127.0.0.1:9090/api/v1/query', params={'query': query}) response = response.json()['data']['result'] response = response[0]['value'] return datetime.fromtimestamp(int(response[0])), int(response[1]) # Unix TimeStamp는 datetime 모듈로 일반타임으로 변경 리턴 print(prometheus_data(instance,job,query)) -------------------------------------------------------------------------------------------- (datetime.datetime(2023, 5, 24, 13, 44, 14), 5207844864)
특정시간 때 Metric을 보고 싶을 때는,
import datetime from datetime import timedelta t = datetime.datetime.now(datetime.timezone.utc) - timedelta(days=1) ...... params={'query': query,'time':t.isoformat()} # 'time':RFC 3339 Format
Document : https://prometheus.io/docs/prometheus/latest/querying/api/
'Python > Python Programming' 카테고리의 다른 글
[ Python ] mp4 url 다운로드 후 다이렉트 S3 저장 (0) 2023.05.25 [ Python ] requests 모듈 다양한 이용 (0) 2023.05.25 [ Python ] requests 모듈을 이용한 동영상 다운로드 (0) 2023.05.25 [ Python ] 정규식 이용한 IP address 마스킹(감추기) 하기 (3) 2023.05.24 [ Python ] Linux 파일 (스토리지) 연도별 개수와 총 용량 구하기 (0) 2023.05.24 [ Python ] socket 모듈을 이용한 Port open / close check (0) 2023.05.23 [ Python ] pandas DataFrame을 HTML 형식으로 export 하기. (모니터링 활용) (0) 2023.05.17 [ Python ] 웹 서버 날짜 확인 하기 (0) 2023.05.14