Simple command-line utility to check status of a Bitcoin node
Uses Bitcoin protocol code from @ayeowch/bitnodes repo
For clearnet testing, need Python3.7 + pip3.7 for python deps:
sudo pkg install python37 py37-pip
sudo pip-3.7 install -r requirements.txt
For *.onion node testing, also need:
sudo apt-get install -y tor
install -c -m 755 bitcoin-service-check.py /usr/lib/nagios/plugins/check_bitcoin
cp icinga2/*.conf /etc/icinga2/conf.d/
vi /etc/icinga2/conf.d/slack.conf
object Host "22tg6ufbwz6o3l2u.onion" {
import "bitcoin-node"
vars.bitcoinaddress = "22tg6ufbwz6o3l2u.onion"
}
./bitcoin-service-check.py [IP address or *.onion] [port]
Node is online:
% ./bitcoin-service-check.py jiuuuislm7ooesic.onion 8333
OK - 594893 /Satoshi:0.18.1/
Node is unreachable:
% ./bitcoin-service-check.py jiuuuislm7foobar.onion 8333
CRITICAL - Socket error: timed out: ('jiuuuislm7foobar.onion', 8333)
$ echo $?
2