Naughty Program Manipulator

    @zenoss/opencensus-node-exporter
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.6 • Public • Published

    OpenCensus Zenoss Exporter for Node.js

    A Node.js library intended to be used in Node.js applications instrumented with OpenCensus to export stats to Zenoss.

    Status

    This library is in an alpha stage, and the API is subject to change.

    Usage

    To use Zenoss as your exporter, you will first need a Zenoss API key. Once you have an API key, add the following to your Node.js application.

    For Javascript:

    const { globalStats } = require("@opencensuscore")
    const { ZenossStatsExporter } = require("@zenoss/opencensus-node-exporter")
    
    const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
    globalStats.registerExporter(exporter)

    For TypeScript:

    import { globalStats } from "@opencensus/core";
    import { ZenossStatsExporter } from "@zenoss/opencensus-node-exporter"
    
    const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
    globalStats.registerExporter(exporter)

    Be sure to install the exporter. For npm use the following:

    npm install @zenoss/opencensus-node-exporter

    Options

    The following options are available when creating a ZenossStatsExporter.

    • address: Zenoss API address. Default is https://api.zenoss.io.
    • apiKey: Zenoss API key.
    • source: Added as a tag to all sent metrics. Recommended.
    • extraTags: Map of additional tags to add to all sent metrics. Default is {}.
    • period: How often (in milliseconds) to send metrics to Zenoss. Default is 60000.
    • logger: Optional logger to be used by the exporter.

    Example Application

    The following is a complete example of an application that will write the value 10 to a measure named example.com/ten once per second. Then once per minute the last value of this metric will be sent to Zenoss with a metric name of example.com/ten_last.

    const { globalStats, AggregationType, MeasureUnit, TagMap } = require('@opencensus/core')
    const { ZenossStatsExporter } = require('@zenoss/opencensus-node-exporter')
    
    // Setup the Zenoss exporter.
    const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
    globalStats.registerExporter(exporter)
    
    // Setup our tags.
    const tagKeyApp = { name: "app" }
    const tagMapTen = new TagMap()
    tagMapTen.set(tagKeyApp, { value: "nodejs-example" })
    
    // Create a measure.
    const measureTen = globalStats.createMeasureInt64('example.com/ten', MeasureUnit.UNIT, "10: always and forever!")
    
    // Create a "last value" view for the measure.
    const viewTenLast = globalStats.createView(
        'example.com/ten_last',
        measureTen,
        AggregationType.LAST_VALUE,
        [tagKeyApp],
        'Last value of ten.'
    )
    
    globalStats.registerView(viewTenLast)
    
    // Record a value for the measure once per second.
    setInterval(() => {
        globalStats.record([{measure: measureTen, value: 10}], tagMapTen);
    }, 1000);

    Useful Links

    Install

    npm i @zenoss/opencensus-node-exporter

    DownloadsWeekly Downloads

    22

    Version

    0.0.6

    License

    Apache-2.0

    Unpacked Size

    25.8 kB

    Total Files

    8

    Last publish

    Collaborators

    • chet.luther