New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

icinga2-api

Package Overview
Dependencies
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

icinga2-api

Nodejs Modul to control Icinga2 through api

latest
Source
npmnpm
Version
1.1.2
Version published
Maintainers
2
Created
Source

icinga2

Icinga2 Remote api module. You can create, remove, update, etc of icinga2 objects

Icinga2 api doc

Installation

npm install icinga2-api

Getting started

Example

  • Check if the host "4demo" exist in monitoring.
  • If not, create host "4demo".

Updated

The parameters 'group' and 'onServer' was removed from methode 'createHost' and 'createService'

const icingaapi = require('icinga2-api');

var icingaServer = new icingaapi("icingas2server.local", "5665", "apiUser", "apiUserPass");
    icingaServer.getHostState("4demo", function (err, result) {
        if (err) {
            if (err.Statuscode == "404") {
                console.log("Host 4demo on monitoring was not found, create one");
                
                // Create a host on icinga2.
                icingaServer.createHost("passive-host", "4demo", "4Demo Server", function (err, result) {
                    if (err) {
                        console.error(err);
                    } else {
                        console.log("Host 4demo was created successfull");
                    }
                });
            }
            console.error(err);
        } else {
            console.log(result);
        }
    })

Methods

  • getServices = function (callback)
  • getService = function (ServerName, ServiceName, callback)
  • getHosts = function (callback)
  • getHost = function (ServerName, callback)
  • getHostFiltered = function (filter, callback)
  • getServiceFiltered = function(filter, callback)
    • filter =
        {
            "filter": "service.vars.Backup_Server == servicename",
            "filter_vars": {
                "servicename": "backupServer"
            }
        }
      
  • getServiceWithState = function (state, callback)
    • state = 0/1/2
  • createHost = function (template, host, displayname, callback)
    • template - icinga2 host-template
    • onServer = "dockerHost", set a custom variable in icinga2
  • createService = function (template, host, service, displayname, callback)
  • createServiceCustom = function (serviceObj, host, service, callback)
    • serviceObj =
      var serviceObj = JSON.stringify({
          "templates": ["passive-service"],
          "attrs": {
              "display_name": "Service Top",
              "vars.group": "adito",
              "vars.server": "dockerdmz"
          }
      })
      
  • createHostCustom = function (hostObj, host, callback)
    • hostObj
      var hostBody = JSON.stringify({
          "templates": ["passive-host"],
          "attrs": {
              "display_name": "4Demo Server",
              "vars.group": "adito",
              "vars.server": "dockerdmz"
          }
      })
      
  • createServiceCustom = function (serviceObj, host, service, callback)
    • serviceObj
      var serviceBody = JSON.stringify({
          "templates": ["passive-service"],
          "attrs": {
              "display_name": "Service on 4Demo Server",
          }
      })
      
  • deleteHost = function (host, callback)
  • deleteService = function (service, host, callback)
  • setHostDowntime = function (dObj, hostname, callback)
    • dObj (downtime object)
          var dObj = {
              'type': 'Host',
              'start_time': actTime,
              'end_time': endtime,
              'author': 'icingaadmin',
              'comment': "Downtime for Backup"
          }
      
  • setFilteredDowntime = function (dFilter, callback)
    • dFilter (example: set downtime for all server where custom variable server = dockerhost)
          var setDownTimeObject = {
              'type': 'Host',
              'start_time': actTime,
              'end_time': endtime,
              'author': 'icingaadmin',
              'comment': "Downtime for Backup",
              'filter': 'host.vars.server == server',
              'filter_vars': {
                  'server': "dockerhost"
              }
          }
      
  • removeFilteredDowntime = function (dFilter, callback)
    • dFilter(remove all Downtimes with autor "icingaadmin" and custom vars server "dockerhost"
          var removeDownTimeObject = ({
              "type": "Downtime",
              "filter": "downtime.author == filterAuthor && host.vars.server == filteredHost",
              "filter_vars": {
                  "filterAuthor": "icingaadmin",
                  "filteredHost": "dockerhost"
              }
          })
      
  • disableHostNotification = function (hostname, callback)
  • setHostState = function (host, hostState, StateMessage, callback)
  • setServiceState = function (service, host, serviceState, serviceMessage, callback)
  • getHostState = function (hostName, callback)
  • getServiceTemplates = function(callback)
  • checkExistServiceTemplate = function(name, callback)
  • getHostTemplates = function(callback)
  • checkExistHostTemplate = function(name, callback)
  • setServicePerfdata = function (service, server, state, output, perfarr, callback)
    • perfarr (Data array) - show process-check-result in icinga2 api doc
          var perfdataArr = ["Memory in %=" + memUsedinPerc + "%;" + aditoMemWarn + ";" + aditomemErr + ";0"]
      
  • setHostPerfdata = function (server, state, output, perfarr, callback)
  • updateHostAttr = function (hostObj, host, callback)
    • hostObj
      var hostObj = JSON.stringify({
          "templates": [icingaConf.templatehost],
          "attrs": {
              "display_name": "Adito Server Public",
              "vars.group": "adito",
              "vars.AditoServerName": "aditoServer",
              "vars.AditoServerVersion": "4.6.34",
              "vars.AditoStartupTime": "Mo.",
              "vars.CPUs": "4"
          })
      
  • updateServiceAttr = function (serviceObj, host, service, callback)

Examples

Check test.js for more details

Keywords

icinga2

FAQs

Package last updated on 11 Jun 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts