Open Index
Download PDF Switch to German Version



1. Installation

1.1. Requirements

Supported operating systems:

    • Ubuntu 14.04 LTS "trusty"
    • Ubuntu 16.04 LTS "xenial"
    • Debian Linux 8 "jessie"
    • Debian Linux 9 "stretch"

min. 2 CPU cores (x86-64)

min. 2 GB RAM

min 15 GB hard disk space

1.2. General Installation

openITCOCKPIT is installed via the apt repositories of the respective operating systems.

1.2.1. openITCOCKPIT + Naemon (recommended)



Add repository key
apt-get install apt-transport-https
apt-key adv --recv --keyserver hkp://keyserver.ubuntu.com 1148DA8E

If you are unable to import the key automatically, you will have to import it manually.


Ubuntu 14.04 - Trusty
echo 'deb https://packages.openitcockpit.com/repositories/trusty trusty main' > /etc/apt/sources.list.d/openitcockpit.list
Ubuntu 16.04 - Xenial
echo 'deb https://packages.openitcockpit.com/repositories/xenial xenial main' > /etc/apt/sources.list.d/openitcockpit.list
Debian 8 - Jessie
echo 'deb https://packages.openitcockpit.com/repositories/jessie jessie main' > /etc/apt/sources.list.d/openitcockpit.list
Debian 9 - Stretch
echo 'deb https://packages.openitcockpit.com/repositories/stretch stretch main' > /etc/apt/sources.list.d/openitcockpit.list
Update and installation
apt-get update
apt-get install openitcockpit{,-naemon,-statusengine-naemon,-npcd,-message}


During the installation phpMyAdmin will enquire about the webserver; do not make a selection here – just continue with the installation (Tab, Enter)



Start the setup
/usr/share/openitcockpit/app/SETUP.sh

1.2.2. openITCOCKPIT + Nagios


Key hinzufügen
apt-get install apt-transport-https
apt-key adv --recv --keyserver hkp://keyserver.ubuntu.com 1148DA8E

If you are unable to import the key automatically, you will have to import it manually.


Ubuntu 14.04 - Trusty
echo 'deb https://packages.openitcockpit.com/repositories/trusty trusty main' > /etc/apt/sources.list.d/openitcockpit.list
Ubuntu 16.04 - Xenial
echo 'deb https://packages.openitcockpit.com/repositories/xenial xenial main' > /etc/apt/sources.list.d/openitcockpit.list
Debian 8 - Jessie
echo 'deb https://packages.openitcockpit.com/repositories/jessie jessie main' > /etc/apt/sources.list.d/openitcockpit.list
Debian 9 - Stretch
echo 'deb https://packages.openitcockpit.com/repositories/stretch stretch main' > /etc/apt/sources.list.d/openitcockpit.list
Update and installation
apt-get update
apt-get install openitcockpit{,-nagios,-ndoutils,-npcd,-message}

During the installation phpMyAdmin will enquire about the webserver; do not make a selection here – just continue with the installation (Tab, Enter)



Start the setup
/usr/share/openitcockpit/app/SETUP.sh


1.3. Licence / module Installation

1.3.1. Creating and registering your licence

To install modules, you must first enter a licence in openITCOCKPIT.

The entry field for registering your licence can be found in the openITCOCKPIT front end under "Administration / Registration".

Your openITCOCKPIT installation will require a connection to the internet to verify that your licence has been entered correctly.

If all data is correct, the licence will register successfully.

1.3.2. Installing modules

A list of all installable modules (depending on the registered licence) can be found in the openITCOCKPIT front end under "Administration / Package Manager".

To install a module, simply click on the Install button for the given module. This will open a light box, install the corresponding module and display information about the steps to be performed..

ATTENTION

In older versions of openITCOCKPIT < 3.0.10-7 the openitcockpit-update command must be executed from the console after a module has been installed.

Installing modules often includes new rights for openITCOCKPIT users. These rights must be activated for the desired role under "Administration / Manage User Roles" for the module to be usable.

1.3.3. Module list

      • check_nrpe
      • Auto report
      • CheckMK
      • Distribute (satellite)
      • Maps
      • Idoit
      • Event correlation
      • Bulk mailing
      • SAP
      • Design module
      • WMI
      • Postgres
      • NWC
      • Linux basic monitoring
      • Alfresco
      • Nrpe

1.4. Satellites

1.4.1. Package-based installation (recommended)

1.4.1.1. To-do list on the master


apt-get install openitcockpit-module-distribute phpnsta-master
openitcockpit-update

You must now create an SSH key for the user Nagios.

The pnpNSTA is configured so that the connections are tunnelled via supervisor and SSH. The Nagios SSH keys are used for this purpose.

The configuration of the AfterExportCommand under/etc/openitcockpit/app/Config/after_export. php is also already set to the Nagios user's SSH keys.


Create SSH keys for the Nagios user on the master
su nagios
ssh-keygen
cat /var/lib/nagios/.ssh/id_rsa.pub

1.4.1.2. To-do list on the satellites


First, the key and repository for openITCOCKPIT must be entered. Which repository depends on the OS. See here.

In some cases, problems may occur when importing the key. If necessary, the key can also be generated manually.

apt-key adv --recv --keyserver hkp://keyserver.ubuntu.com 1148DA8E
echo 'deb https://packages.openitcockpit.com/repositories/xenial xenial main' > /etc/apt/sources.list.d/openitcockpit.list
apt-get update

Once this has been done, all required packages can easily be installed via APT.

apt-get install openitcockpit-nagios-sat openitcockpit-statusengine-broker-sat-nagios phpnsta-client openitcockpit-monitoring-plugins

Now the public key (id_rsa.pub) for the Nagios user on the master system must be imported for the Nagios user on the satellite.

This can be done by copying the output of the cat command (see above).

Preparation for importing the public key
#This has to happen on the satellite
su nagios
mkdir -p /var/lib/nagios/.ssh
chmod 700 /var/lib/nagios/.ssh
touch /var/lib/nagios/.ssh/authorized_keys
chmod 600 /var/lib/nagios/.ssh/authorized_keys

Now the public key can be added to the file /var/lib/nagios/.ssh/authorized_keys. (Using vim, nano, cat, etc...)

1.4.1.3. Completion


For good measure you need to log into the master system and re-establish an SSH connection to the satellites via the user Nagios and then import the host key (ssh confirm with yes).

Afterwards the satellites can be created in the openITCOCKPIT interface, an export can be completed and phpNSTA can be started on the master system.

1.4.2. Manual installation and configuration of Naemon on the satellite


Installation of required programs
apt-get install build-essential tmux htop screen vnstat php5-cli php5-dev gearman-job-server php5-gearman help2man gperf vim

You can now begin the actual Naemon installation.


Download & installation of Naemon
wget https://github.com/naemon/naemon-core/archive/v1.0.3.tar.gz
tar xzf v1.0.3.tar.gz
useradd --system --shell /bin/bash -d /home/naemon -m naemon
cd naemon-core-1.0.3
./autogen.sh --prefix=/opt/openitc/nagios
make all
make install
mkdir -p /opt/openitc/nagios/var/spool/checkresults
mkdir -p /opt/openitc/nagios/var/rw/
chown -R naemon:www-data /opt/openitc/nagios/var
cp -a /opt/openitc/nagios/etc/init.d/naemon /etc/init.d/
ln -s /etc/init.d/naemon /etc/init.d/nagios
ln -s /opt/openitc/nagios/bin/naemon /opt/openitc/nagios/bin/nagios
ln -s /opt/openitc/nagios/bin/naemonstats /opt/openitc/nagios/bin/nagiostats
ln -s /opt/openitc/nagios/etc/logrotate.d/naemon /etc/logrotate.d/naemon
update-rc.d naemon defaults

The values "config" and "pidfile" in the file "/etc/init. d/naemon" now need to be amended:

config="${sysconfdir}/naemon.cfg"

pidfile="${localstatedir}/nagios.lock"

1.4.2.1. phpNSTAClient installation on the satellite


Download & installation of phpNSTAClient
wget https://github.com/it-novum/phpNSTA/archive/1.7.5.tar.gz
tar xzf phpNSTA-1.7.5.tar.gz
cd phpNSTA-1.7.5/slave/
cp -r phpNSTAClient/ /opt/openitc/nagios/bin/
cd naemon_config_sample_v3/
cp restart.sh /opt/openitc/nagios/bin/
cp naemon_sat.cfg /opt/openitc/nagios/etc/naemon.cfg
rm -rf /opt/openitc/nagios/etc/naemon/*
ln -s /opt/openitc/nagios/etc/naemon.cfg /opt/openitc/nagios/etc/naemon/naemon.cfg
cd /opt/openitc/nagios/etc/
mkdir sat
cd sat/

Amendments now need to be made to the Naemon config "/opt/openitc/nagios/etc/naemon. cfg".

The broker module of the status engine must be deactivated:

#broker_module=/opt/statusengine/statusengine.o

The value "command_file" must be amended:

command_file=/opt/openitc/nagios/var/rw/oitc.cmd

The following values should already be set to 1, but it's best to make sure:

obsess_over_services=1

obsess_over_hosts=1

Creating the configuration file for the satellite:


Creation of the config file
vim /opt/openitc/nagios/etc/sat/sat.cfg
Content of the config file
define command{
        command_name    submit_check_result
        command_line    /opt/openitc/nagios/bin/phpNSTAClient/ocsp.php $TIMET$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATEID$ "$SERVICEOUTPUT$" "$SERVICEPERFDATA$"
}
define command{
        command_name    submit_host_check_result
        command_line    /opt/openitc/nagios/bin/phpNSTAClient/ochp.php $TIMET$ $HOSTNAME$ $HOSTSTATEID$ "$HOSTOUTPUT$"
}

Further configuration & installation
mkdir -p /opt/openitc/nagios/etc/config
chown naemon:naemon /opt/openitc/nagios/etc/config
apt install gearman-tools
cp /opt/openitc/nagios/bin/phpNSTAClient/phpNSTAClient /etc/init.d/
chmod +x /opt/openitc/nagios/bin/phpNSTAClient/phpNSTAClient.php
cp -a /opt/openitc/nagios/bin/phpNSTAClient/ochp.naemon.php /opt/openitc/nagios/bin/phpNSTAClient/ochp.php
chmod +x /opt/openitc/nagios/bin/phpNSTAClient/ochp.php
cp -a /opt/openitc/nagios/bin/phpNSTAClient/ocsp.naemon.php /opt/openitc/nagios/bin/phpNSTAClient/ocsp.php
chmod +x /opt/openitc/nagios/bin/phpNSTAClient/ocsp.php

The value "use_initscript" in the file "/opt/openitc/nagios/bin/phpNSTAClient/config.php" must also be updated / amended:

use_initscript=true

1.4.2.2. Creating and exchanging SSH keys between master and satellite

 The key must be created via the "root" user.


Creating the SSH key on the master
ssh-keygen

All queries can be easily confirmed (do NOT assign a password)


Display the SSH key on the master
cat /root/.ssh/id_rsa.pub

Now in a separate shell on satellite


Creation of the authorized_keys file on the satellite
su naemon
ssh root@localhost
[CTRL]+[D]
[CTRL]+[D]
vim /home/naemon/.ssh/authorized_keys # Hier den Inhalt vom Master 'cat /root/.ssh/id_rsa.pub' einfügen
chmod 600 /home/naemon/.ssh/authorized_keys
chown naemon:naemon /home/naemon/.ssh/authorized_keys

Test the SSH connection


The SSH connection from the master to the satellite should now be possible without further queries


On the master
ssh naemon@<IPdesSatelliten>

1.4.2.3. phpNSTA installation on the master


Installation on the master
wget https://github.com/it-novum/phpNSTA/archive/1.7.5.tar.gz
tar xzf phpNSTA-1.7.5.tar.gz
mv phpNSTA-1.7.5 phpNSTA
cp -a phpNSTA /opt/openitc/nagios/bin/
cp -a /opt/openitc/nagios/bin/phpNSTA/phpNSTA /etc/init.d/

Now the phpNSTA configuration must be amended. The following values must be entered in "/opt/openitc/nagios/bin/phpNSTA/config.php":

        • use_spooldir => 3 (depending on the monitoring engine. Read comment in config.php. "3" only for Naemon)
        • username => 'naemon'
        • private_path => '/root/.ssh/id_rsa'
        • public_path => '/root/.ssh/id_rsa_pub'
        • grep_for_nagios => 'ps -eaf | grep "/opt/openitc/nagios/bin/naemon -d /etc/openitcockpit/nagios.cfg" | grep -v "grep"'

1.4.2.4. Supervisor installation on the master


On the master
apt-get install supervisor

Now the supervisor configuration must be amended / updated. Include the following entries at the end of the file "/etc/supervisor/supervisord.conf":

[inet_http_server]
port = 127.0.0.1:9090
username = phpNSTA
password = phpNSTAsSecretPassword 


Restart supervisor
service supervisor restart

1.4.2.5. Installation and configuration of the distribute module

Select and install the distribute module in the openITCOCKPIT front end under "Administration / Package Manager". Then set the module permissions under "Administration / Manage User Roles". The module now appears in the left navigation bar and can now be selected.

By clicking on the "New" button you can create a new satellite with its corresponding values.

Because the existing satellites must receive their configuration from the master, you will need to create the following symlink.


Create rollout folder and symlink
mkdir /opt/openitc/nagios/rollout
ln -s /opt/openitc/nagios/etc/resource.cfg /opt/openitc/nagios/rollout/resource.cfg


In the file "/etc/openitcockpit/app/Config/after_export.php" the following values must be amended:

        • 'username' => 'naemon'
        • 'restart_command' => 'sudo service naemon restart'

1.4.2.6. Permissions for exporting to the satellite

The Naemon user, however, still needs rights to restart the service.


Set default editor and execute visudo
export EDITOR=vim
visudo

Insert the following at the end of the file:


# See sudoers(5) for more information on "#include" directives:naemon  ALL=(ALL) NOPASSWD:ALL

The function can now be tested. (No password request allowed)


Testing
su naemon
sudo whoami
exit
Set owner and group
chown -R naemon:naemon /opt/openitc/nagios/etc/
Commissioning the satellite
service phpNSTAClient start


2. Updating your openITCOCKPIT version

2.1. Procedure

As soon as a newer version of openITCOCKPIT is released, a blue flame will appear in the front end in the header of all pages to signal the new update is available.

In the package manager area there will also be a clear banner to alert you that a new version is available.

The actual update, however, is executed in the back end. This is done by establishing an SSH connection to the server.


SSH connection
ssh root@YOUR_SERVER_IP

The following commands must then be executed on the console.


Update of the sources
apt-get update
Executing the update inlcuding dependent packages
apt-get dist-upgrade
Execute openITCOCKPIT specific updates
openitcockpit-update

Finished.

You should now check that everything is working smoothly and, in particular, that all necessary services are up and running. The debugging page comes in very handy here.

2.2. Pitfalls

As with all updates, problems can arise. For this reason, we recommend that you back up the database first (excluding the Nagios tables).

In the best-case scenario, you can take a snapshot before the update, so that you can easily restore things to their original state should you need to.

3. Usage

3.1. Front end

3.1.1. Main navigation

3.1.1.1. Dashboard

The dashboard is the openITCOCKPIT home page and consists of only one tab by default.

You can switch between the different tabs by clicking on each respective tab. To display the context menu shown above, you must click on the small arrow next to the tab name. The following functions are available here.

        • Rename: For renaming the tab.
        • Start sharing: Here you can share your configured tab (including all widgets) with other users.
        • Delete: Deletes the tab.


This button can be used to create new tabs. It opens the following window.

To create a new empty tab, enter a name for the tab in the upper section and click on the "Save" button.

To create a tab from a template, select a shared tab from the list and click Create. If you create a tab from a template and something about the template is then changed, the following dialog will appear when you next access the tab.

You can then choose whether you want to update your tab or not.


With this button a time interval can be set to switch automatically to the next tab or, for a single tab, to reload it after the defined time interval has elapsed.


To add widgets to the tab, click on the green widget button and select the desired widget from the list.


You can change the default title for each widget by clicking on the cogwheel.

You can change the background colour of the header by clicking on the colour field.

Clicking this button will remove the widget from the dashboard.

With this button you can enlarge or reduce the widget as desired.


3.1.1.1.1. Welcome widget:

Displays an overview of how many hosts and services are currently monitored and the current time, time zone and date.

Welcome Widget


3.1.1.1.2. Parent outages widget:

Displays a list of all unreachable linked parent objects.


3.1.1.1.3. Hosts pie chart widget:

Shows a pie chart of all hosts including their status.


3.1.1.1.4. Hosts pie chart 180 widget:

Displays a half pie chart of all hosts and their status. In addition, you can click on the small arrow below the pie to display a detailed list.


3.1.1.1.5. Services pie chart widget:

Displays a pie chart of all hosts including their status.


3.1.1.1.6. Services pie chart 180 widget:

Displays a half pie chart of all hosts including their status. In addition, you can click on the small arrow below the pie to display a detailed list.


3.1.1.1.7. Host downtimes widget:

Displays a list of all hosts that are currently in downtime.


3.1.1.1.8. Service downtimes widget:

Displays a list of all services that are currently in downtime.


3.1.1.1.9. Hosts status list widget:

Displays an individually filtered list of all hosts.


3.1.1.1.10. Service status list widget:

Displays an individually filtered list of all services.


3.1.1.1.11. Traffic light widget:

Displays a service's status in the form of a traffic light.


3.1.1.1.12. Tachometer widget:

Displays the current performance data of a service in the form of a tachometer.


3.1.1.1.13. Notice widget:

Allows you to save a small note on the dashboard.


3.1.1.1.14. Map widget:

Displays a map on the dashboard.


3.1.1.1.15. Graph generator widget:

Displays a graph configured by the graph generator on the dashboard.


By clicking the following button you can create a default dashboard in the current tab.

This includes the following widgets:

        • Welcome
        • Parent outages
        • Hosts pie chart
        • Services pie chart
        • Host downtimes
        • Service downtimes


3.1.1.2. Maps

3.1.1.2.1. Status Map

Under "Maps / Status Map" you can access a status map for all hosts. By clicking on a host you will zoom into the map and get detailed information about the host.

Double clicking on the map will reset the zoom back to its original position.

A host search function has been integrated into the upper left corner of the map to facilitate searches by hostnames.


3.1.1.2.2. Auto Map

Under "Maps / Auto Map" you can access an overview of all auto maps. In the header there are two buttons.

Link to the input form for creating a new auto map.

Provides the option to filter the auto map list.


New auto map:

There is a button in the header of the input form used for creating a new auto map.

Returns to the auto map overview (without saving)


Field nameRequired FieldDescription
Container(Warnung)The container in which the auto map will be placed
Recursive container lookup

For recursively searching the container. (Warnung) Attention: Can cause performance issues in
very large environments

Name(Warnung)Name of the auto map
Description
Description of the auto map
Host RegEx(Warnung)Regular expression for searching hosts
Service RegEx(Warnung)Regular expression for searching services
Show Ok
If you want hosts and services with the Down or Critical status to be displayed
Show Warning
If you want services with a Warning status to be displayed
Show Critical
If you want hosts and services with the Down or Critical status to be displayed
Show Unknown
If you want hosts and services with the Unreachable or Unknown status to be displayed
Show Downtime
If you want the hosts and services in downtime to be displayed
Show Acknowledged
If you want the hosts and services that have been acknowledged to be displayed
Show Label
If you want the name of the host / service to be displayed
Group by host
If you want to group services by hosts
Icon size
For setting the icon size of the hosts and services


3.1.1.3. Basic monitoring

3.1.1.3.1. Hosts

Under "Basic Monitoring / Hosts" you will find an overview of all hosts. This contains four tabs (Monitored, Not monitored,

Disabled, Deleted) as well as three buttons in the header that you can choose from.

Provides the option to hide individual table columns

Link to input form for creating a new host

Provides the ability to filter the host list by name, IP address, output, status, acknowledged or downtime.


New host:

The input form for creating a new host contains two tabs (Basic configuration, Expert settings) and two buttons.

Turns the Auto DNS Lookup function on or off. This automatically tries to resolve the host name into an IP address and vice versa.

Returns to the host overview (without saving).


Basic configuration
Field nameRequired fieldDescription
Container(Warnung)The container in which the host will be located
Shared Containers
Container(s) in which the host should also be visible
Hosttemplate(Warnung)The host templates that should be used
Host Name(Warnung)The name of the host
Description
A description of the host
Address(Warnung)The IP address of the host
Hostgroups
If the host is in a group
Parent hosts
If the host is assigned to parent objects
Notes
Comments regarding the host
Host URL
The URL of the host
Priority
The priority of the host (currently has no influence)
Tags
The host's tags
Satellite
If the host is monitored by the master system or a satellite
Notification period
The period of time when the host can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable active checks
If enabled, the host is actively checked or the results are transferred passively
Contact
The host's contacts
Contactgroups
The host's contact groups
Expert settings
Checkcommand
The command for checking the host and its arguments
Check period
The period in which the host is checked.
Max. number of check attempts
The maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Active if flap detection is activated

The host inherits many of its settings from the selected host template. These are indicated by a chain symbol.

Setting was inherited from the host template and has not changed

Setting was inherited from the host template, but differs from the value in the template


By using this macros can be added to the host.


3.1.1.3.2. Services

Under "Basic Monitoring / Services" you can access an overview of all services. The header contains three tabs (Monitored, Not monitored,

Disabled, Disabled) as well as three buttons that you can choose from.

Link to input form for creating a new service

Provides the ability to filter the service list by host name, service name, output, status, acknowledged, downtime or passive


New service:

The input form for creating a new service contains two tabs (Basic configuration, Expert settings) and one button.

Returns to the service overview (without saving)


Basic configuration
Field nameRequired FieldDescription
Host(Warnung)The host on which the service is to be created
Servicetemplate(Warnung)The service template to be used
Name
The name of the service
Description
A description of the service
Servicegroup
If the service is in a service group
Notes
Comments regarding the service
Service URL
The URL of the service
Priority
The priority of the service (currently has no impact)
Tags
The tags for the service
Notification period
The period when the host can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable graph
If performance data for this service is to be stored
Enable active checks
If enabled, the service is actively checked or the results are transferred passively
Contact
The contacts for the service
Contactgroups
The contact groups for the service
Expert settings
Checkcommand
The command for checking the service and its arguments
Check period
The period in which the service is checked
Max. number of check attempts
Maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Ist die Flap Detection aktiviert
Status volatile
If you want the option is_volatile to be activated
Freshness checks enabled
If you want freshness checks to be activated
Freshness threshold
Duration of freshness in seconds
Eventhandler
The event handler for the service

The service inherits many of the settings when the service template is selected. These are indicated by a chain symbol.

Setting was inherited from the service template and has not changed

Setting was inherited from the service template, but differs from the value in the template


By using this macros can be added to the service.


3.1.1.3.3. Browser

Under "Basic Monitoring / Browser" you can access an overview of the created container structure and its contents.

In the standard system, only hosts and services are displayed in the currently selected container.

A recursive display can be activated in the user's profile in the front end system.

Displays the path of the currently selected container.

The Nodes window displays all containers within the selected container.

The containers in the Nodes window are linked and can be used to navigate through the container structure.


3.1.1.3.4. Host templates

Under "Basic Monitoring / Host Templates" you can access an overview of all host templates. In the header there are two buttons.


Link to the input form for creating a new host template

Offers the ability to filter the host template list by name


New host template:

The input form for creating a new host template has two tabs (Basic configuration, Expert settings) and one button in the form header.

Returns the user to the host template overview (without saving)


Basic configuration
Field nameRequired FieldDescription
Container(Warnung)The container in which the host template is to be stored
Templatename(Warnung)The name of the host template
Description
A description of the host template
Hostgroups
If hosts created from this template are in a host group
Notes
Comments regarding the host template
Host URL
The URL of the host template
Priority
The priority of the host template (currently has no impact)
Tags
The tags for the host template
Notification period(Warnung)The period when the host template can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Set which statuses trigger a notification
Enable active checks
If enabled, the host is actively checked or the results are transferred passively
Contact(Warnung)Host template contacts
Contactgroups(Warnung)The host template contact groups
Expert settings
Checkcommand(Warnung)The command for checking the host created from this template and its arguments
Check period(Warnung)Period in which the host created from this template is checked
Max. number of check attempts(Warnung)The maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Active if flap detection is activated

By using this macros can be added to the host template.


3.1.1.3.5. Service templates

Under "Basic Monitoring / Service Templates" you can access an overview of all service templates. In the header there are two buttons.

Link to the input form for creating a new service template.

Offers the ability to filter the service template list by template name, service name or template description.


New service template:

The input form for creating a new service template contains two tabs (Basic configuration, Expert settings) and one button in the form header.


Returns to the service template overview (without saving).


Basic configuration
Field nameRequired FieldDescription
Container(Warnung)The container in which the template is located
Template name(Warnung)The name of the service template
Service name(Warnung)The name of the service generated from the template
Description
A description of the service template
Servicegroup
If services created from this template are to be in a service group
Notes
Comments regarding the service template
Priority
The priority of the service template (currently has no impact)
Tags
The tags for the service template
Notification period(Warnung)The period when the host can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable graph
If performance data for this service is to be stored
Enable active checks
If enabled, the service is actively checked or the results are transferred passively
Contact
Contacts for the service created from this template
Contactgroups
Contact groups for the service created from this template
Expert settings
Checkcommand(Warnung)The command for checking the service and its arguments
Check period(Warnung)Period in which the service is checked
Max. number of check attempts(Warnung)The maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The time period between checks in the event of an error
Flap detection
Active if flap detection is activated
Status volatile
If you want the option is_volatile to be activated
Freshness checks enabled
If you want freshness checks be activated
Freshness threshold
Duration of freshness in seconds
Eventhandler
The event handler for the service created from this template

By using this you can add macros to the service template.


3.1.1.3.6. Service template groups

Under "Basic Monitoring / Service Template Grps. "you will find an overview of all service template groups. In the header there are two buttons.

Link to input form for creating a new service template group

Offers the ability to filter the service template list by name


New service template group:

There is a button in the header of the input form used for creating a new service template group.

Returns to the service template group overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the service template group is located
Service Template Group Name(Warnung)

The name of the service template group

Service Templates(Warnung)The service templates to be included in the group
Description
A description of the service template group


Each service template group has a submenu in the overview list that can be opened by clicking the arrow.

          • Edit: Opens the service template group for editing
          • Allocate host group: Rolls out the group service templates to all hosts in a host group.
          • Allocate matching host group: Rolls out the group service templates to a host group with the same name.
          • Allocate host: Rolls out the group service templates to a single host.
          • Delete: Deletes the service template group.

During the rollout, the respective hosts are displayed, including a checkbox in front of each service template in the group.

If the checkbox is ticked, the corresponding service does not yet exist on the host. If the checkbox is empty, the

corresponding service is already available on the host.


3.1.1.3.7. Host groups

Under "Basic Monitoring / Host Groups" you can access an overview of all host groups. Here you will find four buttons in the header.

Link to a detailed and extended host group overview.

Provides the option to hide individual table columns.

Link to the input form for creating a new host group.

Offers the ability to filter host groups list by name and/or description.

New host group:

There is a button located in the header of the input form used for creating a new host group.

Returns to the host group overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the host group is located
Host Group Name(Warnung)

The name of the host group

Description
A description of the host group
Host Group URL
The URL of the host group
Hosts
The hosts in this host group
Host templates
The host templates for this host group




3.1.1.3.8. Service groups

Under "Basic Monitoring / Service Groups" you can access an overview of all service groups. Here you will find three buttons in the header.

Provides the option to hide individual table columns.

Link to the input form for creating a new host group.

Offers the ability to filter the service groups list by name and/or description.


New service group:

There is a button in the header of the input form used for creating a new service group.

Returns to the service group overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the service group is located
Servicegroup Name(Warnung)

The name of the service group

Description
A description of the service group
Servicegroup URL
The URL of the service group
Services
The services for this service group
Service templates
Service templates for this service group




3.1.1.3.9. Contacts

Under "Basic Monitoring / Contacts" you can access an overview of all contacts. Here you will find three or four buttons in the header.

Provides the option to hide individual table columns.

Link to input form for creating a new contact.

Allows you to import a contact from the configured LDAP server. Only displayed if LDAP authentication is enabled in the system settings.

Offers the ability to filter the contact list by name, email or pager.


New contact:

There is a button in the header of the input form used for creating a new contact.

Returns to the contact overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the contact is located
Name(Warnung)

The name of the contact

Description
A description of the contact
Email(Warnung)The email address for the contact
Phone
Telephone number of the contact
Notification Host
Host Timeperiod(Warnung)The period for host notifications
Host Commands(Warnung)The host notification command
Notifications enabled
If enabled, host notifications will be sent to this contact
Host notification options(Warnung)Designates which host statuses should trigger notifications
Notification Service
Service Timeperiod(Warnung)Designates which host statuses should trigger notifications
Service Commands(Warnung)The service notification command
Notifications enabled
If enabled, service notifications will be sent to this contact
Service notification options(Warnung)Designates which service statuses should trigger notifications

When importing from LDAP, the Name and Email fields are set automatically.


3.1.1.3.10. Contact groups

Under "Basic Monitoring / Contact Groups" you can access an overview of all contact groups. Here you will find three buttons in the header.

Provides the option to hide individual table columns.

Link to the input form for creating a new contact group.

Offers the ability to filter the contact groups list by name and/or description.


New contact group:

There is a button in the header of the input form used for creating a new contact group.

Returns to the contact group overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the contact group is located
Contact group name(Warnung)

The name of the contact group

Description
A description of the contact group
Contacts(Warnung)Contacts for this contact group



3.1.1.3.11. Calendar

There is a button in the header of the input form used for creating a new calendar.

Link to input form for creating a new calendar.


New calendar:

There is a button in the header of the input form used for creating a new calendar.

Returns to the calendar overview (without saving).


Field nameRequired FieldDescription
Name(Warnung)The name of the calendar
Description
A description of the calendar
Tenant(Warnung)Customers to which the calendar should be assigned



3.1.1.3.12. Time period

Under "Basic Monitoring / Time Periods" you will initially find an overview of all time periods. Here you will find three buttons in the header.

Provides the option to hide individual table columns.

Link to input form for creating a new time period.

Offers the ability to filter time period list by name and/or description.


New time period:

There is a button in the header of the input form used for creating a new time period.

Returns to the time period overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the time period is located
Name(Warnung)

The name of the time period

Description
A description of the contact group
Time ranges
The individual time spans for days of the week

Adds a time span. The day of the week can be selected and the respective start and end time can be set.

Removes the corresponding time span.


3.1.1.3.13. Commands

Under "Basic Monitoring / Commands" you can see an overview of all commands. In the header there are four tabs (Commands, Host checks,

Notifications and Event handler) and two buttons.

Link to the input form for creating a new command.

Offers the ability to filter the command list by name.


New command:

There are two buttons in the header of the input form used for creating a new time period.

Displays an overview of all user-defined macros. These can be created and edited under "Expert Monitoring / User-defined Macros".

Returns to the command overview (without saving).


Field nameRequired FieldDescription
Command type(Warnung)Type of command (service check, host check, notification or event handler)
Name(Warnung)

The name of the command

Command line
The actual command to be executed
Description
The description of the command

This button can be used to create arguments for the command.

This screen contains an integrated terminal for testing purposes.


3.1.1.3.14. Tenants

Under "Basic Monitoring / Tenants" you will find an overview of all clients. In the header there are two buttons.

Link to input form for creating a new client

Offers the ability to filter the clients list by name and/or description


New tenant / client:

There is a button in the header of the input form used for creating a new client.

Returns to the client overview (without saving).


Field nameRequired FieldDescription
Name(Warnung)

The client name

Description
The description of the client
is active
Selected if the client is active
Expiration date
Period the client is active (format dd/mm/yyyy)
Firstname
The first name of the client
Lastname
The last name of the client
Street
Street name
Zipcode
Post code
City
City
Max Users(Warnung)Maximum number of users (0 for unlimited)
Max Hosts(Warnung)Maximum number of hosts (0 for unlimited)
Max Services(Warnung)Maximum number of services (0 for unlimited)




3.1.1.3.15. Nodes

Under "Basic Monitoring / Nodes" you get an overview of all nodes in the form of a hierarchic "tree" structure for the selected client.


New node:

To create a new node or container, select the container in which the new item should be created and enter a name.


3.1.1.3.16. Locations

Under "Basic Monitoring / Locations" you will find an overview of all locations. In the header there are two buttons.

Link to the input form for creating a new location.

Offers the ability to filter the clients list by name and/or description.


New location:

There is a button in the header of the input form used for creating a new location.

Returns to the location overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container for the location
Name(Warnung)

The name of the location

Description
The description for the location
Timezone
Time zone of the location
Latitude
Latitude of the location
Longitude
Longitude of the location




3.1.1.3.17. Graph generator

Under "Basic Monitoring / Graph Generator" you will find an input form for creating graphs. Here you will find two buttons in the header.

By switching to the "List" tab, you will get an overview of all created graphs.


New graph:


Field nameRequired FieldDescription
Name(Warnung)

The name of the graph

Time(Warnung)The evaluation period
Host(Warnung)Chosen host
Service(Warnung)Chosen service

After selecting a service, you can choose which rules for this service should be displayed in the graph.

For example, for a "ping", these are rta and / or pl.

Several graphs for services can be superimposed, even from different hosts. To do this, simply select the

corresponding host and service and choose the desired rules.


3.1.1.3.18. Graph collections

Under "Basic Monitoring / Graph Collections" you can access an overview of all graph collections. Here you will find a button in the header.

Link to the input form for creating a new collection of graphs.


New graph collection:


Field nameRequired FieldDescription
Name(Warnung)

The name of the graph collection

Description
Description of the graph collection
Templates(Warnung)Which graphs from the graph generator should be used




3.1.1.3.19. Downtimes

Under "Basic Monitoring / Downtimes" you can see an overview of all host downtimes. Here you will find seven buttons and 2 entry fields in the header.

Here you can select the type of downtime to be displayed. You can choose from Service or Recurring Downtime.

Number of results displayed.

Here you can select whether to hide expired downtimes.

Accepts the selected settings and applies them to the list.

Provides the option to hide individual table columns.

Link to the input form for creating a new downtime. You can choose the type of downtime (host, hostgroup, service) you would like to create.

Provides the ability to filter the downtime list by host, user and comment.


New downtime:

There is a button in the header of the input form used for creating a new downtime.

Returns to the downtime overview (without saving).


Field nameRequired FieldDescription
Host downtime
Host(Warnung)

The host to receive a downtime

Maintenance period for

Who the downtime should apply to:

  • Individual host
  • Host including services
  • Host and dependent hosts (triggered)
  • Host and dependent hosts (non-triggered)
Comment(Warnung)Comments for the downtime
Recurring downtime
Recurring downtime
From(Warnung)Starting point for the downtime
To(Warnung)Endpoint for the downtime
Host group downtime
Host group(Warnung)Host group to receive a downtime
Maintenance period for

Who the downtime should apply to.

  • Hosts only
  • Hosts including services
Comment(Warnung)Comments regarding the downtime
Recurring downtime
Recurring downtime
From(Warnung)Starting point for the downtime
To(Warnung)Endpoint for the downtime
Service downtime
Service(Warnung)Which service is to receive a downtime
Comment(Warnung)Comments regarding the downtime
Recurring downtime
Recurring downtime
From(Warnung)Starting point for the downtime
To(Warnung)Endpoint for the downtime




3.1.1.3.20. Log Entries

Under "Basic Monitoring / Log Entries" you can access an overview of all log entries. Here you can find 5 buttons in the header.

Number of results displayed.

Here you can select the type of log entry to be displayed.

Accepts the selected settings and applies them to the list.

Provides the option to hide individual table columns.

Provides the ability to filter the log entry list by log entry..



3.1.1.3.21. Notifications

Under "Basic Monitoring / Notifications" you can access an overview of all notifications. Here you will find 5 buttons and two input fields.

Choice between host or service notifications

Number of results displayed.

Accepts the selected settings and applies them to the list.

Provides the option to hide individual table columns.

Provides the ability to filter the notification list by output, host name, contact name or notification method.



3.1.1.3.22. Performance info

Under "Basic Monitoring / Performance Info" you can access an overview page with different tables for active and passive host and service checks.

These show, for example, how many checks have been performed in the last 60 minutes.

There is also a table with general information on the monitoring system.

This page contains an automatic refresh of the data and is reloaded every 15 seconds.


3.1.1.4. Expert Monitoring

3.1.1.4.1. User defined macros

Under "Expert Monitoring / User Defined Macros" you can access an overview of all macros defined by the user.

Here you will find a button in the header.

Adds an entry to the end of the list of macros.

Each macro requires an entry under Value. The description is optional.

Makes the value of a macro visible or invisible.

Deletes the respective macro.

Empty macros are automatically removed.


3.1.1.4.2. Host escalations

Under "Expert Monitoring / Host Escalations" you can access an overview of all host escalations. In the header there are two buttons.

Provides the option to hide individual table columns.

Link to the input form for creating a new host escalation.


New host escalation:

There is a button in the header of the input form used for creating a new host escalation.

Returns to the host escalation overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container in which the host escalation is to be created

Hosts(Warnung)The hosts to be affected
Hosts excluded
The hosts not to be affected
Hostgroups
The host groups to be affected
Hostgroups excluded
The host groups not to be affected
First escalation notice(Warnung)Point from when the escalation takes effect (number of notifications)
Last escalation notice(Warnung)Period when the escalation ends (number of notifications)
Notification interval(Warnung)How often notifications are issued (in minutes)
Timeperiod(Warnung)The period during which notifications should be sent
Contacts(Warnung)The contacts that should be notified
Contactgroups(Warnung)The contact groups to be notified / that should be notified
Hostescalation options
The statuses that trigger a notification




3.1.1.4.3. Service escalations

Under "Expert Monitoring / Service Escalations" you can access an overview of all service escalations. In the header there are two buttons.

Provides the option to hide individual table columns.

Link to the input form for creating a new service escalation.


New service escalation:

There is a button in the header of the input form used for creating a new service escalation.

Returns to the service escalation overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container in which the service escalation is to be created

Services(Warnung)The hosts to be affected
Services excluded
The hosts that are not to be affected
Service Groups
The service groups that are to be affected
Service Groups excluded
The service groups that are not to be affected
First escalation notice(Warnung)Point from when the escalation takes effect (number of notifications)
Last escalation notice(Warnung)Period when the escalation ends (number of notifications)
Notification interval(Warnung)How often notifications are issued (in minutes)
Timeperiod(Warnung)The period during which notifications should be sent
Contacts(Warnung)The contacts that should be notified
Contactgroups(Warnung)The contact groups that should be notified
Serviceescalation options
The statuses that trigger a notification




3.1.1.4.4. Host dependencies

Under "Expert Monitoring / Host Dependencies" you can access an overview of all host dependencies. In the header there are two buttons.

Provides the option to hide individual table columns.

Link to the input form for creating a new host dependency.


New host dependency:

There is a button in the header of the input form used for creating a new host dependency.

Returns to the host dependency overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container in which the host dependency is to be created

Hosts(Warnung)The hosts to be affected
Dependent hosts(Warnung)The hosts that are to be dependent
Hostgroups
The host groups to be affected
Dependent Hostgroups
The host groups that are to be dependent
Timeperiod
The period in which the dependency should apply
Inherit parents
Parent objects to be affected as well
Execution failure criteria
The status for which the dependency takes effect
Notification failure criteria
Which statuses should trigger a notification




3.1.1.4.5. Service dependencies

Under "Expert Monitoring / Service Dependencies" you can access an overview of all service dependencies. In the header there are two buttons.

Provides the option to hide individual table columns

Link to the input form for creating a new service dependency


New service dependency:

There is a button in the header of the input form used for creating a new service dependency.

Returns to the service dependency overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container in which the service dependency is to be created

Service(Warnung)The services to be affected
Dependent Services(Warnung)Which services are to be dependent
Servicegroups
The service groups to be affected
Dependent Servicegroups
The service groups that are to be dependent
Timeperiod
The period in which the dependency should apply
Inherit parents
Parent objects to be affected as well
Execution failure criteria
The status for which the dependency takes effect
Notification failure criteria
Which statuses should trigger a notification




3.1.1.4.6. External Commands

Under "Expert Monitoring / External Commands" you can find a pick list of different external commands.

Selecting a command provides detailed information about the API structure of the command as well as

an example HTTP request for the command.


3.1.1.5. Reporting

3.1.1.5.1. Instant report

Under "Reporting / Instant Report" you can access an overview all instant reports if reports have already been created.

If none have been created yet, you will be taken directly to the input form for creating an instant report. In the header of the

summary list you will find two buttons.

Sends all instant reports to the stored contacts.

Link to input form for creating a instant report.


New instant report:

There is a button in the header of the input form used for creating a new instant report.

Returns to the instant report overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container in which the instant report is to be created

Name(Warnung)The name of the instant report
Evaluation
Which objects are to be evaluated (host, hosts and services, services)
Type(Warnung)Which type of objects should be selectable (hosts, host groups, services, service groups)
Objekte(Warnung)This field is named by type, depending on the selection. Here, for example, the hosts are selected
Timeperiod
The time period to be taken into account
Reflection state
Which statuses should taken into account (soft and hard state, only hard state)
Consider downtimes
Downtimes to be taken into account
Summary display
If a summary in the report is to be displayed
Send email
Report to be sent as an email
Send interval
Send interval for the emails. (daily, weekly, monthly, yearly)
Users to send
Selection of users to receive the report




3.1.1.5.2. Downtime report

Under "Reporting / Downtime Report" you can find the input form for creating a downtime report.


New downtime report:


Field nameRequired FieldDescription
Evaluation
The objects to be evaluated (host, hosts and services, services)
Report format
Output format of the downtime report (PDF, HTML)
Timeperiod(Warnung)The period to be taken into account
From(Warnung)Start of evaluation
To(Warnung)End of evaluation
Reflection state
Which statuses should be taken into account (soft and hard state, only hard state)




3.1.1.5.3. Current state report

Under "Reporting / Current State Report" you will find the input form for creating a current state report.


New current state report:


Field nameRequired FieldDescription
Services(Warnung)The services to be evaluated
State filter(Warnung)The status to be taken into account (Ok, Warning, Critical, Unknown)
Report format
Output format of the downtime report (PDF, HTML)


3.1.1.6. Documentation

Contains information on the use and operation of openITCOCKPIT.


3.1.1.7. Administration

3.1.1.7.1. Change log

Under "Administration / Change Log" you can access an overview of all log entries.

Above this list you have the option to filter the list according to certain criteria.

Provides the option of filtering the change log by name, type (command, contact, contact group, host,

host group, host template, service, service group, service template, time period) and action (add, copy, delete, edit).



3.1.1.7.2. Proxy settings

Under "Administration / Proxy Settings" you can access a form for using a proxy with openITCOCKPIT.

Locks or unlocks the input form.

To use the proxy, the correct IP address and port must be entered and the "Enable Proxy" switch must be set to "on".



3.1.1.7.3. Package manager

Under "Administration / Package Manager" you can access an overview of all installable modules.

Which modules are offered for installation depends on the stored license key for the openITCOCKPIT installation.

A list of all modules can be found here.

Installs the respective module.

Shows the changelog of openITCOCKPIT.


3.1.1.7.4. Managing users

Under "Administration / Manage Users" you will find a table of all users created in openITCOCKPIT.

The overview list in the header contains two or three buttons.

Link to input form for creating a new user.

Allows you to import a user from the configured LDAP server. Only displayed if LDAP authentication is enabled in the system settings.

Offers the ability to filter the user list by name, email or company.


New user:

There is a button in the header of the input form used for creating a new user.

Returns to the user overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The containers that the user should be granted rights to (read, read and write)
User role(Warnung)The role assigned to the user
Status(Warnung)The user status (active, suspended, deleted)
Email Address(Warnung)The email address of the user. Used for local login
First Name(Warnung)The first name of the user
Last name(Warnung)The last name of the user
Company

The user's company

Company Position
The user's job role / position
Phone Number
The user's telephone number
LinkedIn ID
The user's LinkedIn ID
New Password(Warnung)The user's password
Confirm new Password(Warnung)The user's password for verification




3.1.1.7.5. Managing user roles

Under "Administration / Manage User Roles" you will find a table of all user roles created in openITCOCKPIT.

In the header of the summary list you will find two buttons.

Provides the option to hide individual table columns.

Link to the input form for creating a new user role.


New user role:

There is a button in the header of the input form used for creating a new user role.

Returns to the user roles overview (without saving).


Field nameRequired FieldDescription
Name(Warnung)Name of the user role
Description
Description of the user role

The rights are configured via the user role. In order to assign rights, simply tick the checkbox next to the respective action/method to be granted.


Closes the entire rights tree.

Expands the entire rights tree.

Sets or removes all actions/methods.

Sets or removes all "view" rights.

Sets or removes all "create" rights.

Sets or removes all "edit" rights.

Sets or removes all "delete" rights.


3.1.1.7.6. Debugging

Under "Administration / Debugging" you will find an information page in openITCOCKPIT.

This displays a variety of information that may be helpful when debugging. For example, this displays whether

critical services for using openITCOCKPIT are running.


There is also a graph that displays the openITCOCKPIT server load, memory usage and hard disk utilisation.

There is also a status table that covers the queueing engine, the stored email configuration and the complete PHP settings.


3.1.1.7.7. System failures

Under "Administration / System Failures" you will find an overview of all system failures. In the header there are two buttons.


Link to input form for creating a new system outage.

Provides the ability to filter the system outages list by comment.


New system outage

In the header of the input form used for creating a new system outage you will find a button.

Returns to the system outage overview (without saving).


Field nameRequired FieldDescription
Comment(Warnung)Comments regarding system outage
From(Warnung)Start of system outage
To(Warnung)End of system outage




3.1.1.7.8. System settings

Under "Administration / System Settings" you will find a table of all system settings.


SUDO_SERVER
Field nameDescription
SOCKETPath in which the SudoServer tries to create the socket file
SOCKET_NAMEName of the SudoServer socket
SOCKETPERMISSIONSPermissions for the SudoServer socket
FOLDERPERMISSIONSSocket folder permissions
API_KEYAPI key for the SudoServer
WORKERSOCKET_NAMEWorker socket name
WORKERSOCKETPERMISSIONSWorker socket permissions
RESPONSESOCKET_NAMEResponse socket name
RESPONSESOCKETPERMISSIONSResponse socket permissions
WEBSERVER
USERUsername for the web server
GROUPWeb server user group
MONITORING
USERMonitoring system username
GROUPMonitoring system user group
FROM_ADDRESSAddress of the notifications sender
FROM_NAMEName of the notifications sender
MESSAGE_HEADERHeader of the notification in plain text email
ACK_RECEIVER_SERVERReceiving server of the acknowledge emails
ACK_RECEIVER_ADDRESSEmail address for acknowledge emails
ACK_RECEIVER_PASSWORDPassword for the acknowledge email account
CMDThe pipe for monitoring system commands
HOST.INITSTATEThe initial host status
SERVICE.INITSTATEThe initial server status
RESTARTCommand for restarting the monitoring system
RELOADCommand for reloading the monitoring system configuration
STOPCommand for stopping the monitoring system
STARTCommand for starting the monitoring system
STATUSCommand for querying the monitoring system status
CORECONFIGPath to the monitoring system configuration
STATUS_DATPath to the monitoring system status.dat file
FRESHNESS_THRESHOLD_ADDITION

Value (in seconds) added to the service check interval for passive
services before the monitoring system executes a freshness_check

AFTER_EXPORTA command that is executed after an export as root user has been performed
SINGLE_INSTANCE_SYNC

When using satellites, allows individual satellites to be selected to avoid the configuration being rolled out to all satellites.


QUERY_HANDLERPath to the monitoring system query handler
HOST_CHECK_ACTIVE_DEFAULT

If you want the value "active_checks_enabled" to be set for new host templates by default


SERVICE_CHECK_ACTIVE_DEFAULT

If you want the value "active_checks_enabled" to be set for new service templates by default


SYSTEM
ADDRESSThe IP address of the openITCOCKPIT server
FRONTEND
SYSTEMNAMEThe system name
SHOW_EXPORT_RUNNINGIf you want to display whether an export is currently running or not in the system header
MASTER_INSTANCEThe name of the openITCOCKPIT main system
AUTH_METHODThe login method the front end should use
LDAP.TYPEType of connected LDAP
LDAP.ADDRESSIP address of the LDAP server
LDAP.PORTThe LDAP server port
LDAP.QUERYThe query to the LDAP server
LDAP.BASEDNStarting point for searches in the LDAP directory tree
LDAP.USERNAMEUser for starting LDAP searches
LDAP.PASSWORDThe LDAP user password
LDAP.SUFFIXThe LDAP server suffix
LDAP.USE_TLSIf TLS encryption is to be activated
SSO.CLIENT_IDThe single sign-on ID generated by the SSO Server
SSO.CLIENT_SECRETThe password for the client ID
SSO.AUTH_ENDPOINTThe authentication endpoint
SSO.TOKEN_ENDPOINTThe token endpoint
SSO.USER_ENDPOINTThe endpoint of the SSO server for users
SSO.NO_EMAIL_MESSAGEContents of the error message if an incorrect email address has been specified
SSO.LOG_OFF_LINKLink to the SSO server logout
CERT.DEFAULT_USER_EMAIL

Default email address if no address is stored in the login certificate

HIDDEN_USER_IN_CHANGELOGIf user names are to be hidden in the change log
CHECK_MK
BINPath to the Check MK binary
MATCHRegex for which services are not be compressed by Check MK
ETCPath to the Check MK configuration files
VARPath to the Check MK var files
ACTIVE_CHECKName of the service template for the active Check MK service
ARCHIVE
AGE.SERVICECHECKSNumber of weeks the results of service checks should be stored
AGE.HOSTCHECKSNumber of weeks the results of host checks should be stored
AGE.STATEHISTORIESNumber of weeks status changes should be stored
AGE.LOGENTRIESNumber of weeks log entries should be saved
AGE.NOTIFICATiONSNumber of weeks notifications should be stored
AGE.CONTACTNOTIFICATIONSNumber of weeks contact notifications should be stored
AGE.CONTACTNOTIFICATIONSMETHODSNumber of weeks contact notification methods should be stored
INIT
SUDO_SERVER_STATUSCommand for querying the SudoServer's status
GEARMAN_WORKER_STATUSCommand for querying the Gearman worker status
OITC_CMD_STATUSCommand for querying the oitc cmd status
NPCD_STATUSCommand for querying the NPCD status
NDO_STATUSCommand for querying NDO status
STATUSENGINE_STATUSCommand for querying the status engine status
GEARMAN_JOB_SERVER_STATUSCommand for querying the status of the Gearman job server
PHPNSTA_STATUSCommand for querying the phpNSTA status
TICKET_SYSTEM
URLLink to the ticketing system





3.1.1.7.9. Cron jobs

Under "Administration / Cron Jobs" you will find an overview of all cron jobs created. Here you will find a button in the header.


Link to the input form for creating a new cron job.


New cron job:

There is a button in the header of the input form used for creating a new cron job.

Returns to the cron job overview (without saving).


Field nameRequired FieldDescription
Plugin(Warnung)Plugin to be used
Task(Warnung)Task to be executed
Interval(Warnung)Interval (in minutes) in which the cron job should be executed




3.1.1.7.10. Registration

Under "Administration / Registration" you will find a form where you can enter your openITCOCKPIT licence key.


3.1.1.7.11. Backup & restore

Under "Administration / Backup / Restore" you can access a form that can be used to create backups of the database or import previous SQL dumps.

Backups that are no longer needed can also be deleted here.



3.1.1.8. Support

3.1.1.8.1. Reporting an issue

Under "Support / Report an issue" you will find various options for getting support with openITCOCKPIT.

Commercial Support: Create a ticket directly in our ticketing system

IRC: Here you can ask questions in our IRC channel and have direct contact with the openITCOCKPIT team

Jira: Create a new Bug Ticket

GitHub: Links to the openITCOCKPIT Issue List on GitHub.


3.1.2. User profiles

3.1.2.1. Changing profiles

User profiles can be accessed by clicking on the user name displayed above the main navigation pane.

Logged in users can adjust their personal data and settings from within their individual profiles.


Field nameRequired FieldDescription
First name(Warnung)The first name of the user
Last name(Warnung)The last name of the user
Email(Warnung)The user's email address
Phone
The user's telephone number
Show status stats in menu

Displays a quick view of the current status of all hosts and services in the header on all pages

Recursive Browser

The browser will recursively evaluate the containers under "Basic Monitoring / Browser"

(may cause performance problems in large environments)

Listelement Length
The number of results to be displayed per page in all lists
Date format
The format in which the date and time should be displayed
Timezone
The time zone to be used




3.1.2.2. Your picture

Here the user can upload a profile picture.


3.1.2.3. Changing passwords

Here the user can change his password.

3.1.3. Searches

3.1.3.1. Quick search menu

Enter the term you would like to search for in the menu and a list of results will be displayed automatically

beneath the entry box. To access the page, click directly on the result.


3.1.3.2. Host quick search

Type in the host you are looking for and press Enter. A host search will be initiated.


3.1.3.3. Advanced search

By clicking on the magnifying glass you can carry out an advanced search. This contains five tabs in the header section.

      • default: Contains a wildcard search for hosts or services (including status)
      • by tags: Contains a wildcard search by host or service tags
      • by address: Contains a wildcard search by the IP address of a host
      • by macro: Contains a wildcard search by host or service macros
      • by UUID: Contains a search by objects using the UUID

3.1.4. Refreshing the monitoring configuration

Using this button in the header of openITCOCKPIT will take you to the "Refresh Monitoring Configuration" page. This is used to recreate

the configuration files for Nagios/Naemon. This is necessary, for example, if new hosts or services have been created or if you want to transfer

the configuration to satellite systems.

With every refresh you have the option to create a backup of the old configuration. These backups can be restored under "Administration / Backup / Restore".

If the option "SINGLE_INSTANCE_SYNC" has been activated in the system settings, you can select the satellites individually that you want to

transfer the configuration to.

As soon as the refresh has been completed successfully, a message will appear.


3.1.5. Modules

3.1.5.1. Event correlations

3.1.5.1.1. Event correlations

Under "Event Correlations / Event Correlations" you can access an overview of all event correlations. In the header there are two buttons.

Link to the input form for creating a new event correlation.

Offers the ability to filter the event correlations list by name and/or description.


New event correlation:

There is a button in the header of the input form used for creating a new event correlation.

Returns to the event correlation overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)The container in which the EVC is to be created
Hosttemplate(Warnung)The host templates to be use for the EVC
EVK Name(Warnung)The EVC name
EVK Description
Description of the EVC

Create / modify the event correlation:

Opens the form for creating a new virtual service


Field nameRequired FieldDescription
vService Name(Warnung)The virtual service name
Servicetemplate(Warnung)The service template to be used
Services(Warnung)

The services to be correlated (The first level allows you to choose physical services.

From the second level only virtual services are available)

Operator(Warnung)

The operator to be used for correlating the services.

  • AND
  • OR
  • EQUAL
  • MIN
Operator Modifier

If the MIN operator has been selected, this defines how many services must

have the status "OK"

Saves the entire event correlation


3.1.5.1.2. EVC host templates

Under "Event Correlations / EVC Host templates" you will find an overview of all EVC host templates. In the header there are two buttons.

Link to the input form for creating a new EVC host template.

Offers the ability to filter the EVC host template list by name.


New EVC host template:

The input form for creating a new host template has two tabs (Basic configuration, Expert settings) and one button in the header.

Returns the user to the EVC host template overview (without saving).


Basic configuration
Field nameRequired FieldDescription
Container(Warnung)The container that will store the host template
Templatename(Warnung)The name of the host template
Description
A description of the host template
Hostgroups
If hosts created from this template are to be in a host group
Notes
Comments regarding the host template
Host URL
The URL of the host template
Priority
The priority of the host template (currently has no impact)
Tags
The tags for the host template
Notification period(Warnung)The period when the host template can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable active checks
If enabled, the template is actively checked or the results are transferred passively
Contact(Warnung)Host template contacts
Contactgroups(Warnung)The host template contact groups
Expert settings
Checkcommand(Warnung)The command for checking the host created from this template and its arguments
Check period(Warnung)Period in which the host created from this template is checked
Max. number of check attempts(Warnung)Maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Active if flap detection is activated

By using this macros can be added to the EVC host template.


3.1.5.1.3. EVC service templates

Under "Event Correlations / EVC Service Templates" an overview of all EVC service templates is displayed. In the header there are two buttons.

Link to the input form for creating a new EVC service template.

Offers the ability to filter the EVC service template list by name.


New EVC service template:

There are two tabs (Basic configuration, Expert settings) and one button in the header of the input form for creating a new EVC service template.

Returns to the EVC service template overview (without saving).


Basic configuration
Field nameRequired FieldDescription
Container(Warnung)The container in which the template is located
Template name(Warnung)The name of the service template
Service name(Warnung)The name of the service generated from the template
Description
A description of the service template
Service group
If you want services created from this template to be in a service group
Notes
Comments regarding the service template
Priority
The priority of the service template (currently has no impact)
Tags
The tags for the service template
Notification period(Warnung)The period when the host can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable graph
If performance data for this service is to be stored
Enable active checks
If enabled, the service is actively checked or the results are transferred passively
Contact
Contacts for the service created from this template
Contact groups
Contact groups for the service created from this template
Expert settings
Check command(Warnung)The command for checking the service and its arguments
Check period(Warnung)Period in which the service is checked
Max. number of check attempts(Warnung)Maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Active if flap detection is activated
Status volatile
If you want the option is_volatile to be activated
Freshness checks enabled
If you want freshness checks be activated
Freshness threshold
Duration of freshness in seconds
Eventhandler
The event handler for the service created from this template

By using this you can add macros to the EVC service template.


3.1.5.1.4. Settings

Under "Event Correlations / Settings" you can find the settings for the EVC module.


Field nameRequired FieldDescription
EVC_CONSIDER_STATETYPE

Whether both the soft and hard states should be taken into account or

only the hard state

Off = Soft and hard states

On = Hard state only

EVC_CONSIDER_STATE_COUNT

Should the number of statuses be taken into consideration?

Example: A vService is correlated from four services.

One service has the status Warning, two are Critical and one is

Unknown.

Off = vService => Unknown

On = vService => Critical

Monitoring System(Warnung)Which monitoring system is being used



3.1.5.2. Auto reports

3.1.5.2.1. Auto reports

Under "Reporting / Auto report" you will find an overview of all auto reports. In the header there are two buttons.

Link to input form for creating a new auto report.

Offers the ability to filter the auto report list by name, description, report interval, report send interval, minimum availability

and maximum number of outages.


New auto report:

The input form for creating a new auto report is divided into three steps.

Switches to the next step


Field nameRequired FieldDescription
Tenant(Warnung)

Which client should be assigned to the report

Report name(Warnung)

The name of the report

Report description
The description of the report
Set start
If a start date is to be set
Start date
The start date when the option "Set start" has been activated
Time period(Warnung)The period of the report
Evaluation period(Warnung)The evaluation period (year, quarter, month, week, day)
Send interval(Warnung)Send interval (never, year, quarter, month, week, day)
Min allowed availability(Warnung)Minimum availability. Can be entered in percent or minutes
Max. number of outages(Warnung)Maximum number of outages
Graph
Graph in percent or hours
Reflection state
Whether both the soft and hard states should be taken into account or only the hard state
Consider downtimes
Downtimes should be taken into account
Consider holidays
Holidays should be taken into account
Calendar
The calendar to use for holidays
Users(Warnung)The users to which the report should be sent

In this step, the hosts and services are now selected for evaluation.


Field nameRequired FieldDescription
in %

If the host/service is to be evaluated as a percentage

in h

If the host/service is to be evaluated in terms of time

Alias
Hosts only: If the host alias is to be displayed
Graph
Service only: If the graph of the service is to be displayed
Max. outage duration
Maximum duration of outage in minutes
All failures
If all failures are to be displayed

On the last page all settings are summarised again for review.


3.1.5.2.2. Settings

Under "Reporting / Settings" you can access the configuration for all auto reports.


Field nameDescription
AUTOREPORTS_TENANT_AS_SUBJECT

If you want to use the client name as the title instead of the

report name for automatically generated email reports

AUTOREPORTS_GENERATE_ONLY_FOR_EXISTING

If you only want to create reports for hosts and services that

already existed before the start date.

AUTOREPORTS_SEND_REPORT_AS_PDFIf the report is to be sent as a PDF
AUTOREPORTS_SEND_REPORT_AS_CSVIf the report is to be sent as a CSV file
AUTOREPORTS_GENERATE_QUARTERLY_REPORTSIf you want to issue quarterly reports
AUTOREPORTS_SHOW_OUTAGES_IN_DOWNTIMEIf outages are to be displayed in downtimes
AUTOREPORTS_SHOW_DOWNTIMESIf all downtimes are to be displayed
AUTOREPORTS_USE_YEAR_IN_FILENAMEIf you want to append the year to the file name
AUTOREPORTS_SHOW_SLA_GRAPHIf you want to display the SLA graph in the report
AUTOREPORTS_SHOW_SUMMARY_STATISTICSIf you want to display a summary on the first page of the report
AUTOREPORTS_EXTENDED_HOST_DESCIf you want to display the host name with the current availability
AUTOREPORTS_EXTENDED_SERV_DESCIf you want to display the service description with the current availability
AUTOREPORTS_ERROR_NOTIFICATIONEmail addresses to be notified if errors occur during the quarterly report generation. Multiple email addresses can be specified separately with a semicolon
AUTOREPORTS_STORE_PATHPath to the report files


3.1.5.3. Distributed Monitoring

3.1.5.3.1. Satellites

Under "Distributed Monitoring / Satellites" you will find an overview of all satellites. Here you will find a button in the header.

Link to input form for creating a new satellite.


New satellite:

There is a button in the header of the input form used for creating a new satellite.

Returns to the satellite overview (without saving).


Field nameRequired FieldDescription
Instance name(Warnung)

The satellite name

IP address(Warnung)

The IP address of the satellite

Timezone
The time zone for the satellite
Container(Warnung)The container for the satellite


3.1.5.4. Discovery (Check_MK)

3.1.5.4.1. MK checks

Under "Discovery / MK Checks" you can access an overview of all MK Checks. Here you will find a button in the header.

Link to input form for creating a new MK Check.


New MK Check:

There is a button in the header of the input form used for creating a new MK Check.

Returns to the MK Check overview (without saving).


Field nameRequired FieldDescription
Check name(Warnung)

The check name

Service template(Warnung)

The service template used for the check




3.1.5.4.2. MK service templates

Under "Discovery / MK Service Templates" you can access an overview of all MK service templates. Here you will find a button in the header.

Link to the input form for creating a new MK service template.


New Check_MK service template:

The header of the input form for creating a new Check_MK service template contains two tabs (Basic configuration, Expert settings) and a button.

Returns to the Check_MK service template overview (without saving).


Basic configuration
Field nameRequired FieldDescription
Container(Warnung)The container in which the template is located
Template name(Warnung)The name of the service template
Service name(Warnung)The name of the service generated from the template
Description
A description of the service template
Service group
If you want services that are created from this template to be in a service group
Notes
Comments regarding the service template
Priority
The priority of the service template (currently has no impact)
Tags
The tags for the service template
Notification period(Warnung)The period when the host can trigger notifications
Notification interval(Warnung)The period between notifications
Notifcation options
Sets which statuses trigger a notification
Enable graph
If performance data for this service is to be stored
Enable active checks
If enabled, the service is actively checked or the results are transferred passively
Contact
Contacts for the service created from this template
Contact groups
Contact groups for the service created from this template
Expert settings
Check command(Warnung)The command for checking the service and its arguments
Check period(Warnung)The period in which the service is checked
Max. number of check attempts(Warnung)Maximum number of check attempts
Checkinterval(Warnung)The period between checks
Retryinterval(Warnung)The period between checks in the event of an error
Flap detection
Active if flap detection is activated
Status volatile
If you want the option is_volatile to be activated
Freshness checks enabled
If you want freshness checks be activated
Freshness threshold
Duration of freshness in seconds
Eventhandler
The event handler for the service created from this template

By using this you can add macros to the Check_MK service template.


3.1.5.4.3. MK agents

Under "Discovery / MK Agents" you can access an overview of all additional Check_MK agents. Here you will find a button in the header.

Link to the input form for creating a new Check_MK agent.


New Check_MK agent:

There is a button in the header of the input form used for creating a new Check_MK agent.

Returns to the Check_MK agent overview (without saving).


Field nameRequired FieldDescription
Container(Warnung)

The container for the agent

Name(Warnung)

The name of the agent

Description
The agent description
Command line(Warnung)The command line for the agent / path to the agent


3.1.5.5. i-doit

3.1.5.5.1. i-doit systems

Under "i-doit / i-doit systems" you can access an overview of all i-doit systems. Here you will find a button in the header.

Link to the input form for creating a new i-doit system.


New i-doit system:

The input form for creating a new i-doit system is divided into four steps.

Switches to the next step.


Step 1: API configuration
Field nameRequired FieldDescription
Name(Warnung)

The name of the i-doit system

URL(Warnung)

The URL to the API interface for the i-doit system

API Key(Warnung)The API key for the i-doit system
Automatically synchronise
If objects are to be synchronised automatically
Step 2: Test connection
Step 3: Select object types
In this step, you can now select the object types to be imported. For each type chosen, the container and the host template to be used must also be selected.
Step 4: Select config items
In this step, you can now select the objects to be imported. The container and host template for each object chosen can be selected individually.




Under "i-doit / Software-Link list" you can access an overview of all software link lists. Here you will find a button in the header.

Link to the input form for creating a new software link list.


New software link list:

Returns to the software link list overview (without saving).


Field nameRequired FieldDescription
i-doit System(Warnung)

The i-doit system to be used

RegEx(Warnung)

Regular expression for filtering objects

Servicetemplategroup(Warnung)The service template group to be rolled out to the objects




3.1.5.5.3. Synchronization

Under "i-doit / Synchronisation" you can synchronise the objects imported from i-doit.

Starts the synchronisation process


3.1.5.5.4. Host comparison

Under "i-doit / Host comparison" you will find an overview of all hosts that are in openITCOCKPIT, but are not in i-doit.


3.2. API

3.2.1. Login

URL: https://123.123.123.123/login/login.json

Methode: POST

Response: JSON


Form fieldValue
data[LoginUser][auth_method]session | ldap
Session
data[LoginUser][email]Valid email for a local user
data[LoginUser][password]The user password
LDAP
data[LoginUser][samaccountname]LDAP Username
data[LoginUser][password]The user password

Response on successful login
{
  "message": "Login successful"
}


3.2.2. Logging out

URL: https://123.123.123.123/login/logout.json

Methode: POST

Response: HTML


3.2.3. Creating hosts

URL: https://123.123.123.123/hosts/add.json

Methode: POST

Response: JSON


HostRequired for addingRequired for editingDescriptionInheritedTypeExample

id
(Warnung)The host ID
integer123

name(Warnung)(Warnung)The name of the host
string"default host"

address(Warnung)(Warnung)The IP address of the host
string"123.123.123.123"

satellite_id

ID of the satellite if this host is to be monitored by a satellite
integer123

own_contacts

null = contacts from template |

1 = contacts deviating from template


null | integernull or 1

own_contactgroups

null = contact groups from template |

1 = contact groups that differ from the template


null | integernull or 1

own_customvariables

null = no custom variables |

1 = use custom variables


null | integernull or 1

container_id(Warnung)(Warnung)ID of the container in which the host is created (1 = /root)
integer123

shared_container

IDs of the containers in which the host is to be shared
array[ 1, 2, 3, ....]

hosttemplate_id(Warnung)(Warnung)ID of the host template from which the host inherits its settings
integer123

description

A description of the host
(Haken)
string"host description"

Hostgroup(Warnung)(Warnung)IDs of the host groups in which the host is to be located(Haken)array[ 1, 2, 3, ....]

Parenthost
(Warnung)The ID of the parent host
null | integernull oder 123

notes

Notes regarding the host(Haken)string"Lorem ipsum dolor sit amet"

host_url

The URL of the host(Haken)string"http://hosturl.com"

priority

Priority of the host (not yet implemented)(Haken)null | integernull or 1

tags

Host specific label(Haken)string"Lorem ipsum dolor sit amet"

notify_period_id

ID of the notification_period(Haken)integer123

notification_interval(Warnung)
The notification interval (in seconds)(Haken)integer123

notify_on_recovery

Notification upon recovery(Haken)null | integernull or 1

notify_on_down

Notification when down(Haken)null | integernull or 1

notify_on_unreachable

Notification when unreachable(Haken)null | integernull or 1

notify_on_flapping

Notification when flapping(Haken)null | integernull or 1

notify_on_downtime

Notification during downtime(Haken)null | integernull or 1

active_checks_enabled

The host is actively checked(Haken)null | integernull or 1

Contact

The contact IDs(Haken)array[ 1, 2, 3, ....]

Contactgroup

IDs for the contact groups(Haken)array[ 1, 2, 3, ....]

command_id(Warnung)
The command ID(Haken)null | integernull or 123

check_period_id

The check_period ID(Haken)null | integernull or 123

max_check_attempts

The maximum number of checks to be carried out
null | integernull or count

check_interval(Warnung)
Check interval (in seconds)(Haken)null | integernull or 123

retry_interval(Warnung)
Retry interval (in seconds)(Haken)null | integernull or 123

flap_detection_enabled

If flap_detection is to be activated(Haken)null | integernull or 1

flap_detection_on_up

flap_detection when status is "up""(Haken)null | integernull or 1

flap_detection_on_down

flap_detection when status is "down"(Haken)null | integernull or 1

flap_detection_on_unreachable

flap_detection when status is "unreachable"(Haken)null | integernull or 1

JSON to create a host via REST API
{
    "Host" : {
        "name":"api host",
        "address":"127.0.0.1",
        "satellite_id":0,
        "own_contacts":null,
        "own_contactgroups":null,
        "own_customvariables":null,
        "container_id":1,
        "shared_container":[],
        "hosttemplate_id":1,
        "description":"",
        "Hostgroup":[],
        "Parenthost":null,
        "notes":"",
        "host_url":"",
        "priority":null,
        "tags":"",
        "notify_period_id":1,
        "notification_interval":null,
        "notify_on_recovery":null,
        "notify_on_down":null,
        "notify_on_unreachable":null,
        "notify_on_flapping":null,
        "notify_on_downtime":null,
        "active_checks_enabled":null,
        "Contact":[],
        "Contactgroup":[],
        "command_id":$COMMAND_ID,
        "check_period_id":null,
        "max_check_attempts":null,
        "check_interval":null,
        "retry_interval":null,
        "flap_detection_enabled":null,
        "flap_detection_on_up":null,
        "flap_detection_on_down":null,
        "flap_detection_on_unreachable":null
    },
    "Hostcommandargumentvalue":[],
    "Customvariable":{
		"1":{
			"name":"NAME1",
			"value":"$VALUE",
			"objecttype_id":256
		}
	}
}
Minimal JSON
{
    "Host" : {
        "name":"api host",
        "address":"127.0.0.1",
        "container_id":1,
        "hosttemplate_id":1,
        "notification_interval":null,
        "check_interval":null,
        "Hostgroup":[],
        "retry_interval":null
    }
}
Response on successful API call
{
  "id": "123"
}
Example error code
{
  "error": {
    "container_id": [
      "Invalid container."
    ]
  }
}


3.2.4. Editing hosts

URL: https://123.123.123.123/hosts/edit/$HOST_ID.json

Method: POST

Response: HTML


JSON for editing a host via REST API
{
    "Host" : {
        "name":"api host modified",
        "address":"127.0.0.1",
        "id" : $HOST_ID,
        "satellite_id":0,
        "own_contacts":null,
        "own_contactgroups":null,
        "own_customvariables":null,
        "container_id":1,
        "shared_container":[],
        "hosttemplate_id":1,
        "description":"",
        "Hostgroup":[],
        "Parenthost":null,
        "notes":"",
        "host_url":"",
        "priority":null,
        "tags":"",
        "notify_period_id":1,
        "notification_interval":null,
        "notify_on_recovery":null,
        "notify_on_down":null,
        "notify_on_unreachable":null,
        "notify_on_flapping":null,
        "notify_on_downtime":null,
        "active_checks_enabled":null,
        "Contact":["1"],
        "Contactgroup":[],
        "command_id":null,
        "check_period_id":null,
        "max_check_attempts":null,
        "check_interval":null,
        "retry_interval":null,
        "flap_detection_enabled":null,
        "flap_detection_on_up":null,
        "flap_detection_on_down":null,
        "flap_detection_on_unreachable":null
    },
    "Hostcommandargumentvalue":[],
    "Customvariable":[]
}
Minimal JSON
{
    "Host" : {
        "name":"api host modified",
        "address":"127.0.0.1",
        "id" : $HOST_ID,
        "container_id":1,
        "hosttemplate_id":1,
        "Hostgroup":[],
        "Parenthost" : null
    }
}




3.2.5. Deleting hosts

URL: https://123.123.123.123/hosts/delete/$HOST_ID.json

Methode: POST

Response: HTML


Error code on wrong host id
{
  "name": "Invalid host",
  "message": "Invalid host",
  "url": "/hosts/delete/$HOST_ID.json"
}


3.2.6. Creating host templates

URL: https://123.123.123.123/hosttemplates/add.json

Methode: POST

Response: HTML


JSON for creating a host template via REST API
{
    "Hosttemplate":{
        "container_id":1,
        "name":"api hosttemplate",
        "description":"api hosttemplate description",
        "Hostgroup":[],
        "notes":"api hosttemplate notes",
        "host_url":"http://api-hosttemplate.url",
        "priority":1,
        "tags":"api hosttemplate tags",
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_down":1,
        "notify_on_unreachable":1,
        "notify_on_flapping":0,
        "notify_on_downtime":0,
        "active_checks_enabled":0,
        "Contact":[1],
        "Contactgroup":[],
        "command_id":4,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":600,
        "retry_interval":60,
        "flap_detection_enabled":0,
        "flap_detection_on_up":0,
        "flap_detection_on_down":0,
        "flap_detection_on_unreachable":0
    },
    "Hosttemplatecommandargumentvalue":{
	        "3":{
	            "value":"123",
	            "commandargument_id":3
	        },
	        "4":{
	            "value":"456",
	            "commandargument_id":4
	        }
	    },
    "Customvariable":{
        "1":{
            "name":"NAME1",
            "value":"value1",
            "objecttype_id":512
        }
    }
}
Minimal JSON
{
    "Hosttemplate":{
        "container_id":1,
        "name":"api hosttemplate",
        "priority":1,
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_down":1,
        "notify_on_unreachable":1,
        "notify_on_flapping":0,
        "notify_on_downtime":0,
        "active_checks_enabled":0,
        "Contact":[1],
        "Contactgroup":[],
        "command_id":4,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":600,
        "retry_interval":60
    }
}
Response on successful API call
{
  "id": "$HOSTTEMPLATE_ID"
}

3.2.7. Editing host templates

URL: https://123.123.123.123/hosttemplates/edit/$HOSTTEMPLATE_ID.json

Methode: POST

Response: HTML


JSON for editing a host template via REST API
{
    "Hosttemplate":{
        "container_id":1,
        "id" : $HOSTTEMPLATE_ID,
        "name":"api hosttemplate modified",
        "description":"api hosttemplate description modified",
        "Hostgroup":[1],
        "notes":"api hosttemplate notes modified",
        "host_url":"http://api-hosttemplate.url/modified",
        "priority":1,
        "tags":"api hosttemplate tags modified",
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_down":1,
        "notify_on_unreachable":1,
        "notify_on_flapping":1,
        "notify_on_downtime":1,
        "active_checks_enabled":1,
        "Contact":[2,3],
        "Contactgroup":[],
        "command_id":4,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":600,
        "retry_interval":60,
        "flap_detection_enabled":0,
        "flap_detection_on_up":0,
        "flap_detection_on_down":0,
        "flap_detection_on_unreachable":0
    },
    "Hosttemplatecommandargumentvalue":{
	        "3":{
	            "value":"123modified",
	            "commandargument_id":3
	        },
	        "4":{
	            "value":"456modified",
	            "commandargument_id":4
	        }
	    },
    "Customvariable":{
        "1":{
            "name":"NAME1 modified",
            "value":"value1 modified",
            "objecttype_id":512
        }
    }
}

3.2.8. Deleting host templates

URL: https://123.123.123.123/hosts/delete/$HOSTTEMPLATE_ID.json

Methode: POST

Response: HTML


Error code on wrong host template id
{
  "name": "Invalid hosttemplate",
  "message": "Invalid hosttemplate",
  "url": "/hosts/delete/$HOSTTEMPLATE_ID.json"
}

3.2.9. Creating host groups

URL: https://123.123.123.123/hostgroups/add.json

Methode: POST

Response: JSON


JSON for creating a host group via REST API
{  
    "Container":{  
        "parent_id":"$PARENTCONTAINER_ID",
        "name":"API Hostgroup name"
    },
    "Hostgroup":{  
        "description":"API Hostgroup description",
        "hostgroup_url":"http://API-Hostgroup.url",
        "Host":[$HOST_ID,$HOST_ID,....],
        "Hosttemplate":[$HOSTTEMPLATE_ID,$HOSTTEMPLATE_ID,...]
    }
}
Minimal JSON
{  
    "Container":{  
        "parent_id":"1",
        "name":"API Hostgroup name"
    }
}
Response on successful API call
{
  "id": "$HOSTGROUP_ID"
}

3.2.10. Editing host groups

URL: https://123.123.123.123/hostgroups/edit/$HOSTGROUP_ID.json

Methode: POST

Response: HTML


JSON for editing host groups via REST API
{  
    "Container":{  
        "id":$CONTAINER_ID,
        "parent_id":$PARENT_CONTAINER_ID,
        "name":"API Hostgroup name modified"
    },
    "Hostgroup":{  
        "id":$HOSTGROUP_ID,
        "container_id":$CONTAINER_ID,
        "description":"API Hostgroup description modified",
        "hostgroup_url":"http://API-Hostgroup.url/modified",
        "Host":[$HOST_ID,$HOST_ID,....],
        "Hosttemplate":[$HOSTTEMPLATE_ID,$HOSTTEMPLATE_ID,...]
    }
}

3.2.11. Deleting host groups

URL: https://123.123.123.123/hostgroups/delete/$HOSTGROUP_ID.json

Methode: POST

Response: HTML


3.2.12. Creating services

URL: https://123.123.123.123/services/add.json

Methode: POST

Response: JSON


ServiceRequired for addingRequired for editingDescriptionInheritedTypeExample

name(Warnung)(Warnung)The name of the service(Haken)string"Ping created with API"

notes

Notes for the service(Haken)string"Notes for this service"

service_url

The URL of the service
string"URL for this service"

own_contacts

null = contacts from template |

1 = contacts deviating from template


null | integernull or 1

own_contactgroups

null = contact groups from template |

1 = contact groups that differ from the template


null | integernull or 1

own_customvariables

null = no custom variables |

1 = use custom variables


null | integernull or 1

id
(Warnung)ID of the service
integer123

host_id(Warnung)(Warnung)The host ID
integer123

servicetemplate_id(Warnung)(Warnung)ID of the service template
integer123

description

Description of the service(Haken)string"Beschreibung für diesen Service"

Servicegroup
(Warnung)IDs of the service groups that contain the service
array

[ 1,2,3 ]


priority

Priority of the service (not yet implemented)(Haken)null | integernull or 1

notify_period_id

ID of the notification_period(Haken)integer123

notification_interval(Warnung)
The notification interval (in seconds)(Haken)integer123

notify_on_recovery

Notification upon recovery(Haken)null | integernull or 1

notify_on_warning

Notification upon warning(Haken)null | integernull or 1

notify_on_unknown

Notification upon unknown(Haken)null | integernull or 1

notify_on_critical

Notification upon critical(Haken)null | integernull or 1

notify_on_flapping

Notification when flapping(Haken)null | integernull or 1

notify_on_downtime

Notification during downtime(Haken)null | integernull or 1

process_performance_data

If performance data for this service is to be stored(Haken)null | integernull or 1

active_checks_enabled

This service will be actively checked(Haken)null | integernull or 1

command_id

The command ID(Haken)integer123

check_period_id

ID for the check period(Haken)integer123

max_check_attempts

Number of check attempts(Haken)integer123

check_interval(Warnung)
Check interval (in seconds)(Haken)integer123

retry_interval(Warnung)
Retry interval (in seconds)(Haken)integer123

tags

The tags for the service(Haken)string"Tags für diesen Service"

flap_detection_enabled

If flap_detection is to be activated(Haken)null | integernull or 1

flap_detection_on_ok

flap_detection when status is "ok"(Haken)null | integernull or 1

flap_detection_on_warning

flap_detection when status is "warning"(Haken)null | integernull or 1

flap_detection_on_unknown

flap_detection when status is "unknown"(Haken)null | integernull or 1

flap_detection_on_critical

flap_detection when status is "critical"(Haken)null | integernull or 1

is_volatile

If the service is to be "volatile"(Haken)null | integernull or 1

freshness_checks_enabled

If the freshness_check is set as active(Haken)null | integernull or 1

freshness_threshold

Freshness threshold value in seconds
integer123

eventhandler_command_id

Event handler ID(Haken)null | integernull or 1

Contact

The contact IDs(Haken)array[ 1,2,3 ]

Contactgroup

IDs for the contact groups(Haken)array[ 1,2,3 ]

Minimal JSON
{
    "Service" : {
        "name" : "api service",
        "servicetemplate_id":1,
        "notification_interval" : 7200,
        "check_interval" : 300,
        "retry_interval" : 60,
        "host_id": $HOST_ID
    }
}
Response on successful API call
{
  "id": "$SERVICE_ID"
}
Optional declaration of custom service command argument values
{
    "Service" : {
        "name" : "api service",
        "servicetemplate_id":1,
        "notification_interval" : 7200,
        "check_interval" : 300,
        "retry_interval" : 60,
        "host_id": $HOST_ID
    },
    "Servicecommandargumentvalue": [
        {
            "commandargument_id": "1",
            "value": "100.0,20%"
        },
        {
            "commandargument_id": "2",
            "value": "100.0,20%"
            
        }
    ]
}


3.2.13. Editing services

URL: https:/123.123.123.123/services/edit/$SERVICE_ID.json

Methode: POST

Response: HTML


JSON for editing services via REST API
{
    "Service" :{
        "name":"api service",
        "notes":"",
        "service_url":"",
        "own_contacts":null,
        "own_contactgroups":null,
        "own_customvariables":null,
        "id":"$SERVICE_ID",
        "host_id":"$HOST_ID",
        "servicetemplate_id":1,
        "description":null,
        "Servicegroup":[],
        "priority":null,
        "notify_period_id":null,
        "notification_interval":null,
        "notify_on_recovery":null,
        "notify_on_warning":null,
        "notify_on_unknown":null,
        "notify_on_critical":null,
        "notify_on_flapping":null,
        "notify_on_downtime":null,
        "process_performance_data":null,
        "active_checks_enabled":null,
        "command_id":null,
        "check_period_id":null,
        "max_check_attempts":null,
        "check_interval":null,
        "retry_interval":null,
        "tags":null,
        "flap_detection_enabled":null,
        "flap_detection_on_ok":null,
        "flap_detection_on_warning":null,
        "flap_detection_on_unknown":null,
        "flap_detection_on_critical":null,
        "is_volatile":null,
        "freshness_checks_enabled":null,
        "freshness_threshold":null,
        "eventhandler_command_id":null,
        "Contact":[],
        "Contactgroup":[]
    },
    "Servicegroup":{
        "Servicegroup":[]
    },
    "Servicecommandargumentvalue": [
        {
            "commandargument_id": "1",
            "value": "100.0,20%"
        },
        {
            "commandargument_id": "2",
            "value": "100.0,20%"
            
        }
    ],
    "Customvariable":{
		"1":{
			"name":"NAME1",
			"value":"$VALUE",
			"objecttype_id":2048
		}
	}
}
Minimal JSON
{
    "Service" :{
        "name":"api service",
        "id":"$SERVICE_ID",
        "host_id":"$HOST_ID",
        "Servicegroup" : [],
        "servicetemplate_id":"1"
    },
    "Servicegroup":{
        "Servicegroup":[]
    }
}


3.2.14. Deleting services

URL: https://123.123.123.123/services/delete/$SERVICE_ID.json

Methode: POST

Response: HTML


Error code on wrong service id
{
  "name": "Invalid service",
  "message": "Invalid service",
  "url": "/services/delete/$SERVICE_ID.json"
}


3.2.15. Creating service templates

URL: https://123.123.123.123/servicetemplates/add.json

Methode: POST

Response: JSON


JSON for creating a service template via REST API
{
    "Servicetemplate":{
        "container_id":1,
        "template_name":"api servicetemplate",
        "name":"api service through api servicetemplate",
        "description":"api servicetemplate description",
		"Servicegroup":[],
        "notes":"api servicetemplate notes",
        "priority":1,
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_warning":1,
        "notify_on_unknown":1,
        "notify_on_critical":1,
        "notify_on_flapping":0,
        "notify_on_downtime":0,
        "process_performance_data":1,
        "active_checks_enabled":1,
        "Contact":[1],
        "Contactgroup":[],
        "command_id":3,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":300,
        "retry_interval":60,
        "tags":"api servicetemplate tags",
        "flap_detection_enabled":1,
        "flap_detection_on_ok":0,
        "flap_detection_on_warning":1,
        "flap_detection_on_unknown":0,
        "flap_detection_on_critical":1,
        "is_volatile":0,
        "freshness_checks_enabled":0,
        "freshness_threshold":60,
        "eventhandler_command_id":0
    },    
    "Servicetemplatecommandargumentvalue":{
        "1":{
            "value":"",
			"commandargument_id":1
        },
        "2":{
            "value":"",
			"commandargument_id":2
        }
    }
	"Customvariable":{
    	"1":{
    		"name" : "Custom1",
    		"value" : "$VALUE",
    		"objecttype_id":4096
    	}
    }
}
Minimal JSON
{
    "Servicetemplate":{
        "container_id":1,
        "template_name":"api servicetemplate minimal",
        "name":"api service through api servicetemplate",
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_warning":1,
        "notify_on_unknown":1,
        "notify_on_critical":1,
        "notify_on_flapping":0,
        "notify_on_downtime":0,
        "command_id":3,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":300,
        "retry_interval":60
    }
}
Response bei erfolgreichem Aufruf
{
  "id": "$SERVICETEMPLATE_ID"
}

3.2.16. Editing service templates

URL: https://123.123.123.123/servicetemplates/edit/$SERVICETEMPLATE_ID.json

Methode: POST

Response: JSON


JSON for editing a service template via REST API
{
    "Servicetemplate":{
        "container_id":1,
		"id":"1",
        "template_name":"api servicetemplate",
        "name":"api service through api servicetemplate",
        "description":"api servicetemplate description",
		"Servicegroup":[],
        "notes":"api servicetemplate notes",
        "priority":1,
        "notify_period_id":1,
        "notification_interval":7200,
        "notify_on_recovery":1,
        "notify_on_warning":1,
        "notify_on_unknown":1,
        "notify_on_critical":1,
        "notify_on_flapping":0,
        "notify_on_downtime":0,
        "process_performance_data":1,
        "active_checks_enabled":1,
        "Contact":[1],
        "Contactgroup":[],
        "command_id":3,
        "check_period_id":1,
        "max_check_attempts":3,
        "check_interval":300,
        "retry_interval":60,
        "tags":"api servicetemplate tags",
        "flap_detection_enabled":1,
        "flap_detection_on_ok":0,
        "flap_detection_on_warning":1,
        "flap_detection_on_unknown":0,
        "flap_detection_on_critical":1,
        "is_volatile":0,
        "freshness_checks_enabled":0,
        "freshness_threshold":60,
        "eventhandler_command_id":0
    },    
    "Servicetemplatecommandargumentvalue":{
        "1":{
            "value":"",
			"commandargument_id":1
        },
        "2":{
            "value":"",
			"commandargument_id":2
        }
    }
	"Customvariable":{
    	"1":{
    		"name" : "Custom1",
    		"value" : "$VALUE",
    		"objecttype_id":4096
    	}
    }
}
Response on successful API call
{
  "id": "$SERVICETEMPLATE_ID"
}


3.2.17. Deleting service templates

URL: https://123.123.123.123/servicetemplates/delete/$SERVICETEMPLATE_ID.json

Methode: POST

Response: JSON


Error code on wrong service template id
{
  "name": "Invalid servicetemplate",
  "message": "Invalid servicetemplate",
  "url": "/servicetemplates/delete/$SERVICETEMPLATE_ID.json"
}


3.2.18. Creating service template groups

URL: https://123.123.123.123/servicetemplategroups/add.json

Methode: POST

Response: JSON


JSON for creating a service template group via REST API
{  
    "Container":{  
        "parent_id":"$CONTAINER_ID",
        "name":"API Servicetemplategroup"
    },
    "Servicetemplategroup":{
    	"Servicetemplate":[$SERVICETEMPLATE_ID,$SERVICETEMPLATE_ID,...],
        "description":"API Servicetemplategroup Description"
    }
}
Response on successful API call
{
  "id": "$SERVICETEMPLATEGROUP_ID"
}

3.2.19. Editing service template groups

URL: https://123.123.123.123/servicetemplategroups/edit/$SERVICETEMPLATEGROUP_ID.json

Methode: POST

Response: HTML


JSON for editing service template groups via REST API
{  
    "Container":{  
        "id":$CONTAINER_ID,
        "parent_id":"$PARENT_ID",
        "name":"API Servicetemplategroup modified"
    },
    "Servicetemplategroup":{
    	"id":$SERVICETEMPLATEGROUP_ID,
    	"container_id":$CONTAINER_ID,
    	"Servicetemplate":[$SERVICETEMPLATE_ID,$SERVICETEMPLATE_ID,...],
        "description":"API Servicetemplategroup Description modified"
    }
}

3.2.20. Deleting service template groups

URL: https://123.123.123.123/servicetemplategroups/delete/$SERVICETEMPLATEGROUP_ID.json

Methode: POST

Response: HTML


3.2.21. Creating service groups

URL: https://123.123.123.123/servicegroups/add.json

Methode: POST

Response: JSON


JSON for creating service groups via REST API
{  
    "Container":{  
        "parent_id":"$PARENT_CONTAINER_ID",
        "name":"API Servicegroup"
    },
    "Servicegroup":{  
        "description":"API Servicegroup Description",
        "servicegroup_url":"http://API-Servicegroup.url",
        "Service":[$SERVICE_ID,$SERVICE_ID,...],
        "Servicetemplate":[$SERVICETEMPLATE_ID,$SERVICETEMPLATE_ID,...]
    }
}
Response on successful API call
{
  "id": "$SERVICEGROUP_ID"
}

3.2.22. Editing service groups

URL: https://123.123.123.123/servicegroups/edit/$SERVICEGROUP_ID.json

Methode: POST

Response: JSON


JSON for editing service groups via REST API
{  
    "Container":{  
        "id":$CONTAINER_ID,
        "parent_id":$PARENT_CONTAINER_ID,
        "name":"API Servicegroup modified"
    },
    "Servicegroup":{
    	"id":$SERVICEGROUP_ID,
    	"container_id":$CONTAINER_ID,
    	"Service":[$SERVICE_ID,$SERVICE_ID,...],
        "Servicetemplate":[$SERVICETEMPLATE_ID,$SERVICETEMPLATE_ID,...],
        "servicegroup_url":"http://API-Servicegroup.url/modified",
        "description":"API Servicegroup Description modified"
    }
}
Response on successful API call
{
  "id": "$SERVICEGROUP_ID"
}

3.2.23. Deleting service groups

URL: https://123.123.123.123/servicegroups/delete/$SERVICEGROUP_ID.json

Methode: POST

Response: HTML


3.2.24. Creating commands

URL: https://123.123.123.123/commands/add.json

Methode: POST

Response: JSON


Command_type

1Service check Command

2Host check Command

3Notification Command

4Eventhandler Command

JSON for creating commands via REST API
{
    "Command" : {
    	"name" : "API Example Command with arguments",
        "command_line" : "$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5",
        "command_type" : 1
    },
    "Commandargument" : {
    	"0":{
        	"name" : "$ARG1$",
            "human_name" : "Warning"
        },
    	"1":{
        	"name" : "$ARG2$",
            "human_name" : "Critical"
        }
	}
}
Response on successful API call
{
  "id": "$COMMAND_ID",
  "command_arguments": [
    {
      "Commandargument": {
        "name": "$ARG1$",
        "human_name": "Warning",
        "command_id": "$COMMAND_ID",
        "modified": "2017-03-30 09:29:26",
        "created": "2017-03-30 09:29:26",
        "id": "$COMMANDARGUMENT_ID"
      }
    },
    {
      "Commandargument": {
        "name": "$ARG2$",
        "human_name": "Critical",
        "command_id": "$COMMAND_ID",
        "modified": "2017-03-30 09:29:26",
        "created": "2017-03-30 09:29:26",
        "id": "$COMMANDARGUMENT_ID"
      }
    }
  ]
}


3.2.25. Editing commands

URL: https://123.123.123.123/commands/edit/$COMMAND_ID.json

Methode: POST

Response: JSON


JSON for editing commands via REST API
{
    "Command":{
        "id":"$COMMAND_ID",
        "command_type":"1",
        "name":"API Example Command with arguments",
        "command_line":"$USER1$\/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5",
        "description":"api description"
    },
    "Commandargument":[
        {
            "id":"$COMMANDARGUMENT_ID",
            "command_id":"$COMMAND_ID",
            "name":"$ARG1$",
            "human_name":"Warning"
        },
        {
            "id":"$COMMANDARGUMENT_ID",
            "command_id":"$COMMAND_ID",
            "name":"$ARG2$",
            "human_name":"Critical"
        }
    ]
}

3.2.26. Deleting commands

URL: https://123.123.123.123/commands/delete/$COMMAND_ID.json

Methode: POST

Response: JSON


Error code on wrong command id
{
  "name": "Invalid command",
  "message": "Invalid command",
  "url": "/commands/delete/$COMMAND_ID.json"
}

3.2.27. Creating nodes

URL: https://123.123.123.123/containers/add.json

Methode: POST

Response: JSON


JSON for creating nodes via REST API
{  
    "Container":{
        "parent_id":"$PARENT_CONTAINER_ID",
        "name":"API Node",
        "containertype_id":5
    }
}
Response on successful API call
{
  "id": "$NODE_ID"
}

3.2.28. Deleting nodes

URL: https://123.123.123.123/containers/delete/$NODE_ID.json

Methode: POST

Response: HTML


3.2.29. Export

URL: https://123.123.123.123/exports/launchExport/1.json

Methode: GET / POST

Response: JSON

The following header must be set for this call to be successful.


HeaderValue

X-Requested-With

XMLHttpRequest

Response bei erfolgreichem Aufruf
{
  "export": {
    "exportRunning": false,
    "exportStarted": true
  }
}

3.2.30. Creating users

URL: https://123.123.123.123/users/add.json

Methode: POST

Response: JSON


JSON for creating users via REST API
{
    "User":{
        "Container":[$CONTAINER_IDs],
        "usergroup_id":1,
        "status":1,
        "email":"admin@email.de",
        "firstname":"API Firstname",
        "lastname":"API Lastname",
        "company":"Company",
        "position":"Position",
        "phone":"phone",
        "linkedin_id":"linkedid",
        "new_password":"password123",
        "confirm_new_password":"password123",
        "showstatsinmenu":0
    },
    "ContainerUserMembership":{
    	"1":2,
    	"6":1
    }
}
Response on successful API call
{
  "id": "$USER_ID"
}


3.2.31. Editing users

URL: https://123.123.123.123/users/edit/$USER_ID.json

Methode: POST

Response: HTML


JSON for editing users via REST API
{
    "User":{
		"id":$USER_ID,
        "Container":[$CONTAINER_IDs],
        "usergroup_id":1,
        "status":1,
        "email":"admin@email.de",
        "firstname":"API Firstname",
        "lastname":"API Lastname",
        "company":"Company",
        "position":"Position",
        "phone":"phone",
        "linkedin_id":"linkedid",
        "new_password":"password123",
        "confirm_new_password":"password123",
        "showstatsinmenu":0
    },
    "ContainerUserMembership":{
    	"1":2,
    	"6":1
    }
}


3.2.32. Deleting users

URL: https://123.123.123.123/users/delete/$USER_ID.json

Methode: POST

Response: HTML


3.2.33. Check Mk

3.2.33.1. Health Scan

URL: https://123.123.123.123/mk_module/scans/ajaxHealthList/$HOST_ID.json

Methode: POST

Response: JSON


Response on successful API call
{
    "discoveryResult":{
        "result":{
            "fb8326e1edbd06b1bf6ea0332e089055":{
                "checktype":"kernel.util",
                "item":"None",
                "params":"{}",
                "description":"CPU utilization",
                "servicetemplate_id":"39"
            },
            "bbc503ab35300697c20c6287c3b1647d":{
                "checktype":"diskstat",
                "item":"SUMMARY",
                "params":"{}",
                "description":"Disk IO SUMMARY",
                "servicetemplate_id":"37"
            },
            "6a4d575da2db7edd6606f60b5cf752e7":{
                "checktype":"lnx_if",
                "item":"2",
                "params":"{'state': ['1'], 'errors': (0.01, 0.1), 'speed': 0}",
                "description":"Interface 2",
                "servicetemplate_id":"47"
            }
        },
        "missing_template":[]
    }
}


3.2.33.2. Process Scan

URL: https://123.123.123.123/mk_module/scans/ajaxProcessList/$HOST_ID.json

Methode: POST

Response: JSON


Response on successful API call
{
    "MkProcesses":{
        "ps":{
            "a45da96d0bf6575970f2d27af22be28a":{
                "checktype":"ps",
                "item":"System",
                "description":"proc_System",
                "servicetemplate_id":"29"
            },
            "b7622e2072ff39e8eb1a810275a35936":{
            "checktype":"ps",
                "item":"smss.exe",
                "description":"proc_smss.exe",
                "servicetemplate_id":"29"
            }
        },
        "services":{
            "d8f15ee2b5b427725462f6f1205d7f61":{
                    "checktype":"services",
                    "item":"AeLookupSvc",
                    "description":"service_AeLookupSvc",
                    "servicetemplate_id":"30"
                },
            "d399903282f1cd2ec81520d1e906c28c":{
                "checktype":"services",
                "item":"Alerter",
                "description":"service_Alerter",
                "servicetemplate_id":"30"
            },
            "1204a5c2ac4e8891367b2b2c03f72bb8":{
                "checktype":"services",
                "item":"ALG",
                "description":"service_ALG",
                "servicetemplate_id":"30"
            }
        }
    }
}


3.2.33.3. Check MK Service anlegen

(Warnung) To create a Check_MK service, two URL calls must take place. First, the service API must be addressed:

URL: https://123.123.123.123/services/add.json

Methode: POST

Response: JSON


JSON for creating services via REST API
{
    "Service" : {
        "name" : "$DESCRIPTION",
        "servicetemplate_id":$SERVICETEMPLATE_ID,
        "host_id":$HOST_ID,
        "own_contacts" : null,
        "own_contactgroups" : null,
        "service_type" : 8
    }
}



Response on successful API call
{
  "id": "$SERVICE_ID"
}

(Warnung) Now the MK module is called

URL: https://123.123.123.123/mk_module/mkservicedata/add.json

Methode: POST

Response: JSON


VariableValue

service_idID of the newly created service

host_idThe ID of the host

is_process1 if check type = service or ps. Otherwise 0

check_nameCheck type of the check to be created

check_itemItem of the check to be created

JSON for creating CheckMK services via REST API
{
	"service_id" : $SERVICE_ID,
    "host_id":$HOST_ID,
    "is_process" : 1,
    "check_name" : "$CHECKTYPE",
    "check_item" : "$ITEM"
}



Response on successful API call
{
  "id": "$CHECK_MK_SERVICE_ID"
}


3.2.34. Maps

3.2.34.1. Maps anlegen

URL: https://123.123.123.123/map_module/maps/add.json

Methode: POST

Response: JSON


VariableRequiredDescriptionTypeExample

container_id

(Warnung)IDs of the containers in which the map is to be createdarray[ 1, 2, 3, ....]

name(Warnung)Name of the mapstring"Api Map Name"

title(Warnung)Map titlestring"Api Map Titel"

refresh_interval
Interval at which the map should reload in view mode (in milliseconds)integer90000

JSON for creating maps via REST API
{
    "Map":{
        "container_id":[$CONTAINER_IDs],
        "name":"Api Map Name",
        "title":"Api Map Title",
        "refresh_interval":90000
    }
}



Response on successful API call
{
  "id": "$MAP_ID"
}

3.2.34.2. Editing maps

URL: https://123.123.123.123/map_module/maps/edit/$MAP_ID.json

Methode: POST

Response: JSON


JSON for editing maps via REST API
{
    "Map":{
        "id" : $MAP_ID,
        "container_id":[$CONTAINER_IDs],
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified",
        "refresh_interval":90000
    }
}



Response on successful API call
{
  "id": "$MAP_ID"
}


3.2.34.3. Deleting maps

URL: https://123.123.123.123/map_module/maps/delete/$MAP_ID.json

Methode: POST

Response: HTML


3.2.34.4. Inserting a map background

URL: https://123.123.123.123/map_module/mapeditors/edit/$MAP_ID.json

Methode: POST

Response: HTML


JSON for inserting a background in a map via REST API
{
    "Map":{
        "id":$MAP_ID,
        "container_id" : [$CONTAINER_IDs],
		"background":$UUID.jpg,
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified"
    }
}



Response on successful API call
{
  "id": "$MAP_ID"
}

3.2.34.5. Variables for all objects on a map


VariableDescriptionTypeExample

$MAP_IDID of the mapinteger123

container_id

IDs of the containers in which the map is to be createdarray

[1,2,3,....]



Name of the icon set to be usedstringarrows_128px | globe_64px | ...

$TYPEThe type of the included objectstringhost | hostgroup | service | servicegroup | map

$OBJECT_IDID of the included objectinteger$HOST_ID | $HOSTGROUP_ID | etc

xCoordinate on the x-axisinteger123

yCoordinate on the y-axisinteger123

Gadget specific



gadgetName of the gadgetstringTacho | TrafficLight | Cylinder | Text | RRDGraph

transparent_backgroundIf you want the gadget background to be transparentinteger0 | 1 (default 0)

Mapline specific



startXStarting point on the X-axisinteger123

endXEnd point on the X axisinteger123

startYStarting point on the Y axisinteger123

endYEnd point on the Y axisinteger123

Maptext specific



textFree textstringLorem ipsum dolor

The following BB code can be used within the text field

[color='#356E35'][/color] (Hexadecimal colour value)
[text='small'][/text] (Options: xx-small | x-small | small | large | x-large | xx-large)
[b][/b]
[i][/i]
[u][/u]
[left][/left]
[center][/center]
[right][/right]
[justify][/justify]
[url='2' tab]Map link[/url] (url= Mapid, tab = open link in new tab)
[url='https://www.google.de' tab]link descriptition[/url] (url = url, tab = open link in new tab)


3.2.34.6. Inserting map items

URL: https://123.123.123.123/map_module/mapeditors/edit/$MAP_ID.json

Methode: POST

Response: HTML


JSON for inserting map items via REST API
{
    "Map":{
        "id":$MAP_ID,
        "container_id" : [$CONTAINER_IDs],
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified"
    },
    "Mapitem":{
        "0":{
            "x":"10",
            "y":"456",
            "iconset":"$ICONSET",
            "type":"$TYPE",
            "object_id":"$OBJECT_ID",
            "map_id":$MAP_ID
        },
        "1":{
            "x":"230",
            "y":"170",
            "iconset":"$ICONSET",
            "type":"$TYPE",
            "object_id":"$OBJECT_ID",
            "map_id":$MAP_ID
        }
    }
}



Response on successful API call
{
  "id": "$MAP_ID"
}



3.2.34.7. Inserting map gadgets

URL: https://123.123.123.123/map_module/mapeditors/edit/$MAP_ID.json

Methode: POST

Response: HTML


JSON for inserting map gadgets via REST API
{
    "Map":{
        "id":$MAP_ID,
        "container_id" : [$CONTAINER_IDs],
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified"
    },
    "Mapgadget":{
    	"0":{
        	"x":"58",
        	"y":"133",
        	"elementUuid":"1bb3dd33-5a1b-4bb7-99ce-b64bd7b95ea7",
        	"gadget":"Tacho",
        	"type":"service",
        	"object_id":"43",
        	"transparent_background":"0",
        	"map_id":$MAP_ID
    	}
	}
}



Response on successful API call
{
  "id": "$MAP_ID"
}



3.2.34.8. Inserting map icons

URL: https://123.123.123.123/map_module/mapeditors/edit/$MAP_ID.json

Methode: POST

Response: HTML


JSON for inserting map icons via REST API
{
    "Map":{
        "id":$MAP_ID,
        "container_id" : [$CONTAINER_IDs],
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified"
    },
    "Mapicon":{
    	"0":{
        	"x":"137",
	        "y":"51",
	        "icon":"Fallout_PIP-Boy.jpg"
	    }
	}
}



Response bei erfolgreichem Aufruf
{
  "id": "$MAP_ID"
}



3.2.34.9. Inserting miscellaneous map items

URL: https://123.123.123.123/map_module/mapeditors/edit/$MAP_ID.json

Methode: POST

Response: JSON


JSON for inserting miscellaneous map items via REST API
{
    "Map":{
        "id":$MAP_ID,
        "container_id" : [$CONTAINER_IDs],
        "name":"Api Map Name Modified",
        "title":"Api Map Title Modified"
    },
    "Mapline":{
    	"0":{
        	"startX":"105",
	        "endX":"373",
	        "startY":"701",
	        "endY":"174",
	        "iconset":"std_line",
	        "type":"host",
	        "object_id":"16",
	        "map_id":$MAP_ID
	    }
	},
	"Maptext":{
	    "0":{
	        "text":"ssdfg[b]sd[\/b]fhsth sdfghwr[center]thwq[\/center]w [text='x-large']hwsrghwrth[\/text]",
	        "x":"444",
	        "y":"292",
	        "map_id":$MAP_ID
    	}
	}
}



Response on successful API call
{
  "id": "$MAP_ID"
}


3.2.35. Eventcorrelation

3.2.35.1. Creating EVCs

URL: https://123.123.123.123/eventcorrelation_module/eventcorrelations/add.json

Methode: POST

Response: HTML


JSON for creating EVCs via REST API
{
    "Host":{
        "container_id":$CONTAINER_ID,
        "hosttemplate_id":$HOSTTEMPLATE_ID,
        "name":"API Eventkorrelation",
        "description":"API Eventkorrelation Description"
    }
}


3.2.35.2. Editing EVCs

URL: https://123.123.123.123/eventcorrelation_module/eventcorrelations/add.json

Methode: POST

Response: HTML


JSON for editing EVCs via REST API
{
    "Host":{
        "id":$EVK_ID
		"container_id":$CONTAINER_ID,
        "hosttemplate_id":$EVC_HOSTTEMPLATE_ID,
        "name":"API Eventkorrelation",
        "description":"API Eventkorrelation Description"
    }
}

3.2.35.3. Creating the EVC tree

URL: https://123.123.123.123/eventcorrelation_module/eventcorrelations/editCorrelation/$EVC_ID.json

Methode: POST

Response: JSON


JSON for creating EVC trees via REST API
{
    "layer_1":{
        "ui-id-1":{
            "children":{
                "1":1,
                "2":2,
                "3":3,
                "4":4
            },
            "operator":"and",
            "vServiceName":"layer1_1",
            "vServiceTemplateId":49
        },
        "ui-id-2":{
            "children":{
                "1":5,
                "2":6,
                "3":7,
                "4":8
            },
            "operator":"and",
            "vServiceName":"Layer1_2",
            "vServiceTemplateId":"49"
        }
    },
    "layer_2":{
        "ui-id-3":{
            "operator":"and",
            "vServiceName":"layer2_1",
            "vServiceTemplateId":"49",
            "children":["ui-id-1","ui-id-2"]
        }
    }
}

3.2.36. Distribute module

3.2.36.1. Creating satellites

URL: https://123.123.123.123/distribute_module/satellites/add.json

Methode: POST

Response: JSON


JSON for creating satellites via REST API
{  
    "Satellite":{  
        "name":"API Satellite",
        "address":"127.0.0.1",
        "timezone":"Europe/Berlin",
        "container_id":1
    }
}



Response on successful API call
{
  "id": "$SATELLITE_ID"
}

3.2.36.2. Editing satellites

URL: https://123.123.123.123/distribute_module/satellites/edit/$SATELLITE_ID.json

Methode: POST

Response: JSON



JSON for editing satellites via REST API
{  
    "Satellite":{
		"id":$SATELLITE_ID,  
        "name":"API Satellite modified",
        "address":"127.0.0.1",
        "timezone":"Europe/Berlin",
        "container_id":1
    }
}



Response on successful API call
{
  "id": "$SATELLITE_ID"
}

3.2.36.3. Deleting satellites

URL: https://123.123.123.123/distribute_module/satellites/delete/$SATELLITE_ID.json

Methode: POST

Response: HTML




4. Troubleshooting

4.1. Services

4.1.1. Tasks

4.1.1.1. Nagios / Naemon

Monitoring engine. The binary is located under: /opt/openitc/nagios.

Config file: /etc/openitcockpit/nagios.cfg

4.1.1.2. Statusengine

Broker module for Nagios/Naemon: /opt/statusengine/statusengine.o

Config: /opt/statusengine/cakephp/app/Config/Statusengine.php

4.1.1.3. OITC Cmd

Alias for the naemon.cmd, which can, for example, translate UUIDs into real hostnames etc.

4.1.1.4. phpNSTA

Transfers data from the master to the satellite and vice versa and, if naemon is the monitoring engine, passes this to the Naemon query handler.

4.1.1.5. Gearman-Job-Server

Provides and manages queues for various tasks.

4.1.1.6. gearman_worker

Provides the "workers" for processing the Gearman job server queues.

4.1.1.7. Nginx

Webserver

4.1.1.8. sudo_server

Executes commands with root privileges

4.1.1.9. NPCD

Processes performance data in /opt/openitc/nagios/var/spool/perfdata and converts this into *.rrd and *.xml files and puts these into /opt/openitc/nagios/share/perfdata

4.1.2. Dependencies

4.1.3. Logs

Nagios / Naemon Log: /opt/openitc/nagios/var/nagios.log

openITCOCKPIT: /usr/share/openitcockpit/app/tmp/logs/error.log

NPCD: /opt/openitc/nagios/var/npcd.log

Gearman Job Server: /var/log/gearman-job-server/gearman.log

OITC CMD: /var/log/oitc_cmd.log

PHP 7: /var/log/php7.0-fpm.log

PHP 5: /var/log/php5-fpm.log

Nginx: /var/log/nginx/access.log

/var/log/nginx/error.log (sudo_server Fehler, generelle Fehler von Nginx, Applikationsunabhänging)

Cake: /var/log/nginx/cake/error.log

MySQL: /var/log/mysql/error.log

phpNSTA: /var/log/phpNSTA.log

Supervisor: /var/log/supervisor/supervisord.log

Attachments:

commandsArgument.png (image/png)
commandsShell.png (image/png)
nodesAdd.png (image/png)
graphgeneratorHeader.png (image/png)
downtimeHeader.png (image/png)
downtimeCategory.png (image/png)
proxyLock.png (image/png)
pmInstall.png (image/png)
pmNew.png (image/png)
usersNew.png (image/png)
userroleCollapse.png (image/png)
userroleExpand.png (image/png)
userroleALL.png (image/png)
userroleView.png (image/png)
userroleAdd.png (image/png)
userroleEdit.png (image/png)
userroleDelete.png (image/png)
processInfo.png (image/png)
statusStats.png (image/png)
serachField.png (image/png)
serachLupe.png (image/png)
searchHeader.png (image/png)
export.png (image/png)
exportSuccess.png (image/png)
evcAddvService#.png (image/png)
evcSave.png (image/png)
autoreportAdd.png (image/png)
autoreportSteps.png (image/png)
autoreportNext.png (image/png)
autoreportStep2.png (image/png)
idoitSynchro.png (image/png)
gearman-job-server.png (image/png)
statusengine + NPCP.png (image/png)
servicestatusList.png (image/png)
trafficlightWidget.png (image/png)
tachoWidget_config.png (image/png)
tachoWidget.png (image/png)
noticeWidget_config.png (image/png)
noticeWidget.png (image/png)
mapWidget_config.png (image/png)
mapWidget#.png (image/png)
graphWidget_config.png (image/png)
graphWidget.png (image/png)
default.png (image/png)
statusmapHoststatus.png (image/png)
newHost.png (image/png)
filterHosts.png (image/png)
newServiceBack.png (image/png)
hostsHeader.png (image/png)
hostsTablecolumns.png (image/png)
newHostHeader.png (image/png)
dnsLookup.png (image/png)
newHostBack.png (image/png)
chainLink.png (image/png)
chainBroken.png (image/png)
hostMacro.png (image/png)
servicesHeader.png (image/png)
newServiceHeader.png (image/png)
browser.png (image/png)
browserPath.png (image/png)
browserNodes.png (image/png)
hosttemplateHeader.png (image/png)
servicetemplateGroupOptions.png (image/png)
allocate.png (image/png)
extendedOverview.png (image/png)
importFromLdap.png (image/png)
timeperiodAdd.png (image/png)
timeperiodDelete.png (image/png)
commandsHeader.png (image/png)
commandsMacros.png (image/png)
downtimeAmount.png (image/png)
downtimeOptions.png (image/png)
downtimeApply.png (image/png)
downtimeCreate.png (image/png)
notificationsHeader.png (image/png)
notificationsType.png (image/png)
perfInfo.png (image/png)
macrosVisible.png (image/png)
macrosDelete.png (image/png)
instantreportSend.png (image/png)
image2017-3-20_14-59-28.png (image/png)
image2017-3-20_14-59-41.png (image/png)
image2017-3-16_12-56-47.png (image/png)
image2017-3-16_13-3-48.png (image/png)
image2017-3-20_11-37-35.png (image/png)
update.png (image/png)
newVersion.png (image/png)
tab.png (image/png)
new.png (image/png)
newTab.png (image/png)
updateTab.png (image/png)
rotate.png (image/png)
interval.png (image/png)
widget.png (image/png)
editTitle.png (image/png)
colorpickerWidget.png (image/png)
deleteWidget.png (image/png)
resizeWidget.png (image/png)
welcome.png (image/png)
parentoutages.png (image/png)
hostPiechart.png (image/png)
hostPiechart180.png (image/png)
hostPiechart180_detail.png (image/png)
servicePiechart.png (image/png)
servicePiechart180.png (image/png)
servicePiechart180_detail.png (image/png)
hostDowntimes.png (image/png)
serviceDowntimes.png (image/png)
hoststatusList.png (image/png)