Prometheus: Python HTTP 서버와 프로세스 체크

2026. 3. 22. 09:17·🖥️Monitoring/Prometheus

먼저, http 서버를 돌려야 하기 때문에 python3 설치 여부 확인

which python3

내가 체크하고자 하는 프로세스가 돌고 있는지 체크하는 sh 파일

# cd /usr/local/bin 에
### crawler_check.sh
#!/bin/bash
# 체크할 프로세스의 경로를 변수에 저장합니다.
PROCESS_PATH="./venv/bin/python tool/checkup_crawler.py --prod -d"
# 프로세스가 실행 중인지 확인합니다.
if pgrep -f "$PROCESS_PATH" > /dev/null
then
    PROCESS_STATUS=1  # 프로세스가 실행 중이면 1
else
    PROCESS_STATUS=0  # 프로세스가 실행 중이지 않으면 0
fi
# Prometheus 메트릭 포맷으로 출력합니다.
echo "# HELP process_up Is the process running (1 for yes, 0 for no)"
echo "# TYPE process_up gauge"
echo "process_up $PROCESS_STATUS"
# 이렇게 작성 함.

위의 파일이 정기적으로 돌면서 http에 update하는 sh파일

#!/bin/bash

while true; do
    /usr/local/bin/crawler_check.sh > /var/www/html/metrics
    sleep 60
done

혹시 모르니, /var/www/html => 디렉토리 생성.

작성했던 sh 파일을 기반으로 systemd에 등록해주자.

### python-http 서버 데몬으로 실행.
### crawler_http.service

[Unit]
Description=crawler_check
After=network.target
[Service]
WorkingDirectory=/var/www/html
ExecStart=/bin/python3 -m http.server 8080
User=root
Restart=always
[Install]
WantedBy=multi-user.target

만들었던 sh 파일 실행.
### metric_server.service

[Unit]
Description=Metric Server Script
After=network.target
[Service]
ExecStart=/usr/local/bin/metric_server.sh
User=root
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
저작자표시 비영리 변경금지 (새창열림)

'🖥️Monitoring > Prometheus' 카테고리의 다른 글

Prometheus: Node Exporter 설치가이드  (0) 2026.03.22
Prometheus: Alertmanager Curl로 Silence 요청하는 법  (0) 2026.03.22
Prometheus: 설치가이드  (0) 2026.03.22
Prometheus: Blackbox Exporter 사용기  (0) 2026.03.22
Prometheus: alertmanager 오류 대처법  (0) 2026.03.22
'🖥️Monitoring/Prometheus' 카테고리의 다른 글
  • Prometheus: Alertmanager Curl로 Silence 요청하는 법
  • Prometheus: 설치가이드
  • Prometheus: Blackbox Exporter 사용기
  • Prometheus: alertmanager 오류 대처법
Diven
Diven
  • Diven
    Diven
    Diven
  • 전체
    오늘
    어제
    • 분류 전체보기 (110) N
      • ☁️Cloud (21) N
        • AWS (2)
        • Alibaba (14) N
        • OCI (1)
        • AWS: Certified Solution Arc.. (0)
        • AWS: Certificate Advanced N.. (2) N
      • 📊DB (13)
        • MongoDB (8)
        • MariaDB (2)
        • PostgreSQL (2)
        • MySQL (1)
      • 🧑🏽‍💻Dev:Lang (9)
        • C++ (0)
        • GO (1)
        • Python (8)
      • ⚙️DevOps (4)
        • CICD (0)
        • Jenkins (4)
      • 🐳Docker (15)
      • 🪢laC (0)
      • ⚓K8s (7)
      • 🐧Linux (25)
      • 🖥️Monitoring (10)
        • Grafana (1)
        • Prometheus (6)
        • Loki (1)
        • ELK (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알리바바 클라우드
    docker
    jenkins
    prometheus
    NGINX
    alertmanager
    k8s
    Alibaba
    PolarDB
    mongoDB
    mariadb
    MySQL
    SSL
    Cloud
    alb
    db
    centOS7
    Python
    AWS
    linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Diven
Prometheus: Python HTTP 서버와 프로세스 체크
상단으로

티스토리툴바