Narcissistic Preening Monarch

    zag-daemon

    0.0.2 • Public • Published

    zag-daemon

    The daemons aggregate the raw points sent by zag-agent.

    It is also responsible for monitoring and alerting, though that functionality is disabled for now.

    Service setup

    In order to scale, metrics data can be spread across multiple daemons that are configured as a ring. A list of their address:ports needs to be passed in as the join option.

    require('zag-daemon')(
    { host:   "address:port"
    , join:  ["address:port"]
    , db:     "postgres://postgres:1234@localhost/postgres"
    , env:    "prod" or "dev"
    , backend: require('zag-backend-pg')
    }).on("error", function(err) { })

    API

    zag-agent uses the UDP API.

    UDP

    The primary protocol for recording metrics is over UDP. Each daemon is running a UDP server on options.host.

    The data should be newline-delimited lines of the form:

    <type>:<key>=<value>
    

    where

    • type - counter or histogram.
    • key - [>| \w/._()+:-]+
    • value - Number. Positive or negative, integer or decimal.

    HTTP

    POST /api/metrics

    The POST body should be in the same format as the UDP data. The points are recorded as the arrive, so the client can just keep sending data down a single connection instead of making repeated requests.

    Keywords

    Install

    npm i zag-daemon

    DownloadsWeekly Downloads

    2

    Version

    0.0.2

    License

    none

    Last publish

    Collaborators

    • sentientwaffle
    • bahamas10
    • ezray303
    • jgautier
    • anandsuresh