How to Set Up Your On-Call Duty when Your Witness is Missing a Block?

How to Set Up Your On-Call Duty when Your Witness is Missing a Block?

What is On-Call? You know many Software Engineers at Big Companies need to do On-Call Duties to fix service related issues when they arise.

Yesterday, I presented a utility to switch your node in case of missing too many blocks. But wouldn’t it be a lot nicer if we can be notified (be paged) when this happens?

Please be warned that if you like less intrusive notification, you should go for SMS (which should be easy to set up using the method below) or even just email.

Post: Open Source: Auto Switch Your Witness Node In the Event of Failure
Open Source Utility: https://github.com/DoctorLai/SteemWitnessAutoSwitch

This is how we can set up the on-call when missing blocks.

IFTTT

You may have heard of IFTTT which stands for If This Then That. This is a powerful service that allows you to connect two or more services.

First, you would need to register a IFTTT account, then you would need to connect the “Webhooks” service which allows you to send a message to the hook. Then, the “That” part would be to connect the “Voip Call” part which will call you - alternatively, you could choose other notification methods such as SMS or Emails, or even make a tweet if you like!

image.png

image.png

image.png

image.png

This is how the final recipe looks like:

image.png

Note that we can pass a value1 parameter to report the current missing blocks.
Here is how you send a notification message to the webhook aka “This”

curl -X POST -H “Content-Type: application/json” -d ‘{“value1”:”123”}’ https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere

You will see this message on success.
Congratulations! You’ve fired the steem-witness event

Then, on the github code https://github.com/DoctorLai/SteemWitnessAutoSwitch/blob/master/monitor-witness.js , you can modify a little bit:

1
2
3
4
5
6
7
8
const execSync = require('child_process').execSync;

function reportMissing(missed) {
log("Report missing: " + missed);
// TODO: You can send a email/SMS here
execSync('curl -X POST -H "Content-Type: application/json" -d \'{"value1":"' + missed + '"}\'
https://maker.ifttt.com/trigger/{steem-witness}/with/key/YourIFTTTKeyHere');
}

That is it, everytime there is a missing block, you will get a call who will tell you total missed blocks aka the parameter value1

image.png

image.png

image.png


Every little helps! I hope this helps!

Steem On!~

Repost to Blog

If you like my work, please consider voting for me, thanks!
https://steemit.com/~witnesses type in justyy and click VOTE



Alternatively, you could proxy to me if you are too lazy to vote!

Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy

Visit me at: https://steemyy.com


This page is synchronized from the post: ‘How to Set Up Your On-Call Duty when Your Witness is Missing a Block?’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×