/GalaNodes-Monitor

This tool is to operate and manage multiple Gala Games(GALA) nodes including Founders, TownStar and Music nodes.

Primary LanguageGoMIT LicenseMIT

GalaNodes-Monitor

This is an image
This tool is to operate and manage multiple Gala Games(GALA) nodes including Founders, TownStar and Music nodes. It's focused on managing multiple nodes.

Loadmap

Stage 1

  • Add & remove nodes lists
  • Config monitoring and notification settings
  • Regular updating nodes stats
  • Notify error state
  • Remote commands(stats, restart nodes, reboot OS, etc)

Stage 2

  • Restart nodes or reboot OS when it meets specific conditions.
  • Save encrypted username and password of nodes(currently saved in plain text)
  • Collect nodes resources(CPU, memory, network bandwith, etc.)

Stage 3

  • Built-in Web UI to control nodes and check events history
  • Discord Bot to control your nodes by customized discord commands

Configuration (config/config.json)

Settings
It's common settings on all nodes.

{
    "settings" : {
        "webhookurl": "your webhook url",
        "monitorinterval" : 90,
        "regularreportinterval" : 3600,
        "discordnotifysnooze" : 600,
        "errortolerance" : {
            "Count" : 3,
            "Command" : "sudo reboot"
        }
    },
  • webhookurl : the webhook url which you want to notify nodes errors. This is an image
  • monitorinterval : executes "gala-node stats" every monitorinterval seconds on registered servers.
  • regularreportinterval : notify nodes state every regularreportinterval seconds.
    This is an image
  • discordnotifysnooze : snooze discord notification for discordnotifysnooze seconds once it's done.
  • errortolerance
    • Count : notify discord when an error occurs errortolerance times in a row.
    • Command : run a custom command("sudo reboot") when an error occurs errortolerance times in a row.

Servers

{
   "servers" : [
       {
           "name" : "server name",
           "address" : "your server address",
           "port" : 22,
           "username" : "ubuntu",
           "password" : "your password",
           "privatekeypath" : "",
           "nodes" : ["founders", "townstar"]
       },
  • name : alias
  • address : server ip address
  • port : SSH port
  • username : user name for SSH
  • privatekeypath : the path of a key pair, consisting of a public key and a private key, is a set of security credentials
  • nodes : nodes lists to monitor. If you run only TownStar node, set only "townstar". Currently supporting founders and townstar nodes.

Command lists

  • help : prints available command lists.
  • discord : discord webhook test.
  • nodes : prints the current status of nodes.
  • find [key] : find nodes which have a key in name, address, machine ID.
  • save : output nodes information to output.csv.
  • cls : clear screen
  • stats : run "gala-node stats" on all nodes.
  • restart [index|address] : run "sudo systemctl restart gala-node" on a gala node or all nodes. The index is non zero based in nodes commands.
  • reboot [index|address|all] : reboot operating system of a node or all nodes. The index is non zero based. The index is non zero based in nodes commands.
  • exit : exit program.

License

GalaNodes Monitor is provided under the MIT License.

Contact

Donation