Map configuration format description

General Information

The NagVis configuration file format is very similiar to the format used by Nagios®.

Configuration statements start with the keyword "define" followed by a type field and a left curly bracket ({). Every following line defines variable-value pairs, separated by an equal sign (=) until a right curly bracket (}) is found.

Hashes (#) are used to mark comments, note that a comment line MUST start with a hash not with other chars like whitespaces!

Object types

Description of the object types

Global

The first definition in every config file should be of the special type "global". Options which are defined at this paragraph are valid for the whole map and are getting inherited to other types defined later.

Example with all options which have to be set:

define global {
 map_image=lan.png
}
Value Default Description
allowed_for_config Comma separated list of Nagios users who are allowed to edit this map. Can be "EVERYONE" for no permission check. (Deprecated in 1.5)
allowed_userComma separated list of Nagios users who are allowed to view this map. Can be "EVERYONE" for no permission check. (Deprecated in 1.5)
map_image

The name of the map image displayed in the background of the NagVis map, for example a Visio (TM) drawing.

The value can even be "none" or empty for no background image.

It is also possible to add URLs here. The URL has to be surrounded by [ and ].

alias map name The alias is the label for each map. If it is defined it is shown everywhere in NagVis frontend.
backend_id inherited (nagvis.ini.php) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend defined as default backend in the Main Configuration file is used. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. Host, host and service group objects do support merging their members into one object when multiple backends are configured for an object.
background_color inherited (nagvis.ini.php) Background colour of this map. If this is not set backgroundcolor from Main Configuration file is taken.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu on your map objects.
context_templateinherited (nagvis.ini.php)Default context template to be used on this map
event_on_load inherited (nagvis.ini.php) Enabled/disables eventhandling on page loading. Initial problematic states will raise events in frontend during page rendering. (New in 1.7b3)
event_repeat_interval inherited (nagvis.ini.php) Repeat frontend events in the given interval. The interval is configured in seconds. Set value to 30 to let NagVis re-raise events for problematic objects every 30 seconds. (New in 1.7b3)
event_repeat_duration inherited (nagvis.ini.php) The time in seconds to repeat alerts for a problematic object as configured in event_repeat_interval. This value defaults to -1, this leads to repeated events until the problematic state has been fixed. (New in 1.7b3)
event_backgroundinherited (nagvis.ini.php)Enable/Disable changing background colour on state changes (configured colour is shown when summary state is PENDING, OK or UP).
event_highlightinherited (nagvis.ini.php)Enable/Disable highlighting of the state changing object by adding a flashing border.
event_highlight_durationinherited (nagvis.ini.php)Set the highlight duration in milliseconds
event_highlight_intervalinherited (nagvis.ini.php)Set the highlight interval in milliseconds
event_loginherited (nagvis.ini.php)Enable/Disable the eventlog in the new javascript frontend. The eventlog keeps track of important actions and information.
event_log_levelinherited (nagvis.ini.php)Loglevel of the eventlog (Available: debug, info, warning, critical).
event_log_eventsinherited (nagvis.ini.php)Number of events in the eventlog scrollback
event_log_heightinherited (nagvis.ini.php)Height of the javascript eventlog in px
event_log_hiddeninherited (nagvis.ini.php)Hide/Show the eventlog on map loading
event_scrollinherited (nagvis.ini.php)Enable/Disable scrolling to the icon which changed the state when the icon is out of the visible scope.
event_soundinherited (nagvis.ini.php)Enable/Disable sound signals on state changes.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

grid_colorinherited (nagvis.ini.php)The colour of the grid lines.
grid_show inherited (nagvis.ini.php) Enable/Disable a grid to make the alignment of objects easier in edit mode. Objects are aligned to the upper left corner after moving.
grid_stepsinherited (nagvis.ini.php)Scale of the grid in px.
header_fade inherited (nagvis.ini.php)Enable/Disable the fade effect of the submenus in the header menu (When the used header menu supports that option).
header_menu inherited (nagvis.ini.php) Enable/Disable the header menu
header_template inherited (nagvis.ini.php) header template to be used on this map
hover_childs_limit inherited (nagvis.ini.php) Number of maximum children to be displayed. Set to -1 to disable the limit.
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_template inherited (nagvis.ini.php) Default hover template to be used on this map
hover_timeout inherited (nagvis.ini.php) Default hover menu ajax request timeout in seconds (Deprecated in 1.4)
iconset inherited (nagvis.ini.php) Iconset to use as default for all objects placed on the map. Can be overwritten on a per object base.
In the example "std_small" is used which means an OK state will be displayed using "std_small_ok.png", a CRITICAL state will be displayed by using "std_small_critical.png" and so on.
in_maintenance 0 Enable/Disable the maintenance mode of this map. If a map is in maintenance mode only a message gets displayed instead of the map.
label_show 0 Enable/Disable labels for the maps objects
label_x center Default x-position of the labels in px (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position). Since 1.7.7 this can also be set do center, which is the new default option.
label_y bottom Default y-position of the labels in px (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position). Since 1.7.7 this can also be set do bottom, which is the new default option.
label_width auto Default width of the labels in px
label_background transparent Default background colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_border #000000 Default border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleCustom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_arrowforward This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_type Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_width3This defines the width of the line in px when this object is being displayed as line.
line_weather_colorsinherited (nagvis.ini.php)This defines the colours of weathermap colours in the different percentage levels. For example above 10% load it will be coloured #8c00ff. (New in 1.6)
only_hard_states inherited (nagvis.ini.php) Sets whether soft states should be ignored. Default setting is 0.
parent_mapThe parent map of this map. This option is only used in the menu visualisations of the header menu and sidebar (New in 1.6)
recognize_services inherited (nagvis.ini.php) Sets whether the states of the services on hosts, hostgroup objects should be recognised. If this is not given in the config it's set to 1.
show_in_lists inherited (nagvis.ini.php) Show the maps in lists (dropdowns, index page, ...)
show_in_multisite inherited (nagvis.ini.php) Show the maps in multisite snapin
stylesheetinherited (nagvis.ini.php)Filename of the custom stylesheet to use on the maps (The file needs to be located in the share/nagvis/styles directory)
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window)
zoom 100 Zoom factor of the map. Can be set to any percentage value that the map objects should be zoomed in or out (New in 1.7b1). Since 1.8b1 this can be set to "fill", the map is being zoomed to fill the browsers viewport.
zoombar inherited (nagvis.ini.php) Enables a floating bar to make the map zooming controllable by this bar or by using the mouse wheel. To control NagVis scrolling via mouse wheel, you need to press the ALT key and then scroll the mouse wheel while holding the ALT key. (New in 1.8b1)

Host

Example with all options which have to be set (note that options already defined in the global section are optional):

define host {
 host_name=localhost
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
host_name Name of the host as defined in Nagios
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. All services for hosts with matching names found in all given backends will be added to the single host object.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[host_name]: This macro stands for the object name.
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Maximum number of children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
only_hard_states inherited (global) Sets whether soft states should be ignored. Default setting is 0.
recognize_services inherited (global) Defines if the services of the host affect the displayed state. If set to "1" a critical service on the host will result in a host state display as critical too. If set to "0" only the Nagios Host State (UP or DOWN) will be used and the services of the host will be ignored.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [host_name], [htmlcgi] and [htmlbase] are available. The value can be set to "#" to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Macro [name] is available.
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Service

Example with all options which have to be set (note that option already defined in the global section are optional):

define service {
 host_name=localhost
 service_description=ping
 iconset=std_big
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
host_name Name of the host as defined in Nagios
service_description Name of the service as defined in Nagios
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

gadget_url The value can be a gadget script in gadget path (nagvis/gadgets) e.g. "std_speedometer.php" or a full URI to a gadget like script surrounded by brackets e.g. "[http://127.0.0.1/nagvis/gadgets/std_speedometer.php]". For details about gadgets see here. This option is only recognised when view_type="gadget" is set.
gadget_scale 100 The scale of the gadget. Default scale is 100 (percent). The gadgets should be able to be resized by this parameter
gadget_type img The type of the rendered output. This can be "html" when the gadget renders normal HTML code, or "img" when the gadget renders an image.
gadget_opts Optional gadget specific params. The contents can be freely defined for each gadget. The value is processed as GET param "opts". We recommend to use a var/val format like this: key1=val1,key2=val2. Then you can easily split this string to an array in the gadget.
hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[host_name]: This macro stands for the object name.
[service_description]: This macro stands for the service description and will only be replaced in service objects.
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Maximum number of children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] [service_description] Text of the label. Available macros: [name], [alias], [service_description], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
line_cut 0.5 Lines with two parts have the cut in the middle of the line. This equates to a line cut value of "0.5". It is possible to relocate the cut by changing this value. Valid values are 0.0 to 1.0.
line_label_pos_in 0.5 Weathermap lines have their labels in the middle of the line by default. This equates to a value of "0.5". It is possible to relocate the cut by changing this value. Valid values are 0.0 to 1.0.
line_label_pos_out 0.5 Weathermap lines have their labels in the middle of the line by default. This equates to a value of "0.5". It is possible to relocate the cut by changing this value. Valid values are 0.0 to 1.0.
line_label_y_offset 2 This option defines the offset of the labels to the line when rendering weathermap lines which show percentage and absolute bandwidth labels. (New in 1.6)
line_weather_colorsinherited (global)This defines the colours of weathermap colours in the different percentage levels. For example above 10% load it will be coloured #8c00ff. (New in 1.6)
only_hard_states inherited (global) Sets whether soft states should be ignored. Default setting is 0.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [host_name], [htmlcgi] and [htmlbase] are available. The value can be set to "#" to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name], [service_description],
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Hostgroup

Example with all options which have to be set (note that options already defined in the global section are optional):

define hostgroup {
 hostgroup_name=servers
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
hostgroup_name Name of the hostgroup as defined in Nagios
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. All host members of host groups with matching names found in all given backends will be added to the single host group object.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[hostgroup_name]: This macro stands for the object name.
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Maximum number of children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
recognize_services inherited (global) Defines if the services of the hosts affect the displayed state. If set to "1" a critical service on one of the host will result in a hostgroup state display as critical too. If set to "0" only the Nagios Host State (UP or DOWN) will be used and the services of the hosts will be ignored.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [host_name], [htmlcgi] and [htmlbase] are available. The value can be set to "#" to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name]
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Servicegroup

Example with all options which have to be set (note that options already defined in the global section are optional):

define servicegroup {
 servicegroup_name=servicegroup1
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
servicegroup_name Name of the servicegroup as defined in Nagios.
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. All service members of groups with matching names found in all given backends will be added to the single servie group object.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[servicegroup_name]: This macro stands for the object name.
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Number of maximum children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
only_hard_states inherited (global) Sets whether soft states should be ignored. Default setting is 0.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [host_name], [htmlcgi] and [htmlbase] are available. The value can be set to "#" to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name]
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Map

Example with all options which have to be set (note that options already defined in the global section are optional):

define map {
 map_name=webserver
 x=77
 y=156
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
map_name Name of the NagVis map cfg file (without .cfg extension)
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
exclude_members

It is possible to exclude member objects completely while fetching the object information from the backend. The filtered elements will not appear anywhere in this object.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

exclude_member_states

It is possible to exclude one or several member states while calculating the summary state of objects. The filtered elements will appear in the member lists but won't be used for summary state calculations.

For details about the filter syntax have a look at the exclude regex definition. (New in 1.6b4)

hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[map_name]: This macro stands for the object name.
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Number of maximum children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
only_hard_states inherited (global) Sets whether soft states should be ignored. Default setting is 0.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [host_name], [htmlcgi] and [htmlbase] are available. The value can be set to "#" to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name]
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Textbox

Example with major options:

define textbox {
  text="This is an informational text which can be placed anywhere on the map, HTML can also be used for formatting purposes"
 x=200
 y=100
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
text Your own text, HTML is possible. There are some macros:
[refresh_counter]: Shows the time until the next reload/rotate dynamically
[worker_last_run]: Shows the time of the last worker run
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
wautoWidth of the textbox in px (pixels). Set to "auto" for auto scaling.
hautoHeight of the textbox in px (pixels). Set to "auto" for auto scaling.
background_color #C0C0C0 Background colour of the textbox. The colour should be given in hexcode. Can also be "transparent".
border_color #000000 Background colour of the textbox. The colour should be given in hexcode. Can also be "transparent".
styleCustom styling for the text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
use Comma separated list of object templates to use. For details see Template
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Shape

Basicaly shapes are simple images which can be moved and positioned on the map. The shapes are meant to be layout elements. The shapes were added to give the users the option to create less static maps.

Example with all values which have to be set:

define shape {
 icon="test"
 x=200
 y=100
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
icon Filename of the shape. Shapes have to be located in the shape directory (default: nagvis/images/shapes). It is also possible to add URLs here. The URL has to be surrounded by [ and ].
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
enable_refresh 0 This option activates the shape for regular updates in the frontend. This is only needed for dynamic shape images which change once in a while.
hover_menu 0 Enable/Disable the hover menu
hover_url URL which should be displayed when hovering over the image. By default there is no action on hover.
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
url URL where the Icon should link to. By default there is no link. The value can be empty to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window)
use Comma separated list of object templates to use. For details see Template
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Line

The line is a stateless layout element to connect elements and visualize stateless connections between other objects. The objecttype has been created to make the design less static.

Example with all values which have to be set:

define line {
    line_type=1
    x=200
    y=100
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object. (New in 1.6)
line_typeSpecifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_width3The width of the line in pixels.
line_color#ffffffThe fill colour of the line in hex form. Can also be "transparent".
line_color_border#000000The border colour of the line in hex form. Can also be "transparent".
hover_menu 0 Enable/Disable the hover menu
hover_url URL which should be displayed when hovering over the image. By default there is no action on hover.
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
url URL where the Icon should link to. By default there is no link. The value can be empty to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window)
use Comma separated list of object templates to use. For details see Template
z1The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Template

With this object you have the ability to define all values except the must-have-attributes in one object for many others. You can set all attributes to the value you need and inherit them with the use attribute to each object.

Please note: When editing objects using object templates using the web based editing functions the values configured in the template will be copied to the edited objects. From this time the values set in the object are not used anymore. It is not recommended to use the web editing frontend and template objects at the same time.

Example with all values which have to be set:

define template {
 name=generic-template
}
Value Default Description
name Template name (simple string without space - has to be unique within the map)
... All values which are available in the objects which inherit this template

Container (New in 1.7.1)

Example with major options:

define container {
  url="std_hello.php"
  x=200
  y=100
}
OptionDefaultDescription
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object.
url

The URL to load the contents of the container from. This can be given as simple filename, in this case script is loaded from the nagvis/userfiles/script directory. As alternative it is possible to configure absolute paths like e.g. /path/to/my/script.php or full URLs like e.g. http://127.0.0.1/my-script.php.

It is possible to add a set of parameters to the URL, it is up to the script to handle them.

x X axis coordinate. Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
wautoWidth of the textbox in px (pixels). Set to "auto" for auto scaling.
hautoHeight of the textbox in px (pixels). Set to "auto" for auto scaling.
view_type inline This option defines the way to render the image. Possible values are: "inline" an "iframe". Inline means the fetched contents are directly put in the a container object (innerHTML). When setting the value to iframe an iframe object is created to render the given URL in this iframe.
enable_refresh 0 Enabling this option activates regular updates for this object while being displayed in the frontend. This is only needed for contents which might change during showing the map.
background_color #C0C0C0 Background colour of the textbox. The colour should be given in hexcode. Can also be "transparent".
border_color #000000 Background colour of the textbox. The colour should be given in hexcode. Can also be "transparent".
style Custom styling for the text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;. It is applied to a "span" element, the container element which gets the contents of the requested url added.
use Comma separated list of object templates to use. For details see Template
z 5 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Script: std_lq.php (New in 1.7.1)

This script is delivered with NagVis. It can be used to list data fetched via livestatus on your maps to e.g. display lists of items or just raw numbers.

Please note: By default all queries get the current username added with the AuthUser livestatus filer. Resulting from this a user can only see the hosts and services he is a contact of. To change this behaviour you can customize (copy) the std_lq.php and change the setAuthUser to the following definition:

$setAuthUser = true;

To add the script to your maps you need to add std_lq.php with additional parameters to the url parameter in a container object. The parameters are given as URL parameters.

You have to call this script with at least two parameters:

backend_idThe id of the backend to use as configured in NagVis
queryThe livestatus query to execute (newlines must be given as \\n)

Optional parameters:

typeCustomize the way the resulting data is displayed

Example calls to this script:

Query a single cell as simple string:
std_lq.php?backend_id=live_1&query=GET hosts\\nLimit: 1\\nColumns: host_name\\n&type=cell
Query several columns from a single dataset. Resulting values are displayed separated by ", ":
std_lq.php?backend_id=live_1&query=GET hosts\\nLimit: 1\\nColumns: host_name address state\\n&type=row
Query one column from several datasets. Each cell found is displayed on a separate line:
std_lq.php?backend_id=live_1&query=GET hosts\\nLimit: 2\\nColumns: host_name\\n&type=column
Query several columns from several datasets and display them as a table:
std_lq.php?backend_id=live_1&query=GET hosts\\nLimit: 2\\nColumns: host_name state address\\n&type=list

Dynamic Group

Please note: Dynamic groups can only be used with livestatus backends.

This example creates a dynamic group named "My Dynamic Group" which engroups all services which have the name "CPU load". All used options have to be set (note that options already defined in the global section are optional):

define dyngroup {
 name=My Dynamic Group
 object_types=service
 object_filter=Filter: service_description = CPU load\n
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object.
name You can configure any name here, it is just a string to make the object identifyable for you.
object_types Controls which type of objects are used within the dynamic group. Can be set to either "host" or "service".
object_filter This is used in the livestatus queries belonging to this object to filter the member objects used in this dynamic group. You need to provide valid livestatus filter definitions here.
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. All host members of host groups with matching names found in all given backends will be added to the single host group object.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[dyngroup_name]: This macro stands for the object name.
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Maximum number of children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
recognize_services inherited (global) Defines if the services of the hosts affect the displayed state. If set to "1" a critical service on one of the host will result in a hostgroup state display as critical too. If set to "0" only the Nagios Host State (UP or DOWN) will be used and the services of the hosts will be ignored.
url URL where the Icon should link to. Default link is to the Nagios CGIs. Macros [dyngroup_name], [htmlcgi] and [htmlbase] are available. The value can be set to an empty string to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name]
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Aggregation

Please note: Aggregations can currently only be used with the "mkbi" backend.

This example creates an object showing the state of a Check_MK BI Aggregation which is named "Host localhost". All used options have to be set (note that options already defined in the global section are optional):

define aggr {
 name=Host localhost
 x=100
 y=200
}
Value Default Description
object_id Unique identifier of the object on the current map. Each object on the map needs to have an object_id. The object_id is built of alphanumeric signs of any length. When no object_id is given NagVis will generate one for the object.
name The name you configure here needs to match the name of the Check_MK BI Aggregation you like to show the state of.
x X axis coordinate(s). Take a look at the coordinate definition for details.
y Y axis coordinate(s). Take a look at the coordinate definition for details.
backend_id inherited (global) Backend-ID defined in Main Configuration file where NagVis should search for the object states. If this parameter is not given, the Backend which was set in global section of the map is taken. As of NagVis 1.8 it is possible to define a "," separated list of backends here to combine objects of several backends. All host members of host groups with matching names found in all given backends will be added to the single host group object.
context_menu inherited (nagvis.ini.php) Enable/Disable the context menu for this object.
context_templateinherited (nagvis.ini.php)Context template for this object.
hover_menu inherited (nagvis.ini.php) Enable/Disable the hover menu
hover_delay inherited (nagvis.ini.php) Delay of hover menu appearance in seconds
hover_template inherited (global) Hover template for this object
hover_timeout inherited (nagvis.ini.php) Hover menu ajax request timeout in seconds for this object
hover_url URL which should be displayed in hover menu instead of standard information. There are some macros available:
[aggr_name]: This macro stands for the object name.
hover_childs_show inherited (nagvis.ini.php) Enable/Disable displaying child objects
hover_childs_sort inherited (nagvis.ini.php) Sort method of child objects
hover_childs_order inherited (nagvis.ini.php) Order direction of child objects
hover_childs_limit inherited (nagvis.ini.php) Maximum number of children to be displayed. Set to -1 to disable the limit.
iconset inherited (global) Special iconset. Is inherited from global paragraph if not specified.
label_show inherited (global) Enable/Disable label for this object
label_text [name] Text of the label. Available macros: [name], [alias], [output]
label_x inherited (global) Label X-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_y inherited (global) Label Y-Position (with prefix + or - relative to the upper left corner of the icons, otherwise absolute position)
label_width inherited (global) Width of the label in px
label_background inherited (global) Background colour of the label. The colour should be given in hexcode. Can also be "transparent".
label_border inherited (global) Border colour of the labels. The colour should be given in hexcode. Can also be "transparent".
label_styleinherited (global)Custom styling for the label text. To be given like HTML style attribute contents. E.g. font-family:sans;font-weight:bold;
line_type inherited (global)Specifies the type of line when view_type=line. Valid values are:
"11" for lines with one arrow at the end of a line.
"10" for lines with two arrows pointing to each other in the middle of the line.
"12" for plain lines without arrow.
line_arrowinherited (global) This defines the arrows at the end of the line. At the moment this attribute is only being used for the lines between hosts on the automap. Possible values: forward, back, both, none.
line_widthinherited (global)This defines the width of the line in px when this object is being displayed as line.
recognize_services inherited (global) Defines if the services of the hosts affect the displayed state. If set to "1" a critical service on one of the host will result in a hostgroup state display as critical too. If set to "0" only the Nagios Host State (UP or DOWN) will be used and the services of the hosts will be ignored.
url URL where the Icon should link to. Default link is to the Check_MK BI Aggregation in Check_MK Web-GUI. Macros [aggr_name], [htmlcgi] and [htmlbase] are available. The value can be set to an empty string to disable the link.
url_target _self Target of the Icon link, this option adapts <a target=""> (_self is same window). Available macros: [name]
use Comma separated list of object templates to use. For details see template objects
view_type icon This option defines the type of view for this object. Possible values are: "icon" or "line". Before NagVis 1.4 you could change the view of an object by setting the line_type. Since NagVis 1.4 you need to set the view_type for changing icons to lines.
z 1 The z option defines the order of icons which are stacked on top of each other. The highest value will be displayed on top. The background image has the value of 0. So valid values should be above or equal 1. Note: To prevent conflicts with the header navigation you should keep this value below 100.

Variable Types

This chapter explains the different variable types used in the map configuration file.

Coordinates

The objects on the NagVis maps are positioned using coordinates. By default each coordinate is a single integer which defines the offset from the upper left corner of the map in px (Pixels).
The example below is a host object which is positioned 100px from the left and 100px from the top of the map:

define host {
 object_id=41790e
 host_name=localhost
 x=100
 y=100
}

It is possible to define multiple coordinates for one object. This is needed for drawing lines on the maps. One example of a line which starts at 100/100 and ends at 200/200:

define service {
 object_id=1dd76b
 host_name=localhost
 service_description=Interface eth0
 view_type=line
 line_type=10
 x=110,200
 y=110,200
}

When lines have one part (e.g. --->) there must be two coords set. When using lines with two (e.g. ---><---) parts it is possible to set two coordinates for direct lines or three coordinates to reposition the middle of the line to a custom place.

Since NagVis 1.6 it is possible to position objects depending on other objects. A relationship between two objects is defined from the "childs" view. This means the configuration needs to be done in the object which belongs to another object.
To define a relationship the coordinate is not given as integer anymore. Instead of the px offset the object_id of the parent object is used to define a relative position.

We adapt the examples above and give the start of the line a relative position to the host object:

define host {
 object_id=41790e
 host_name=localhost
 x=100
 y=100
}

define service {
 object_id=1dd76b
 host_name=localhost
 service_description=Interface eth0
 view_type=line
 line_type=10
 x=41790e,200
 y=41790e,200
}

With the configuration above the beginning of the line is attached to the host object and moved every time the host object is moved.

The above example does not result in exactly the same positions as the first example. The line beginning in the first example is 10px more to the left and 10px more to the bottom. To get that fixed it is possible to define an optional offset to the parent object.

Set the following coordinates to configure an offset of 10px in both directions:

x=41790e%+10,200
y=41790e%+10,200

It is also possible to set a negative offset by replacing the plus (+) sign with a minus (-) sign.

Exclude Regex (New in 1.6b4)

The exclude regular expressions can be used to filter out one or several members of objects. For example it is possible to filter out one specific service of a host, like in this simple example where the service "CPU load" is excluded:

define host {
  object_id=5932ab
  host_name=localhost
  x=123
  y=123
  exclude_members=CPU load
}
This was not a real regex but for example this regex would exclude all services starting with the string "DB_test"
exclude_members=^DB_test

The same is possible for hostgroups, servicegroups and so on.

Another more advanced task is to exclude just one service of one host from a hostgroup. This can be seen as a member element of a member. Let's exclude "CPU load" of the host "localhost".

define hostgroup {
  object_id=b5932a
  hostgroup_name=mygroup
  x=42
  y=23
  exclude_members=localhost~~CPU load
}

When excluding members of members you need to use the string "~~" as separator between the two expressions for matching the member name (host_name in this case) and the regex for the name of the members member (service description in this case).