Exemplo n.º 1
0
    .then(([currSteps, prevSteps]) => {
        if (currSteps.length !== prevSteps.length) {
            funnelPlugin.addMessage(funnelPlugin.states.UNKNOWN, `mismatch between funnels`);
            return;
        }

        const indexes = args.options.step || [currSteps.length - 1];
        indexes.forEach(index => {
            if (index < 0 || index >= currSteps.length) {
                funnelPlugin.addMessage(funnelPlugin.states.UNKNOWN, `step[${index}]: step not found in funnel`);
                return;
            }

            const prevResult = prevSteps[index][ratio] * 100;
            const roundedPrevResult = Math.round(prevResult * 100) / 100;

            const currResult = currSteps[index][ratio] * 100;
            const roundedCurrResult = Math.round(currResult * 100) / 100;

            const result = prevResult - currResult;
            const roundedResult = Math.round(result * 100) / 100;

            const state = funnelPlugin.checkThreshold(result);
            funnelPlugin.addMessage(state, `step[${index}]: ${roundedResult}%`);
            funnelPlugin.addPerfData({
                label: `step-${index}_${currSteps[index].name}`,
                value: result,
                uom: "%",
                threshold: { critical, warning },
                min: 0
            });
        });
        const messageObj = funnelPlugin.checkMessages();
        funnelPlugin.nagiosExit(messageObj.state, messageObj.message);
    })
Exemplo n.º 2
0
 this.send = function () {
     var messageObj = nagios.checkMessages();
     nagios.nagiosExit(messageObj.state, messageObj.message);
 };