Checkmk
to checkmk.com

1. Introduction

The most important task performed by Checkmk’s user interface is displaying the current status of hosts and services. This is achieved largely with views in a table format. In order for the daily operations to run as efficiently as possible, these tabular views provide numerous functions, and they can be customized to meet your requirements.

We distinguish between global views and those that require a context. Global views can always be called-up directly. An example of a global view is the list of all current service problems. A context view — the Status of Host …​ view for example — namely needs to specify by name the host whose status is to be displayed. Such views can only be called-up in situations relevant to a particular host.

1.1. Global views

The global view is most easily accessed via the Monitor menu.

Monitor menu of the <span class=Raw Edition in Show less mode."">
The Monitor menu of the Raw Edition in Show less mode

Alternatively, you can use the Overview and Views snap-ins. In the Overview each number is clickable and takes you to a global view that individually lists the hosts or services counted in each case.

Overview snap-in of the sidebar.

All global views are accessible in the Views snap-in — grouped according to topics. In addition you will find a few entries that are not actually Views — such as for example, the dashboards, which are sorted under the Overview topic. Dashboards can however contain views.

Views snap-in of the sidebar.

From a global view, with a further step you can access the details for a particular host or service. The names of hosts and services and the individual cells in other columns are clickable …

views all hosts

… and bring you to a more detailed (context-dependent) view.

1.2. Context-dependent views

In views that relate to a specific host or service, you will find all sorts of entries in the menu Host or respectively Service, which will then take you to other views with the same context — i.e. for the same host or service.

views context buttons

You can also access host- and service-specific views by searching within the Monitor menu:

views monitor search

Another way to the detailed view is via the Quicksearch snap-in in the sidebar:

Quicksearch snap-in of the sidebar.

Which view you receive will depend on the result of the search. If the search identifies a host explicitly, you will reach this host’s Services of Host …​ page directly. There you will again find the menu items for the other views of this same host. A click on the host’s name takes you to the Status of Host view.

views services of host

1.3. Effect in the menu bar

In global host views there is also the menu Hosts as well as in global service views Services — note the plural here! You can use this, for example, to call up the availability of all hosts or services of the current view.

views menu global

Views of a single host, on the other hand, contain the menus Host and Services with all actions for the current host and all services for the current view.

views menu context host

Views of a single service likewise contain the Host menu, but additionally, now in the singular, the Service menu, with actions for this one service.

views menu context service

2. Using views

2.1. Options, filters and commands

At the top left of every view there are six symbols with which you can influence the display, and trigger actions:

Menu Function

Commands

Here you can execute commands to the object shown (e.g., entering scheduled downtimes). The commands are described in detail in their own article.

Display > Filter

Opens the filter bar on the right side of the main page. With this you can further restrict the displayed data. As soon as you set a filter the symbol on button filters set lo changes so that it is clear that under certain circumstances not all data will be displayed. Conversely, some views already have predefined filters, (e.g. the list of all problems). Here, by removing the filters you can also have more data displayed. Changes to filters are not saved, rather they are reset when you quit the view.

Display > Show checkboxes

With this you switch checkboxes on or off. Using the checkboxes you can restrict the commands to selected data sets.

Display > Modify display options > Entries per row

Defines the number of columns for the view. Views with multiple columns allow the space available on wider monitors to be fully-utilized. For views that only display a single data set this setting has no effect.

Display > Modify display options > Refresh interval

Defines the view’s refresh interval. You can also disable the automatic refreshing. Be aware that in this case it is possible that you will not be informed of problems that occur in the meantime!

Display > Modify display options > Date format

Change the format for the date display.

Display > Modify display options > Time stamp format

Timestamps can be displayed as absolute, relative, mixed, in combination or as ‘Unix Timestamp’.

2.2. Time and date

Checkmk shows time stamps as relative values in all of the views of states if these are less than 24 hours in the past or future — e.g., 16 hours. You can switch this in the menu via Display > Modify display options and choose between displaying only absolute, only relative or both values, or also the ‘Unix timestamp’. You can also specify the date format in this dialog.

views time date

2.3. Sorting

The views can be sorted by clicking on a column’s heading. A column has three states that can be selected through a loop of multiple clicks:

  • sorted in ascending order

  • sorted in descending order

  • column unsorted

Views are initially sorted ‘naturally’ according to how the view is defined. In service views the sorting is alphabetic by service name — with the exception of Check_MK services which are always at the top. The Check_MK service is responsible for managing the monitoring agent. There are also the Check_MK Discovery and Check_MK HW/SW Inventory services. In order to sort such a list by the current state of the services a click on State will suffice.

views sort by state

Sorting by the Perf-O-Meter column sometimes produces surprising results. This is due to the graphic display of the measured values being partly a percentage summary of the actual values. The sorting is however performed according to absolute values, and is always based on the first metric produced by a service.

2.4. Exporting

Data displayed in a view can be exported in various formats using the Export menu:

Menu item Function

Data > Export CSV

A semicolon is used as a separator. The individual cells are enclosed in quotes. The first line contains the internal abbreviations for each column.

Data > Export JSON

For an export in JSON-format, the cells also end up in quotes, separated by breaks and commas, enclosed by square brackets.

Reports > This view as PDF

Only in the commercial editions: This creates a so-called instant report, which converts the current view into a PDF document, minus icons, navigation and so on. Its layout can be customized with special templates in the reports.

Reports

Depending on the current view, further PDF exports are offered, e.g. for availability, as well as individually-created report templates, if available.

REST API > Query hosts/services resource

Output of the REST API for host/service selection of the current (filtered) view.

2.5. The display limit

In a larger monitoring environment displaying all views is no longer practical. When you are monitoring 50,000 services and select the All Services view, not only will the display require a very long time — it will also not be very useful.

In such situations, in order to protect the user from long waiting times and to avoid crippling the system with absurd quantities of data, views are limited to 1000 entries in their display. Exceeding this limit produces the following warning:

views limit1

As you can see, the records being displayed are not necessarily the first 1000 corresponding to the selected sorting method! There is a technical reason for this: namely that the limit is applied to the data source in the connected site’s monitoring cores. This is very important, because if we accumulate one million data records from your environment spread around the world, then 99.9 % of the data will be deleted immediately. The sorting takes place over the interface only at the end, thus it happens after the limit. The data from all sites must, after all, be sorted together.

If you really want to see more than one thousand records, then you can reach the next level by clicking on Repeat query and allow more results. Here the limit is 5,000 records. If this limit has again been exceeded, with unlimited you can continue. Insofar this is a potentially risky action, you will require Administrator rights. You have been warned!

views limit2

You can define both levels under Global settings > User interface:

views limit3

3. Customizing views

3.1. The basics

Checkmk allows you to customize its standard views, and even to create new ones that you can incorporate into reports and dashboards. Thus you can define numerous different aspects for every view:

  • General items such as title, topic, etc.

  • Which data source is to be displayed (e.g. hosts, services, events on the Event Console, etc.)?

  • Which selection of records is to be displayed (filtering)?

  • Which columns will be displayed?

  • Which other views are linked to the text in the columns?

  • What is the standard sorting method?

  • Is there a grouping, and if so, how does it look?

  • Where and for which user should the view be visible?

  • Which style of table layout should be used?

The edit mode for views can be accessed in two ways:

  1. Via a menu entry in the case of an existing view. There are four variants here, depending on the origin of the view in question:

    • Display > Clone builtin view — creates a clone of the provided built-in view.

    • Display > Edit my view — opens the edit mode for your custom view.

    • Display > Clone view — creates a clone of another user’s view — if you don’t have permission to edit views that are not your own.

    • Display > Edit view of user X and Display > Clone view — which lets you choose whether to edit another user’s view or instead create a clone of their view — if you have permission to edit other users' views.

  2. In the menu Customize > Visualization > Views. There you can create completely new views with button add view, or customize existing ones with button clone:

views edit views

3.2. Clone first — then modify

The views supplied as standard are a part of the software and as such cannot be changed, however Checkmk does recognize the concept of cloning. When a view is first customized a copy of that view is created automatically. This copy is added to your user profile.

This copy can then be customized as desired. The original view is retained but is grayed-out — overlaid by your new version in effect. You can return to the standard view later by simply deleting your clone (achieved in the table of views, as you might expect, with icon delete).

This concept has one further advantage: namely, that you can define whether the view should be changed for all users or just for yourself. You specify this in the General Properties of the view under Visibility with the Make this view available for other users checkbox. Not surprisingly, you can only select this checkbox if you have administrator permissions (or more correctly, this function has its own permission — Publish views). Additionally, single views can be locked in the role definitions.

What happens when a view has been customized and published by several users? Each user then has their own variant of the view. Which view will be visible for which user(s)? This can be determined with the following rules:

  1. When a user creates a view for themselves, this will always have priority for them.

  2. After this are views that have been customized and published by an administrator (to be precise, someone with the Modify builtin views permission).

  3. If there are none here, then those views apply that another normal user with the Publish Views permission has published.

  4. And when there is also nothing here then the supplied default version will be visible.

How can you create a real copy of a view, so that when done you can have both the supplied and your own views? This is defined by using Unique ID in the General Properties. Simply give your view a new name, so that it will no longer be identified as a clone of the supplied view, rather it will begin its own independent life.

This ID is the decisive keyword for opening views in the URL. The schema is very simple. Here for example is how the global view with its ID allhosts is opened:

/mysite/check_mk/view.py?view_name=allhosts

The concepts of cloning, customizing and visibility can be found at many other locations in Checkmk, namely in:

3.3. Integrating a view into the sidebar

How and if a view will be shown in the Monitor menu of the navigation bar as well as in the Views snap-in, is defined under General Properties by the following characteristics:

views edit view general properties
  • Title — the item’s name

  • Topic in 'Monitor menu': — the view will be sorted under this topic. You can also define other topics.

  • Sort index — how high up the view appears in the menu

  • Visibility — Suppress item and/or share with other users

3.4. Basic layout

The next block — View Properties — defines a view’s general appearance:

views edit view view properties

The Number of Columns option sets the default for the number of columns shown in the view, the Automatic page reload the default for the refresh counter. Both values can be modified by the user in the view itself via Display > Modify display options.

Under Basic Layout there are various styles for displaying the data in tables. Most views use Table — a normal table that can be sorted by columns — or Single dataset — which has the legend on the left and which is mostly used for single data sets. You can however also use Single dataset for views with more than one object. The All hosts view looks something like this when altered to Single dataset:

views layout single dataset

3.5. Columns

The Columns box defines which columns you wish to see. The possible selection of columns depends on the selected data source. The most columns are found in services, naturally, as all information for the particular host is available here. The list can be quite long here, and if you are uncertain which column is the right one, there is only one thing to do — try it out:

views edit view columns

Depending on the column selected, there may be specific options for this. With the column Hosts: Hostname, for example, it is possible to color the host name according to its status using the Coloring option.

The Link field offers a selection of all views and dashboards. If a view is selected here, then the column’s respective cell is clickable and takes the user to the chosen view. This really only makes sense if the targeted view has a context. The best example is the All hosts view. The Hostname column is clickable here and takes the user to this host’s Services of Host. Alternatively, dashboards can be specified here — which obviously do not require a context.

Under Tooltip, on the other hand, you will find a list of all columns. Thus you can show further information for the host or service when the user moves the mouse cursor over the respective cell (the IP address in the following example):

views hover address

3.6. Information for services in a host view

Let’s imagine that you would like to display information on specific services in a table of hosts. The following shows a very good example of such a scenario: For each host, the current uptime, CPU load, memory usage, and execution time of the Checkmk agent are output:

views joined columns example

Here a table of hosts has been created, in which for each host the Perf-O-Meter service column from each of four different services is shown. You can also see that for one of the three hosts the CPU, Memory and Uptime services do not exist and so the columns for those services are consequently empty.

To implement a configuration to this view, add columns of the Joined column type to the view. Here then under Column the columns for services will appear, from which you select Perf-O-Meter in this example. With the Title entry further down you can then define the heading of the column as required if the default heading does not fit.

Under of Service, first select either Explicit match or Regular expression match. For the former, enter the exact name (upper and lower case-sensitive). This will determine the correct service associated with the host.

views edit view columns 2

If you don’t know exactly what the service is called, or its name is slightly different on each host, specify a regular expression that matches to exactly one service per host. This is especially useful if you want to look at a group of hosts where there is a comparable group of services, only one of which can be present on a host at any given time. In the example below, this is the CPU load or the Processor queue, which can only exist on either Linux or Windows systems.

views edit view columns 3

By the way, there is no need to worry if a regular expression does in fact match more than one service. In such a case, the first match will always be displayed in the column.

In both variants, such a display is of course only useful if the view shows a list of similar hosts, which also all have the selected services or have similar services. This is also the reason why Checkmk provides only a few such views: Which columns are useful here depends entirely on the type of hosts selected. Linux servers are obviously interested in completely different information compared to UPSs, for example.

3.7. Sorting

The sorting within a view is configured in the fourth box. It’s only a matter of the predefined sorting method. Users can — as described above — determine the sorting order themselves with a click on the column heading. In the view’s configuration however you have more possibilities — you can define a multi-step sorting order, e.g. first by service status, and for the same status by service name. The order so determined is retained as a subordinate sorting when the user resorts in a specific column.

views edit view sorting

3.8. Grouping

Through grouping you can divide a table into several segments — in which each segment’s data is related in some way. The best example of this is the Service problems view, which is easily reached via the Overview snap-in.

As you can see, this table is grouped with service State (first all CRIT, then UNKNOWN, then WARN) - each with its own group header:

views edit view grouping

The grouping in a view is configured similarly to that with the columns. Simply define which column the grouping should relate to. It is usually only one, but can be more. All records with the same value for all selected columns will then be displayed in a group — and the column heading will be shown as the group title.

It is important that you also sort the records by priority according to the group’s selected characteristic! Otherwise it can be possible that the same group makes multiple appearances (which may at times be desirable).

Incidentally, a resorting by column performed by a user has no effect on the grouping — in such a case only the group’s sequence is determined and the records sorted within the group. The groups themselves are unchanged.

3.9. Filters, contexts and searches

An important aspect of views is the data selection. Which hosts or services should be displayed in a table? Checkmk uses the Filter concept for this purpose. Here are a couple of examples of host filters:

views filter

Every filter can be defined with search terms or other criteria by a user, thus reducing the list of results to those records meeting the criteria. In this way the filters are AND-linked. The filter criteria actually used for a view are assembled from three sources:

  1. Filters with criteria defined as standard for the view.

  2. Filters set interactively by the user with icon filter in the view.

  3. Filters that can be set with variables via the URL.

The filters you assemble by editing in the view’s Context / Search Filters box have two functions. Firstly, by clicking on icon filter you can decide which filter will be available to a user. Secondly, you can predefine filters using criteria, thus limiting the data to be displayed in the view (point 1 above).

When you create or edit a view by using context — instead of the filter for the relevant object only an optional entry field appears. In this an exact comparison always applies (upper and lower case sensitive). As an example we can take the host view, which displays all services of a specified host. The host name can be specified by adding a context to the view. You can also build a display in which the host to be displayed is effectively hard-coded directly in the view:

views edit view context filter

In this way you can call the view without context, or if desired, simply add it to the Views snap-in without problem.

3.10. Special search views

The Host search and Service search (and other) views supplied as standard behave in a special way in relation to the filters. When you you select one of these views, it opens with a filter form, and then only shows hosts and services when this filter is activated.

Why is this so? Because it would simply be very impractical if you first had to go to All services, and then be forced to wait until several thousand services are displayed before you could filter the result with a search entry. This behavior is regulated by the Show data only on search option:

views edit view view properties show data

4. Creating new views

Creating a new view with button add view functions in principle just like the editing of an existing view — with one small difference: you must first select a data source and a specific object type.

4.1. Data source

views create view 1

The data source is what you might call a table or database view under databases. Checkmk does not use SQL databases, but it is similarly-structured internally. In most cases you will be correct with All services or All hosts. There are however a few data sources that should be listed briefly here:

Data source Meaning

Host and service groups, various

see below

Alert Statistics

Status statistics

BI, various

Business Intelligence

Event Console, host and service events

Event Console

Inventory, various

HW/SW Inventory

The Logfile

Livestatus data

Host and service groups

The Host groups and Service groups data sources — per line — provide the information on the group itself — accordingly there are no filters for individual hosts or services. An example of this data source is the standard Host groups view. In distributed environments the Host groups, merged and Service groups, merged data sources work in exactly the same way.

views hostgroups summary

However, if you want information about individual hosts, but grouped according to host groups, you can change the All hosts default view by adding the Hosts: Host groups the host is member of option in the Grouping box. Since hosts can be assigned to multiple groups, you will then find a single area in the view for each host group combination, which applies to at least one host.

views hostgroups

You can proceed in the same way with services and service groups.

Depending on the selected data source, various columns are available for building the view.

4.2. Object type — global or with context

views create view 2

Here it can be decided whether your new view should have a context or if it will be a global view. The selections available to you depend on the data source. The most common context by far is host. The image above appears after selecting the All services data source.

Selecting Show information of a single Host defines that the new view describes one specific host. You will thus have created the basis for a view that is not globally-visible, but instead visible via a link:

  • For a host view with a context

  • As a link in a column (see above, e.g., click on a host name in a view)

There are two options for the service context type. If you select only Show information of a single Service, you can build a view that displays all services with the same name on different hosts. If it should be a specific service for a single host, then select in addition Show information of a single Host.

5. Link inventory tables

Checkmk provides many different data on a host or a service. Most of these can be displayed using the All services or All hosts data sources. The HW/SW inventory also provides additional tables (as data sources), which you can also display in your own views and structure individually. As of Checkmk 2.2.0 you can also add columns from other tables to such views, as long as they have a column in common.

Important: The number of rows in the final view is the same as the number of rows in your view’s underlying data source. Linked tables only add selected columns.

In the following example you will once-only create a very compact view linking two HW/SW inventory tables. To begin, create a new view and select the desired inventory table as the basic data source. For the example, search for the Inventory table: Checkmk ➤ Checkmk sites and then confirm with button continue Continue:

Selecting the 'Checkmk sites' data source.

You can skip the following page, as it is not necessary to restrict the data source to a single host or site. The next step is therefore performed directly on the main configuration page, where first you enter the Unique ID and a Title.

In the Macros for joining service data or inventory tables box comes the first specific configuration to later include other data sources in the view. For this purpose indicators are needed to identify the correct rows in the other data sources later on. So as in the following example, create the macros for the Version and Site columns:

Dialog for creating macros.

You can now use these macros in special Columns. In addition to the regular columns, which have already been used in customizing views, both the service data source (Joined columns), which was described earlier, and the Joined inventory columns will now be available.

The first two columns use default data from the data source. Since data from the HW/SW inventory always belongs to a specific host and site, these tables are also available if you have selected such a data source.

Dialog for selection of standard columns.

After that you can use the defined macros not only in the Joined inventory columns, but also in the Joined columns, to display data from specific services. This allows you to combine a wide variety of sources — in this example, to display the Perf-O-Meter for a site’s associated performance service.

By the way, you can use the macros in the same way when defining regular expressions.

Using a macro to select a 'Joined column'.

Displaying data from other HW/SW inventory tables works quite similarly. Only the table to be used has to be selected beforehand. In the following example you use the table Checkmk ➤ Checkmk versions table, which automatically filters the Display the column drop-down list to a suitable selection.

Afterwards you determine how Checkmk finds the correct row in the table from which the column should be displayed. To do this, use the Add new match criteria button to add a criterion in the form of a column that Checkmk can later use to determine the matching row. In the example above this is the Version, since this is unique in the table and can only occur once. Conversely, this also means that while you can link any of the HW/SW inventory tables together, you must also ensure that the two tables always have a common column and that this column also always contains unique entries. So in the above example, the Sites column would not be a suitable criterion as there could be multiple editions with the same number of sites.

Using a macro to select a 'Joined inventory column'.

Of course you can also customize the title of the column in a Joined inventory column if the default one doesn’t fit. After all of the settings have been made, save the new view with button save and go to view Save & go to view and you will be taken directly to the result. Depending on how many sites you are monitoring, a line will be inserted in the view for each site:

Finished view including columns from other sources.

As you can see here, there is always a default title for each column if it is not specified by you. A title for the Perf-O-Meter’s third column was not specified, so the name of the regular expression used by Checkmk was taken as the column title. As with the Edition column, you can customize this column title at any time.

6. The matrix

When you specify the Matrix layout in one of your views you will probably see strange things at first, and ask yourself what is going on. The matrix is certainly not intuitive on first viewing, but you can achieve good things with it.

In the supplied standard views there is e.g. Search performance data, which uses this layout. You find this view via Customize > Visualization > Views.

The following image shows the search for the expression CPU|^memory|Filesystem /opt/omd/sites/mysite:

views matrix filter service

The result is a neat table of my hosts, in which all of the service’s metrics are listed adjacent to each other. Not all of the hosts have the same services, so some of the fields are simply empty:

views matrix view 1

The result at first looks very similar to that described earlier — Information for services in a host view. There are a couple of significant differences however:

  1. The list of services is dynamic and has no fixed configuration.

  2. Here the hosts are the columns — not the lines.

With the matrix you can do much more. When you look at the view’s definition you can see how it is constructed:

  • Matrix is specified in Basic layout.

  • The host name (Hosts: Hostname) is specified as the only column in Grouping.

  • In Columns the Service description and the Service Perf-O-Meter are specified.

The rule for the matrix layout is:

  • The Grouping columns are used as headings for the vertical columns.

  • The first normal column on the left provides the titles for the rows.

  • All further normal columns are shown in the cells.

If, for example, you wish to display more information regarding the host, simply add more columns in the Grouping box. Thus the table from above will look like this when you insert the Host icons and Folder - just folder name columns:

views matrix view 2

Further normal columns then land directly in the cells. The following example shows (abbreviated) the matrix with the additional Output of check plugin column:

views matrix view 3

6.1. Recognizing outliers

Why do some cells have a colored background? This points you to values lying outside the majority. This is actually not so meaningful for measured data, but there are, for instance, users with a specially-constructed matrix who can tell at a glance if an incorrect contact group has been entered for certain hosts or services.

views matrix view 4

7. Alarm sounds

A view can sound an alarm tone over the browser if at least one problem appears in the table (a host that is not UP, or a service that is not OK). This primitive type of alarm is, for example, interesting for control centers where there is always a list of problems on a screen that the operator doesn’t want to have to constantly stare at.

The alarm sounds are by default deactivated. You can switch them on with the Setup > General > Global settings > User interface > Enable sounds in views global switch. As (almost) always the search in the Setup menu helps here:

global settings enable sound

Sounds will not be heard in all views, rather only in those for which alarm sounds have been activated in View Properties:

view properties sounds

8. Embedding views in external websites

Since every view is accessible via a URL you can also embed these in other websites, for example, via an <iframe>. A number of elements in a view could however make no sense or even be distracting in such a context. In a situation like this you can attach a display_options=…​ variable to the URL, via which you can precisely control which component of the view should not be generated in HTML code.

Important: The Checkmk navigation is also usually rather undesirable when embedding. So before you manually set options in a view, let the page be displayed without navigation and sidebar by turning off Display > Show page navigation.

Every component is coded with a letter and can accordingly be excluded using these.

The following letters have been defined:

Option Effect

t

Title bar (with heading, breadcrumbs, countdown symbol for page update), menu bar and actions bar are omitted.

b

Menu items and action buttons that link to other views are omitted.

f

Menu item Display > Filter and its corresponding view button filters button are omitted.

c

Menu Commands and its corresponding buttons are omitted.

o

The options Entries per row and Refresh interval are omitted; otherwise callable via Display > Modify display options.

d

Menu item Display > Modify display options is omitted

e

Menu item Display > Customize View is omitted.

r

The page refresh countdown icon in the title bar and auto-refresh JavaScript code are removed.

s

The playing of alarm sounds for the WARN and CRIT service states is suppressed.

i

Links to other views are omitted, e.g. the links in the Service column in service views.

m

The target of links is by default the HTML main frame — with this option links are opened in new tabs.

l

Links in column headings are omitted.

w

Limit and live status error messages.

For example — if you want to switch off all control elements and buttons and only display the actual table, a link on the allhosts view will look like this:

/myserver/mysite/check_mk/view.py?view_name=allhosts&display_options=til

9. Adding your own icons and actions

In views of hosts and services you will also see a column for icons, and in this the icon menu action menu icon with which you can select host or service actions. You can also add your own icons to views. These can be used simply for visualization, or your own actions can be assigned to them.

For example, hosts with a graphic web interface can be quickly identified using such an individual icon and can also be controlled directly via a link.

The procedure for adding your own icons and actions is divided into three steps:

  1. Upload the icons.

  2. Define the icons/actions.

  3. Assign the icons to hosts/services.

Start with Setup > General > Custom Icons and upload a local file with a maximum size of 80 x 80 pixels. The icon will now be in the system, but will not yet be in use.

views manage icons upload

Next you will need to define the icon as an object that can be addressed via rules, and optionally, an associated action. You can find the settings for this under Setup > General > Global settings > User interface > Custom icons and actions. Create a new entry here using Add new element, and define ID, Icon and a Title. The title will later be displayed as a tooltip directly on the icon via a mouse-over-effect, and is therefore indispensable for users.

views global settings custom icons and actions

Now it gets interesting with the Action option. Action is equivalent to a URL, and for this you can make use of some variables such as $HOSTNAME$ or $SERVICEDESC$ (service description) — you can get further information from the inline help. A valid action would be, for example:

view.py?host=$HOSTNAME$&site=mysite&view_name=host

This action simply calls the standard host view for the corresponding host on the site mysite.

With a check mark at Show in column you can then display the icon as an independent icon next to icon menu, otherwise your action will end up in this action menu.

In the final step, you now determine which hosts or services the new icon is to be displayed for — specifying these using rules of course. You can find the two rule sets, Custom icons or actions for hosts in status GUI and Custom icons or actions for services in status GUI in the Setup menu under Host monitoring rules and Service monitoring rules. The quickest way to find the two rules is to search the Setup menu.

Create a new rule in the desired folder and set at least two options in it. First select the icon just created under Custom icons or actions for hosts in status GUI:

views custom icons or actions

Then set the filter in the Conditions box for the desired hosts/services.

views custom icons or actions b

Finally, save and confirm the changes.

In host and service views you will now be able to see your new icon next to or in the action menu for the filtered hosts and services.

views view with custom icon
On this page