日別アーカイブ: 2021年8月22日

Install Elasticsearch from archiveでプロセス自動再起動

Install Elasticsearch from archive だと起動はデーモン化出来る(./bin/elasticsearch -d -p pid)が、プロセスが停止してしまった場合に自動的に再起動されない。

crontabへ以下のスクリプトを登録して暫定対処(格納場所、ユーザー名、IPアドレスはダミー)

#!/bin/bash
# heatbeat.sh
# /etc/crontab
# * * * * *  username /home/username/scripts/heatbeat.sh 10.0.0.99

host="$1"
shift

LOG_FILE=/var/log/elasticsearch/heatbeat_script.log
EXEC_PATH=/home/username/elasticsearch-7.13.2/bin/elasticsearch

HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}\n" http://"$host":9200`
echo [`date`] HTTP_CODE:$HTTP_CODE >> $LOG_FILE
if [ "$HTTP_CODE" -eq '200' ] ; then
  echo [`date`] elasticsearch alive >> $LOG_FILE
else
  echo [`date`] starting elasticsearch >> $LOG_FILE
  $EXEC_PATH -d -p pid
  ps aux|grep elasticsearch >> $LOG_FILE
fi