npm promulgates marsupials

    ryansfunpack

    0.0.2 • Public • Published

    Application Insights StatsD backend

    NPM version Build Status

    The ApplicationInsights StatsD backend enables easy pre-aggregation of lightweight StatsD metrics that can be then forwarded to Application Insights.

    Installation and Configuration

    You can add the appinsights backend into your existing StatsD project or into a new clone of the official StatsD repo.

    New Project

    Install node.js from nodejs.org

    Clone the statsd project:

    $ git clone https://github.com/etsy/statsd
    

    Create a config file from exampleConfig.js:

    $ cd /path/to/statsd
    $ cp exampleConfig.js appinsights.js
    

    Continue with the Existing Project instructions

    Existing project

    Install the appinsights-statsd backend npm module:

    $ cd /path/to/statsd
    $ npm install appinsights-statsd --save
    

    Add the backend and configuration to your statsd config file (appinsights.js):

    {
        backends: [ "appinsights-statsd" ],  // [Required] The Application Insighst StatsD backend
        aiInstrumentationKey: "<Application Insights Instrumentation Key from https://portal.azure.com>",  // [Required] Your instrumentation key
        aiPrefix: "myapp",  // [Optional] Send only metrics with this prefix
        aiRoleName: "MyFrontEnd",  // [Optional] Add this role name context tag to every metric
        aiRoleInstance: "VM5",  // [Optional] Add this role instance context tag to every metric
        aiTrackStatsDMetrics: true,  // [Optional] Send StatsD internal metrics to Application Insights
    }

    Start the Daemon:

    $ node stats.js /path/to/config
    

    Usage

    The backend supports counters, timers and gauges with the standard statsd format.

    In additional, custom properties can be attached to each metric using a double-underscore delimiter in this format:

    "<name>__<base64-encoded JSON>"
    

    E.g. to send a counter with a custom property you could use code like this:

    const customProperties = { "title": "engineer" };
    const customPropertiesEncoded = new Buffer(JSON.stringify(customProperties)).toString("base64");
    const name = "jobs-open__" + customPropertiesEncoded;
    statsDClient.increment(name);

    Contributing

    See CONTRIBUTING for details

    Install

    npm i ryansfunpack

    DownloadsWeekly Downloads

    0

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    4.6 kB

    Total Files

    3

    Last publish

    Collaborators

    • ryandavis84