• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

DASH MN Monitoring Software: dashR - Released

A few things to add:


1) you will consume all available system resources with dashR running dashR running dashR...
You need to exec dashR at the end.
Code:
exec $0;
then you'll reuse the same process instead of nesting them like suicidal russian dolls.


2) Don't copy when you can symlink. Better to do this:
Code:
ln -s /source/file /destination/file
than this
Code:
cp /source/file /destination/file # now I have two copies on disk to manage


3) Let git manage permissions for you. No need to chmod if you just clone the permissions down.
Code:
git clone https://github.com/moocowmoo/masternode_monitor
ls -l masternode_monitor/masternode_status.sh
-rwxr-xr-x 1 ubuntu ubuntu 5723 Aug 21 04:52 masternode_status.sh


4) Use PATH instead of moving files around
Code:
export PATH=~/.dash:$PATH;
# now I can dash-cli from anywhere because it's in path, no need to copy to /usr/bin, no need for sudo


5) Make your github repository names self-explanatory.
Your repo name DASH does not tell people what it does.
Your dashR executable also leaves no clues for the reader.


6) Use Markdown syntax sparingly.
Your entire readme was HEADER1 size. No need to yell.

---

I forked https://github.com/moocowmoo/masternode_monitor from your repo to include most of these changes.

I hope you learn something from it. :)
 
Trying to figure out how to build out a MN monitoring infrastructure and came across this page.

I'm lost here -- can someone fill me in on what's missing from this discussion?
 
Trying to figure out how to build out a MN monitoring infrastructure and came across this page.

I'm lost here -- can someone fill me in on what's missing from this discussion?
I have actually abandoned this project in favor of moocowmoo has what is called the DASHMAN
good stuff - sorry

moocowmoo
give us a link mate - for this chap to follow
 
Last edited:
Trying to figure out how to build out a MN monitoring infrastructure and came across this page.

I'm lost here -- can someone fill me in on what's missing from this discussion?

most current utilities focus on single masternode management.

my project 'dashman' https://github.com/moocowmoo/dashman also focuses on single-instance configurations.

Once I add machine-readable output, dashman will work well within a monitoring infrastructure, but I've not yet had much demand for the feature.

pm me and I'll see if I can help you find a solution that works for you
 
most current utilities focus on single masternode management.

my project 'dashman' https://github.com/moocowmoo/dashman also focuses on single-instance configurations.

Once I add machine-readable output, dashman will work well within a monitoring infrastructure, but I've not yet had much demand for the feature.

pm me and I'll see if I can help you find a solution that works for you

Thanks for the info... this is really cool! I'm working on something similar with my own infrastructure, but I love how this works.

Just wrote an untested systemd service script for starting/restarting, waiting to test this out soon...

https://gist.github.com/nmarley/3cb0843c08cde2f94692

I'm using Ansible for server management, e.g. writing dash.conf with mn key instead of manually doing it.

Would love to help out with this... anything specific you're having trouble with?
 
nmarley
If you are looking for a complete solution to monitor, automatically restart multiple masternodes including notifications, also check out the Dashwhale-Updater script (requires dashwhale.org account)

https://www.dashwhale.org/downloads/dashwhale-updater-v4.tgz

Example config:

our %masternodes = (
'Xuia3V5v51AFTjYNtz6tpu9YrKYoWc9Ruz' => {
'rpc_host' => 'localhost',
'rpc_port' => 9998,
'rpc_user' => 'masternode1',
'rpc_password' => '123password',
'daemon_autorestart' => 'disabled',
'daemon_binary' => '/usr/bin/dashd',
'daemon_datadir' => '/root/.dash'
},

'Xo1cwpFNHff5Nj12qWWXhCDyv5fPCdGZNR' => {
'rpc_host' => 'localhost',
'rpc_port' => 9998,
'rpc_user' => 'masternode2',
'rpc_password' => '123password',
'daemon_autorestart' => 'disabled',
'daemon_binary' => '/usr/bin/dashd',
'daemon_datadir' => '/root/.dash'
}
);
 
nmarley
If you are looking for a complete solution to monitor, automatically restart multiple masternodes including notifications, also check out the Dashwhale-Updater script (requires dashwhale.org account)

https://www.dashwhale.org/downloads/dashwhale-updater-v4.tgz

Example config:

our %masternodes = (
'Xuia3V5v51AFTjYNtz6tpu9YrKYoWc9Ruz' => {
'rpc_host' => 'localhost',
'rpc_port' => 9998,
'rpc_user' => 'masternode1',
'rpc_password' => '123password',
'daemon_autorestart' => 'disabled',
'daemon_binary' => '/usr/bin/dashd',
'daemon_datadir' => '/root/.dash'
},

'Xo1cwpFNHff5Nj12qWWXhCDyv5fPCdGZNR' => {
'rpc_host' => 'localhost',
'rpc_port' => 9998,
'rpc_user' => 'masternode2',
'rpc_password' => '123password',
'daemon_autorestart' => 'disabled',
'daemon_binary' => '/usr/bin/dashd',
'daemon_datadir' => '/root/.dash'
}
);

Thanks for the suggestion. Wouldn't this require the JSONRPC port to be open on each server? Or if it is intended to be run from each server, wouldn't it be easier to parse out the rpc user/pass from the dash.conf?
 
The script is intended to be installed on every server you run one or multiple masternodes on. Running the RPC server on an public IP not a good idea.

You are right. Parsing the RPC credentials from dash.conf makes sense and will be implemented with the next version. The older versions did not require the user to enter the path to the datadir, so it was necessary before.
 
Back
Top