리눅스에서 포트 없는 프로세스 체크하기

리눅스에서 포트 없는 프로세스 체크하기

만약 사용하는 port가 없고, 프로세스 이름으로 health check를 하려면, 먼저 리눅스 서버에 python 설치한다. 그리고, sh 파일을 만들어야 한다.

#!/bin/bash
# 체크할 프로세스의 경로를 변수에 저장합니다.
PROCESS_PATH="프로세스 이름"
# 프로세스가 실행 중인지 확인합니다.
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"

해당 코드는 프로세스가 실행 중인지 아닌지 체크하는 code, 위의 sh 파일을 주기적으로 확인하는 sh파일 생성

#!/bin/bash
while true; do
    /usr/local/bin/b2b_check.sh > /var/www/html/metrics
    sleep 15
done

(선택) 시스템 서비스 등록을 해줘도 됨.

해당 파일을 python설치하면 기본적으로 있는 http로 데이터를 받아 prometheus가 데이터를 받을 수 있게 만들어 준다.

그리고, 그라파나에서 해당 프로세스 체크를 PromQL — 대시보드 형태로 제작하면 된다.

댓글

댓글 남기기