Witness Tips - Efficient Management

in #witness-category7 years ago (edited)
It surprises me to see how much red there is on https://steemian.info/witnesses and the frequent missed blocks on https://steemit.chat/channel/witness-blocks. Our main task as witnesses is to provide a stable network. To achieve that, we need to be on our toes when something bad happens, or when we need to make decisions that require consensus. For that, I'd like to share with you some tips for efficient management, at least the way I do things.

Stay Informed

There are many ways to keep informed about developments and network health.

Websites

Two websites are handy for a global view about the witness ranking, status (active/inactive) and parameters. I like to consult those tables a couple of times a day.

  • https://steemd.com/witnesses
    That page was the de facto bookmark in my browser for a long time. It is developed and hosted by @roadscape. The results are cached every 1 minute, if I'm not mistaken.
  • https://steemian.info/witnesses
    This webpage is an improvement on steemd.com, with more data added and sortable columns. It is developed and hosted by myself. The results are cached every 10 minutes, in order not to flood @archange's SteemSQL database. In fact, the queries are complex and take about a 45 seconds to fetch all the data.

A more advanced place to look at is the GitHub repositories. If you understand code, you can follow the projects progress at https://github.com/steemit, in particular

Steemit

The #witness-category tag on Steemit is the most popular place to read about the latest witness updates or announcements. So check it at least once a week to follow the news and upvote what you find useful.

Chat Channels


I recommend you hang out in those 4 channels on Steemit.Chat.

Don't Be Caught In The Domino Effect


One example of a Domino Effect is the decommissioning of steemd.steemit.com public RPC on 6 January 2018. The retirement of that node was announced last month, and reiterated 6 days ago.

HINT: follow the @steemitdev account.

And guess what, many applications broke, along with lots of witness price feeds. I posted a fix for Steemfeed-JS for those using that. But no matter what script or application you run, make sure you update your RPC. You can see the extent of the dominoes falling at https://steemian.info/witnesses, in the price feed column. Fortunately, many have updated; unfortunately, many have not (yet).

Another example is when we surpassed the 16 GB RAM usage, we saw some witnesses fall with the dominoes by looking at https://steemit.chat/channel/witness-blocks. This has happened again when we hit the 20 GB barrier. I and others have written numerous times about RAM usage, and yet people still commit the same mistake and wake up to upgrade after missing blocks. If you need to upgrade, upgrade ahead, don't wait for the last minute.

Disable When You Do Maintenance

When you plan on doing some server maintenance, DISABLE your signing key. Replays take hours, can get stuck, can crash. System updates can go wrong or require a reboot. Do not miss any blocks if you can help it: disable your witness. If you plan on a long maintenance schedule, notify the others in the #witness chat channel, so you don't lose precious votes. Remember, whale voters are watching that #witness-blocks channel...

Optimize Your Server Management

Managing your server(s) is, in my opinion, what makes a better witness. A server is not a plug-n-play toy, it needs maintenance, looking after, and some daily TLC.

Use aliases

For repetitive tasks, use aliases to avoid retyping long commands or going through your bash history. You can add aliases in your .bashrc file, then re-login or type source ~/.bashrc for changes to take effect. For instance, here are some of my own aliases:

alias lw='docker logs --tail=30 --follow witness'
alias lf='docker logs --tail=30 --follow feed'
alias wal='cd ~/steem-docker ; ./run.sh wallet'
alias startfeed='cd ~/steemfeed-js ; docker run -itd --rm --name feed steemfeed-js'
alias checkmem='df -h /dev/shm'

Monitor Usage

There's a 100 ways to monitor your system. htop is what I like to use.

  • Monitor your RAM usage. We all know how RAM is important. Use the checkmem alias I showed you and/or look at the htop Mem usage.

  • Monitor your CPU, with htop. For a witness node, the CPU usage should be minimal 1-3%. If you see an abnormal CPU usage, it's time to look into the problem. High CPU usage may be a sign of future missed blocks. Act soon to prevent that.

Final Thoughts

I hope my tips come in handy. Check your server(s) daily, it only takes a few minutes. Don't fall be behind, always stay ahead, monitor your systems, anticipate and address potential problems.

The cute fluffy cat wishes you happy witnessing.


Follow

Available & Reliable. I am your Witness. I want to represent You.

🗳 If you like what I do, consider voting for me 🗳

Vote

If you never voted before, I wrote a detailed guide about Voting for Witnesses.

Go to https://steemit.com/~witnesses. My name is listed in the Top 50. Click once.

Alternative voting methods

https://v2.steemconnect.com/sign/account-witness-vote?witness=drakos&approve=1
cli_wallet: vote_for_witness "YOURACCOUNT" "drakos" true true
steem-python: steempy approvewitness drakos --account YOURACCOUNT

Sort:  

@drakos Those four chat channels are incredibly helpful! Thank you for the useful info.

Thanks for this. Always looking forward to your post

great post

Don't let @kingscrown see you use his avatar!

its amazing post and good information.

Thank you for the assistance that the channels actually offer😇😇🤗🤗
I hope to become like a successful person😘😘

Awesome Guide!!!! Bookmarking!

Nic post

Pretty cool..info..

There's no perfect system I think. We just have to constantly update so at least we're getting some development.

Appreciate your hard work snd dedication to the blockchain ❤❤❤

And, nice cat pic!! ❤

Thx drakos

Just checked in to steemit for the first time in a while and you have moved up the ranks quite a bit since we last spoke. Great job buddy, glad to see the community engaging with you!

Thanks.

Witness done! 👍

Nice talk, agree with you their, love your post, is educative. Thanks for sharing.

I know you as one in millions out of the witnesses out there. Thanks for sharing those channels

You got a 1.64% upvote from @upme requested by: @drakos.
Send at least 2.5 SBD to @upme with a post link in the memo field to receive upvote next round.
To support our activity, please vote for my master @suggeelson, as a STEEM Witness

This post has received gratitude of 3.46 % from @appreciator thanks to: @drakos.

I should read this post every now and then. Thanks for the tips