[shell] Shell 스크립트 모니터링을 위한 실시간 대시보드 구축

최근에 대시보드를 사용하여 실시간으로 Shell 스크립트의 실행 및 상태를 모니터링하는 기술이 각광받고 있습니다. 여기에서는 InfluxDB, Grafana, 및 cron 작업을 이용하여 Shell 스크립트 모니터링을 위한 실시간 대시보드를 구축하는 방법에 대해 알아보겠습니다.

1. InfluxDB 및 Grafana 설치

먼저, InfluxDB와 Grafana를 설치해야 합니다. 다음 명령어를 사용하여 InfluxDB와 Grafana를 설치합니다.

sudo apt update
sudo apt install influxdb grafana

설치가 완료되면, InfluxDB와 Grafana를 시작하고 서비스로 등록합니다.

sudo systemctl start influxdb
sudo systemctl enable influxdb
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

이제 InfluxDB와 Grafana 서버가 실행 중이며, 웹 브라우저에서 InfluxDB와 Grafana의 대시보드에 액세스할 수 있습니다.

2. InfluxDB 데이터베이스 생성

InfluxDB에는 데이터베이스를 생성하여 데이터를 저장할 수 있습니다. 다음과 같이 InfluxDB 쉘에 접속하여 데이터베이스를 생성합니다.

influx
CREATE DATABASE script_monitoring

3. Shell 스크립트 실행 로그 수집

Shell 스크립트의 실행 로그를 InfluxDB로 수집하기 위해 cron 작업과 함께 influx CLI를 사용합니다. 예를 들어, 특정 스크립트 example.sh를 실행하고 그 실행 결과를 InfluxDB에 저장하는 방법은 다음과 같습니다.

*/5 * * * * /path/to/example.sh >> /path/to/example.log 2>&1 && echo "script_status,script=example success=1 $(date +%s)" | influx -database 'script_monitoring'

위 명령어는 매 5분마다 example.sh를 실행하고, 실행 결과의 로그를 example.log에 저장하며, 실행 상태를 script_monitoring 데이터베이스에 저장합니다.

4. Grafana 대시보드 구성

마지막으로, Grafana에서 대시보드를 구성하여 InfluxDB에 저장된 데이터를 시각화합니다. Grafana 웹 인터페이스에 접속하여 데이터 소스로 InfluxDB를 추가하고, 대시보드를 생성하여 Shell 스크립트의 실행 상태를 실시간으로 모니터링할 수 있습니다.

이제 Shell 스크립트의 실행 상태를 실시간으로 모니터링하는 대시보드가 구성되었습니다. 이를 통해 Shell 스크립트의 실행 상태를 시각적으로 파악하고, 필요에 따라 신속하게 대응할 수 있습니다.