Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including mup-netdata with all npm packages installed. Try it out:

var mupNetdata = require("mup-netdata")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

mup-netdata v0.4.0

Plugin for Meteor Up to setup NetData

mup-netdata

Plugin for Meteor Up to setup Netdata.

This is a very early version of the plugin and is missing some basic features.

Use

Install with npm i -g mup-netdata. Then, add mup-netdata to the plugins array in your mup config, and add a netdata object.

module.exports = {
  // rest of config

  plugins: ['netdata'],
  netdata: {
    servers: {
      netdataMaster: {
        // One server must be a master. All other servers send their metrics
        // to this one.
        master: true
      },
      one: {},
      two: {
        // Send alerts about this server to Slack
        // Default is true
        alarms: false,
      },
    },
    // Key used for authentication with the master instance in the GUID format.
    // Run `mup netdata generate-api-key` to get a random key
    // This option is Required
    apiKey: '630eb68f-e0fa-5ecc-887a-7c7a62614681',

    // The rest of the options are optional

    // Receive alerts in slack
    slack: {
      // Create an incoming webhook using the "Incoming Webhooks" App: https://slack.com/apps/A0F7XDUAZ-incoming-webhooks
      webhookUrl: 'https://hooks.slack.com/services/example/example',
      // Set to where the slack messages are sent:
      // - '#channel'
      // - '@user'
      recipient: '#system-status'
    },

    // How often metrics are collected, in seconds. Default is 1
    updateEvery: 1,

    // Disk space used per server to store metrics, in megabytes. Defaults to 512
    // Set to a smaller size to reduce memory usage
    dbEngineDiskSpace: 512,
  }
}

This plugin only supports the configuration where there is a single master that stores the metrics, and all other instances are headless collectors that send the metrics to the master. If you need a different configuration, please create an issue or submit a pull request.

Next, run

mup setup

After it is setup, you can visit port 19999 on the server that is the master instance.

This plugin currently does not setup any authentication or access control. Netdata does not allow modifying data, but it does show information that could be helpful to a hacker. More information is available in the Netdata docs. The master netdata instance must be accessible to the other instances, but you can use a firewall or reverse proxy to block access from the internet.

If you have more than a couple of instances, you will probably need to increase the file descriptor limit.

All of the python collectors are disabled since on some servers these collectors use a large amount of CPU. If a specific python collector is useful to you, you can create a PR to enable it.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free