mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Log rotation for tendermint and BigchainDB using Monit
This commit is contained in:
parent
dd84d4eb6f
commit
d8f5d72127
@ -63,7 +63,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
monitrc_path="$2"
|
monitrc_path="$2"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-h|--help)
|
-h | --help)
|
||||||
usage
|
usage
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
@ -93,7 +93,7 @@ case \$1 in
|
|||||||
start_bigchaindb)
|
start_bigchaindb)
|
||||||
|
|
||||||
pushd \$4
|
pushd \$4
|
||||||
nohup bigchaindb -l DEBUG start >> \$3/bigchaindb.out.log 2>> \$3/bigchaindb.err.log &
|
nohup bigchaindb -l DEBUG start > /dev/null 2>&1 &
|
||||||
|
|
||||||
echo \$! > \$2
|
echo \$! > \$2
|
||||||
popd
|
popd
|
||||||
@ -110,6 +110,7 @@ case \$1 in
|
|||||||
start_tendermint)
|
start_tendermint)
|
||||||
|
|
||||||
pushd \$4
|
pushd \$4
|
||||||
|
|
||||||
nohup tendermint node --consensus.create_empty_blocks=false >> \$3/tendermint.out.log 2>> \$3/tendermint.err.log &
|
nohup tendermint node --consensus.create_empty_blocks=false >> \$3/tendermint.out.log 2>> \$3/tendermint.err.log &
|
||||||
|
|
||||||
echo \$! > \$2
|
echo \$! > \$2
|
||||||
@ -129,13 +130,29 @@ exit 0
|
|||||||
EOF
|
EOF
|
||||||
chmod +x ${monit_script_path}
|
chmod +x ${monit_script_path}
|
||||||
|
|
||||||
|
cat >${monit_script_path}_logrotate <<EOF
|
||||||
|
#!/bin/bash
|
||||||
|
case \$1 in
|
||||||
|
|
||||||
|
rotate_tendermint_logs)
|
||||||
|
/bin/mv \$2 \$2.\$(date +%y-%m-%d)
|
||||||
|
/bin/tar -cvf \$2.\$(date +%Y%m%d_%H%M%S).tar.gz \$2.\$(date +%y-%m-%d)
|
||||||
|
/bin/rm \$2.\$(date +%y-%m-%d)
|
||||||
|
kill -2 \$(cat \$3)
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
|
EOF
|
||||||
|
chmod +x ${monit_script_path}_logrotate
|
||||||
|
|
||||||
# Handling overwriting of control file interactively
|
# Handling overwriting of control file interactively
|
||||||
if [ -f "$monitrc_path" ]; then
|
if [ -f "$monitrc_path" ]; then
|
||||||
echo "$monitrc_path already exists."
|
echo "$monitrc_path already exists."
|
||||||
read -p "Overwrite[Y]? " -n 1 -r
|
read -p "Overwrite[Y]? " -n 1 -r
|
||||||
echo
|
echo
|
||||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
echo "Overriding $monitrc_path/.monitrc"
|
echo "Overriding $monitrc_path"
|
||||||
else
|
else
|
||||||
read -p "Enter absolute path to store Monit control file: " monitrc_path
|
read -p "Enter absolute path to store Monit control file: " monitrc_path
|
||||||
eval monitrc_path="$monitrc_path"
|
eval monitrc_path="$monitrc_path"
|
||||||
@ -161,9 +178,17 @@ check process bigchaindb
|
|||||||
check process tendermint
|
check process tendermint
|
||||||
with pidfile ${monit_pid_path}/tendermint.pid
|
with pidfile ${monit_pid_path}/tendermint.pid
|
||||||
start program "${monit_script_path} start_tendermint ${monit_pid_path}/tendermint.pid ${monit_log_path} ${monit_log_path}"
|
start program "${monit_script_path} start_tendermint ${monit_pid_path}/tendermint.pid ${monit_log_path} ${monit_log_path}"
|
||||||
restart program "${monit_script_path} start_bigchaindb ${monit_pid_path}/bigchaindb.pid ${monit_log_path} ${monit_log_path}"
|
restart program "${monit_script_path} start_tendermint ${monit_pid_path}/tendermint.pid ${monit_log_path} ${monit_log_path}"
|
||||||
stop program "${monit_script_path} stop_tendermint ${monit_pid_path}/tendermint.pid ${monit_log_path} ${monit_log_path}"
|
stop program "${monit_script_path} stop_tendermint ${monit_pid_path}/tendermint.pid ${monit_log_path} ${monit_log_path}"
|
||||||
depends on bigchaindb
|
depends on bigchaindb
|
||||||
|
|
||||||
|
check file tendermint.out.log with path ${monit_log_path}/tendermint.out.log
|
||||||
|
if size > 100 KB then
|
||||||
|
exec "${monit_script_path}_logrotate rotate_tendermint_logs ${monit_log_path}/tendermint.out.log $monit_pid_path/tendermint.pid"
|
||||||
|
|
||||||
|
check file tendermint.err.log with path ${monit_log_path}/tendermint.err.log
|
||||||
|
if size > 100 KB then
|
||||||
|
exec "${monit_script_path}_logrotate rotate_tendermint_logs ${monit_log_path}/tendermint.err.log $monit_pid_path/tendermint.pid"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Setting permissions for control file
|
# Setting permissions for control file
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user