Skip to content

API Reference

QueryRequestMessage

Plugin.QueryRequestMessage Query request Used for querying the client this is the "normal" check_nrpe message request. Associated response is 🇵🇾class:Plugin.QueryResponseMessage

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.QueryRequestMessage.Request

Modifier Type Key Description
optional int32 id
optional string target
required string command
optional string alias
repeated string arguments

QueryResponseMessage

Plugin.QueryResponseMessage Query response Used for querying the client this is the "normal" check_nrpe message request. Associated request is [QueryRequestMessage](#.Plugin.QueryRequestMessage)

Modifier Type Key Description
optional Header header
repeated Response payload

Response

Plugin.QueryResponseMessage.Response

Modifier Type Key Description
optional int32 id
optional string source
optional string command
optional string alias
repeated string arguments
required ResultCode result
repeated Line lines
optional bytes data

Line

Plugin.QueryResponseMessage.Response.Line

Modifier Type Key Description
required string message
repeated PerformanceData perf

ExecuteRequestMessage

Plugin.ExecuteRequestMessage Execute command request and response. Used for executing commands on clients similar to 🇵🇾class:Plugin.QueryRequestMessage but wont return Nagios check data Associated response is 🇵🇾class:Plugin.ExecuteResponseMessage

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.ExecuteRequestMessage.Request

Modifier Type Key Description
optional int32 id
required string command
repeated string arguments

ExecuteResponseMessage

Plugin.ExecuteResponseMessage

Modifier Type Key Description
optional Header header
repeated Response payload

Response

Plugin.ExecuteResponseMessage.Response

Modifier Type Key Description
optional int32 id
required string command
repeated string arguments
required ResultCode result
required string message
optional bytes data

SubmitRequestMessage

Plugin.SubmitRequestMessage Submit result request message. Used for submitting a passive check results. The actual payload (Request) is a normal 🇵🇾class:Plugin.QueryResponseMessage.Response. Associated response is 🇵🇾class:Plugin.SubmitResponseMessage

Modifier Type Key Description
optional Header header The header
required string channel
repeated Response payload

SubmitResponseMessage

Plugin.SubmitResponseMessage Submit result response message. Response from submitting a passive check results. Associated request is 🇵🇾class:Plugin.SubmitRequestMessage

Modifier Type Key Description
optional Header header
repeated Response payload

Response

Plugin.SubmitResponseMessage.Response

Modifier Type Key Description
optional int32 id
required string command
required Result result

EventMessage

Plugin.EventMessage Execute command request and response. Used for executing commands on clients similar to 🇵🇾class:Plugin.QueryRequestMessage but wont return Nagios check data Associated response is 🇵🇾class:Plugin.ExecuteResponseMessage

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.EventMessage.Request

Modifier Type Key Description
optional string event
repeated string arguments
repeated KeyValue data

Registry

Plugin.Registry Registration is an internal message. It is not used to submit checks or query status instead it is used so register modules, plug-ins, command. As well as query for them. The registry is a central component inside NSClient++ and this is the way to interact with the registry.

ItemType

Possible values Value Description
QUERY 1
COMMAND 2
HANDLER 3
PLUGIN 4
QUERY_ALIAS 5
ROUTER 6
MODULE 7
SCHEDULE 8
EVENT 9
ALL 99

Command

Possible values Value Description
LOAD 1
UNLOAD 2
RELOAD 3
ENABLE 4
DISABLE 5

Query

Plugin.Registry.Query

Modifier Type Key Description
optional string expression

Information

Plugin.Registry.Information

Modifier Type Key Description
optional string title
optional string description
repeated KeyValue metadata
optional string min_version
optional string max_version
optional bool advanced
repeated string plugin

KeyWordDescription

Plugin.Registry.KeyWordDescription

Modifier Type Key Description
required string parameter
optional string context
required string key
optional string short_description
optional string long_description

ParameterDetail

Plugin.Registry.ParameterDetail

Modifier Type Key Description
optional string name
optional string default_value
optional bool required
optional bool repeatable
optional DataType content_type
optional string short_description
optional string long_description
repeated KeyWordDescription keyword

FieldDetail

Plugin.Registry.FieldDetail

Modifier Type Key Description
optional string name
optional string short_description
optional string long_description

ParameterDetails

Plugin.Registry.ParameterDetails

Modifier Type Key Description
repeated ParameterDetail parameter
repeated FieldDetail fields

Schedule

Plugin.Registry.Schedule

Modifier Type Key Description
optional string id
optional string cron
optional string interval

RegistryRequestMessage

Plugin.RegistryRequestMessage

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.RegistryRequestMessage.Request

Modifier Type Key Description
optional int64 id
optional Registration registration
optional Inventory inventory
optional Control control

Registration

Plugin.RegistryRequestMessage.Request.Registration

Modifier Type Key Description
optional int32 plugin_id
required ItemType type
required string name
optional Information info
optional bool unregister
repeated string alias
repeated Schedule schedule

Inventory

Plugin.RegistryRequestMessage.Request.Inventory

Modifier Type Key Description
optional string plugin
repeated ItemType type
optional string name
optional bool fetch_all
optional bool fetch_information

Control

Plugin.RegistryRequestMessage.Request.Control

Modifier Type Key Description
required Command command
required ItemType type
optional string name
optional string alias

RegistryResponseMessage

Plugin.RegistryResponseMessage

Modifier Type Key Description
optional Header header
repeated Response payload

Response

Plugin.RegistryResponseMessage.Response

Modifier Type Key Description
optional int64 id
required Result result
optional Registration registration
repeated Inventory inventory
optional Control control

Registration

Plugin.RegistryResponseMessage.Response.Registration

Modifier Type Key Description
optional int32 item_id

Inventory

Plugin.RegistryResponseMessage.Response.Inventory

Modifier Type Key Description
repeated string plugin
required ItemType type
required string name
optional string id
optional Information info
optional ParameterDetails parameters
repeated Schedule schedule

Control

Plugin.RegistryResponseMessage.Response.Control

ScheduleNotificationMessage

Plugin.ScheduleNotificationMessage Schedule Notification commands Used when a schedule is executed

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.ScheduleNotificationMessage.Request A request message of a schule notification

Modifier Type Key Description
optional int64 id
required int32 plugin_id
optional Information info
optional Schedule schedule

Settings

Plugin.Settings Settings is an internal message. It is not used to submit checks or query status instead it is used to interact with the settings store. The settings is a central component inside NSClient++ and this is the way to interact with it.

Command

Possible values Value Description
LOAD 1
SAVE 2
RELOAD 3

Node

Plugin.Settings.Node

Modifier Type Key Description
required string path
optional string key
optional string value

Information

Plugin.Settings.Information

Modifier Type Key Description
optional string title
optional string description
optional string icon
optional string default_value
optional bool advanced
optional bool sample
optional bool is_template
optional string sample_usage
repeated string plugin
optional bool subkey

SettingsRequestMessage

Plugin.SettingsRequestMessage

Modifier Type Key Description
optional Header header
repeated Request payload

Request

Plugin.SettingsRequestMessage.Request

Modifier Type Key Description
optional int64 id
required int32 plugin_id
optional Registration registration
optional Query query
optional Update update
optional Inventory inventory
optional Control control
optional Status status

Registration

Plugin.SettingsRequestMessage.Request.Registration

Modifier Type Key Description
optional Node node
optional Information info
optional string fields

Query

Plugin.SettingsRequestMessage.Request.Query

Modifier Type Key Description
optional Node node
optional bool recursive
optional bool include_keys
optional string default_value

Update

Plugin.SettingsRequestMessage.Request.Update

Modifier Type Key Description
optional Node node

Inventory

Plugin.SettingsRequestMessage.Request.Inventory

Modifier Type Key Description
optional string plugin
optional Node node
optional bool recursive_fetch
optional bool fetch_keys
optional bool fetch_paths
optional bool fetch_samples
optional bool fetch_templates
optional bool descriptions

Control

Plugin.SettingsRequestMessage.Request.Control

Modifier Type Key Description
required Command command
optional string context

Status

Plugin.SettingsRequestMessage.Request.Status

SettingsResponseMessage

Plugin.SettingsResponseMessage

Modifier Type Key Description
optional Header header
repeated Response payload

Response

Plugin.SettingsResponseMessage.Response

Modifier Type Key Description
optional int64 id
required Result result
optional Registration registration
optional Query query
optional Update update
repeated Inventory inventory
optional Control control
optional Status status

Registration

Plugin.SettingsResponseMessage.Response.Registration

Query

Plugin.SettingsResponseMessage.Response.Query

Modifier Type Key Description
required Node node
repeated Node nodes

Update

Plugin.SettingsResponseMessage.Response.Update

Inventory

Plugin.SettingsResponseMessage.Response.Inventory

Modifier Type Key Description
required Node node
required Information info

Control

Plugin.SettingsResponseMessage.Response.Control

Status

Plugin.SettingsResponseMessage.Response.Status

Modifier Type Key Description
optional string context
optional string type
optional bool has_changed

LogEntry

Plugin.LogEntry LogEntry is used to log status information.

Modifier Type Key Description
repeated Entry entry

Entry

Plugin.LogEntry.Entry

Level

Possible values Value Description
LOG_TRACE 1000
LOG_DEBUG 500
LOG_INFO 150
LOG_WARNING 50
LOG_ERROR 10
LOG_CRITICAL 1
Modifier Type Key Description
required Level level
optional string sender
optional string file
optional int32 line
optional string message
optional int32 date

Storage

Plugin.Storage Storage Structure Disk

Entry

Plugin.Storage.Entry

Modifier Type Key Description
optional string context
optional string key
optional AnyDataType value
optional bool binary_data
optional bool private_data

Block

Plugin.Storage.Block

Modifier Type Key Description
optional string owner
optional int64 version
optional Entry entry

File

Plugin.Storage.File

Modifier Type Key Description
optional int64 version
optional int64 entries

StorageRequestMessage

Plugin.StorageRequestMessage Storeage Request Message Used to save/load data in the NSClient++ local storage

Modifier Type Key Description
repeated Request payload

Request

Plugin.StorageRequestMessage.Request

Modifier Type Key Description
optional int64 id
optional int32 plugin_id
optional Put put
optional Get get

Put

Plugin.StorageRequestMessage.Request.Put

Modifier Type Key Description
optional Entry entry

Get

Plugin.StorageRequestMessage.Request.Get

Modifier Type Key Description
optional string context
optional string key

StorageResponseMessage

Plugin.StorageResponseMessage Storeage Response Message Used to save/load data in the NSClient++ local storage

Modifier Type Key Description
repeated Response payload

Response

Plugin.StorageResponseMessage.Response

Modifier Type Key Description
optional int64 id
optional Result result
optional Put put
optional Get get

Put

Plugin.StorageResponseMessage.Response.Put

Modifier Type Key Description
optional string context
optional string key
optional string error

Get

Plugin.StorageResponseMessage.Response.Get

Modifier Type Key Description
repeated Entry entry