Giter Site home page Giter Site logo

zabbix-papercut's Introduction

Zabbix template for PaperCut NG and PaperCut MF monitoring

Overview

The template to monitor PaperCut MF and PaperCut NG by Zabbix 6.x using HTTP agent.

Setup

See Zabbix templates importing for basic instructions on how to import a template.

  1. Create a new host
  2. Set/change the host macros required for PaperCut authentication:
{$PAPERCUT_AUTH_KEY}
{$PAPERCUT_PORT}
  1. Link the template to host created early

Zabbix configuration

No specific Zabbix configuration is required

Macros used

Name Description Default
{$PAPERCUT_AUTH_KEY}

PaperCut authentication key. (see http://localhost:9191/app?service=page/OptionsAdvanced on PaperCut server)

{$PAPERCUT_PORT}

Port on which PaperCut is listening.

9191
{$PAPERCUT.NODATA_TIMEOUT}

Timeout after which no data trigger will be executed.

30m

Template links

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
PaperCut device discovery Discovery of all printer devices from PaperCut DEPENDENT papercut.device.discovery

Preprocessing:
- JSONPath: $.devices
- DISCARD_UNCHANGED_HEARTBEAT: 6h

PaperCut printer discovery Discovery of all printers from PaperCut DEPENDENT papercut.printer.discovery

Preprocessing:
- JSONPath: $.printers
- DISCARD_UNCHANGED_HEARTBEAT: 6h

Items collected

Name Description Type Key and additional info
PaperCut API: Devices HTTP_Agent papercut.api.devices
PaperCut API: Monitoring HTTP_Agent papercut.api
PaperCut API: Printers HTTP_Agent papercut.api.printers
PaperCut Database Active Connections DEPENDENT papercut.database.activeConnections

Preprocessing:
- JSONPath: $.database.activeConnections

PaperCut Database Max Connections DEPENDENT papercut.database.maxConnections

Preprocessing:
- JSONPath: $.database.maxConnections

PaperCut Database Status DEPENDENT papercut.database.status

Preprocessing:
- JSONPath: $.database.status

PaperCut Devices Count DEPENDENT papercut.devices.total

Preprocessing:
- JSONPath: $.devices.count

PaperCut Devices in Error DEPENDENT papercut.devices.inErrorCount

Preprocessing:
- JSONPath: $.devices.inErrorCount

PaperCut Devices in Error Percentage DEPENDENT papercut.devices.inErrorPercentage

Preprocessing:
- JSONPath: $.devices.inErrorPercentage

PaperCut Disk Space Free DEPENDENT papercut.system.diskspace.free

Preprocessing:
- JSONPath: $.applicationServer.systemMetrics.diskSpaceFreeMB
- Custom multiplier: 1024000

PaperCut DiskSpace Used DEPENDENT papercut.system.diskspace.used

Preprocessing:
- JSONPath: $.applicationServer.systemMetrics.diskSpaceUsedPercentage

PaperCut Held Jobs Count DEPENDENT papercut.printers.heldJobCountTotal

Preprocessing:
- JSONPath: $.printers.heldJobCountTotal

PaperCut Held Jobs Count Max DEPENDENT papercut.printers.heldJobsCountMax

Preprocessing:
- JSONPath: $.printers.heldJobsCountMax

PaperCut JVM Memory Used Percentage DEPENDENT papercut.system.jvmMemoryUsed

Preprocessing:
- JSONPath: $.applicationServer.systemMetrics.jvmMemoryUsedPercentage

PaperCut printed pages in the last 60 minutes HTTP_Agent papercut.api.stats.recentPagesCount

Preprocessing:
- JSONPath: $.recentPagesCount

PaperCut Printers Count DEPENDENT papercut.printers.total

Preprocessing:
- JSONPath: $.printers.count

PaperCut Printers in Error DEPENDENT papercut.printers.inErrorCount

Preprocessing:
- JSONPath: $.printers.inErrorCount

PaperCut Printers in Error Percentage DEPENDENT papercut.printers.inErrorPercentage

Preprocessing:
- JSONPath: $.printers.inErrorPercentage

PaperCut Uptime DEPENDENT papercut.system.uptimeHours

Preprocessing:
- JSONPath: $.applicationServer.systemMetrics.uptimeHours

PaperCut Valid License DEPENDENT papercut.license.valid

Preprocessing:
- JSONPath: $.license.valid

PaperCut Valid License Remaining Days DEPENDENT papercut.license.upgradeAssuranceRemainingDays

Preprocessing:
- JSONPath: $.license.upgradeAssuranceRemainingDays
- Custom multiplier: 86400

PaperCut Version DEPENDENT papercut.system.version

Preprocessing:
- JSONPath: $.applicationServer.systemInfo.version

Percentage Active Connections Calculated papercut.database.activeConnections.percentage
Device {#DEVICE_NAME}: Status DEPENDENT papercut.device.status["{#DEVICE_NAME}"]

Preprocessing:
- JSONPath: $.devices[?(@.name == "{#DEVICE_NAME}")].state.status.first()

Device {#DEVICE_NAME}: Status Description DEPENDENT papercut.device.status.description["{#DEVICE_NAME}"]

Preprocessing:
- JSONPath: $.devices[?(@.name == "{#DEVICE_NAME}")].state.statusDescription.first()

Printer {#PRINTER_NAME}: Held Jobs DEPENDENT papercut.printer.heldjobs["{#PRINTER_NAME}"]

Preprocessing:
- JSONPath: $.printers[?(@.name == "{#PRINTER_NAME}")].heldJobsCount.first()

Printer {#PRINTER_NAME}: Status DEPENDENT papercut.printer.status["{#PRINTER_NAME}"]

Preprocessing:
- JSONPath: $.printers[?(@.name == "{#PRINTER_NAME}")].status.first()

Triggers

Appropriate triggers are associated with the items

Feedback

Please report any issues with the template here in the "Issues" tab.

zabbix-papercut's People

Contributors

airler avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.