Plugin

Common

class Plugin.Common

Common utility types (re-used in various messages below)

ResultCode

A “nagios” status result.

Possible values Id
OK 0
WARNING 1
CRITICAL 2
UNKNOWN 3
DataType

Type of data fields. @deprecated in favour of checking which field is available.

Possible values Id
INT 1
STRING 2
FLOAT 3
BOOL 4
LIST 5
Version

Main protocol version used @deprecated Makes very little sense and should be removed

Possible values Id
VERSION_1 1

Nested messages

AnyDataType

class Plugin.Common.AnyDataType

Data type used to wrap “any” primitive type. Used whenever the type can change.

string_data

A optional value of type string

String payload

int_data

A optional value of type int64

Numeric integer payload

float_data

A optional value of type double

Numeric floating point payload

bool_data

A optional value of type bool

Boolean (true/false) payload

list_data

A repeated value of type string

A string (multiple lines are separated by list entries @todo: remove repeated modifier from this field.

KeyValue

class Plugin.Common.KeyValue

Key value pair

key

A required value of type string

The key identifying the value

value

A required value of type string

The value

data

A repeated value of type string

Optional extra fields to store various custom data

Host

class Plugin.Common.Host

Field identifying a host entry

id

A optional value of type string

A unique identifier representing the host in this message

host

A optional value of type string

The host name

address

A optional value of type string

The address (usually the ip)

protocol

A optional value of type string

The protocol used to talk whit this host.

comment

A optional value of type string

A comment describing the host

metadata

A repeated value of type message

A key value store with attributes describing this host. The content and use of this attributes are application defined.

tags

A repeated value of type string

A numer of tags defined for this host (can be used for routing purposes).

Attachment

class Plugin.Common.Attachment

Attachment is used to attach information to another request. This is usually used to send along additional information not directly relatedt to the request. Or send unstructured data which is not supported by the original request.

id

A optional value of type int64

Identifier of attachment (for reference purpouses)

type

A required value of type string

The mime type for this attachment.

metadata

A repeated value of type message

Meta data related to the attachment.

tags

A repeated value of type string

A list of tags associated with the attachment.

data

A required value of type string

The actual attachment (encoded)

PerformanceData

class Plugin.Common.PerformanceData
alias

A required value of type string

type

A required value of type enum

int_value

A optional value of type message

string_value

A optional value of type message

float_value

A optional value of type message

bool_value

A optional value of type message

Nested messages

IntValue

class Plugin.Common.PerformanceData.IntValue
value

A required value of type int64

unit

A optional value of type string

warning

A optional value of type int64

critical

A optional value of type int64

minimum

A optional value of type int64

maximum

A optional value of type int64

StringValue

class Plugin.Common.PerformanceData.StringValue
value

A required value of type string

FloatValue

class Plugin.Common.PerformanceData.FloatValue
value

A required value of type double

unit

A optional value of type string

warning

A optional value of type double

critical

A optional value of type double

minimum

A optional value of type double

maximum

A optional value of type double

BoolValue

class Plugin.Common.PerformanceData.BoolValue
value

A required value of type bool

unit

A optional value of type string

warning

A optional value of type bool

critical

A optional value of type bool

Status

class Plugin.Common.Status
StatusType
Possible values Id
STATUS_OK 0
STATUS_WARNING 1
STATUS_ERROR 2
STATUS_DELAYED 3
status

A required value of type enum

message

A optional value of type string

data

A optional value of type string

QueryRequestMessage

class Plugin.QueryRequestMessage

Query request Used for querying the client this is the “normal” check_nrpe message request. Associated response is Plugin.QueryResponseMessage

header

A required value of type message

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Nested messages

Request

class Plugin.QueryRequestMessage.Request
id

A optional value of type int32

target

A optional value of type string

command

A required value of type string

alias

A optional value of type string

arguments

A repeated value of type string

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

QueryResponseMessage

class Plugin.QueryResponseMessage

Query response Used for querying the client this is the “normal” check_nrpe message request. Associated request is Plugin.QueryRequestMessage

header

A required value of type message

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Nested messages

Response

class Plugin.QueryResponseMessage.Response
id

A optional value of type int32

source

A optional value of type string

command

A required value of type string

alias

A optional value of type string

arguments

A repeated value of type string

result

A required value of type enum

message

A required value of type string

data

A optional value of type bytes

perf

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

ExecuteRequestMessage

class Plugin.ExecuteRequestMessage

Execute command request and response. Used for executing commands on clients similar to Plugin.QueryRequestMessage but wont return nagios check data Associated response is Plugin.ExecuteResponseMessage

header

A required value of type message

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Nested messages

Request

class Plugin.ExecuteRequestMessage.Request
id

A optional value of type int32

command

A required value of type string

arguments

A repeated value of type string

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

ExecuteResponseMessage

class Plugin.ExecuteResponseMessage
header

A required value of type message

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Nested messages

Response

class Plugin.ExecuteResponseMessage.Response
id

A optional value of type int32

command

A required value of type string

arguments

A repeated value of type string

result

A required value of type enum

message

A required value of type string

data

A optional value of type bytes

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

SubmitRequestMessage

class Plugin.SubmitRequestMessage

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

header

A required value of type message

channel

A required value of type string

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

SubmitResponseMessage

class Plugin.SubmitResponseMessage

Submit result response message. Response from submitting a passive check results. Associated request is Plugin.SubmitRequestMessage

header

A required value of type message

payload

A repeated value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Nested messages

Response

class Plugin.SubmitResponseMessage.Response
id

A optional value of type int32

command

A required value of type string

status

A required value of type message

attachments

A repeated value of type message

The attachment is used to attach additional free form information.

Registry

class 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 Id
QUERY 1
COMMAND 2
HANDLER 3
PLUGIN 4
QUERY_ALIAS 5
ROUTER 6
MODULE 7
SCHEDULE 8
ALL 99
Command
Possible values Id
LOAD 1
UNLOAD 2
RELOAD 3

Nested messages

Query

class Plugin.Registry.Query
expression

A optional value of type string

Information

class Plugin.Registry.Information
title

A optional value of type string

description

A optional value of type string

metadata

A repeated value of type message

min_version

A optional value of type string

max_version

A optional value of type string

advanced

A optional value of type bool

plugin

A repeated value of type string

KeyWordDescription

class Plugin.Registry.KeyWordDescription
parameter

A required value of type string

context

A optional value of type string

key

A required value of type string

short_description

A optional value of type string

long_description

A optional value of type string

ParameterDetail

class Plugin.Registry.ParameterDetail
name

A optional value of type string

default_value

A optional value of type string

required

A optional value of type bool

repeatable

A optional value of type bool

content_type

A optional value of type enum

short_description

A optional value of type string

long_description

A optional value of type string

keyword

A repeated value of type message

ParameterDetails

class Plugin.Registry.ParameterDetails
parameter

A repeated value of type message

Schedule

class Plugin.Registry.Schedule
id

A optional value of type string

cron

A optional value of type string

interval

A optional value of type string

RegistryRequestMessage

class Plugin.RegistryRequestMessage
header

A required value of type message

payload

A repeated value of type message

Nested messages

Request

class Plugin.RegistryRequestMessage.Request
id

A optional value of type int64

registration

A optional value of type message

inventory

A optional value of type message

control

A optional value of type message

Nested messages

Registration

class Plugin.RegistryRequestMessage.Request.Registration
plugin_id

A optional value of type int32

type

A required value of type enum

name

A required value of type string

info

A optional value of type message

unregister

A optional value of type bool

alias

A repeated value of type string

schedule

A repeated value of type message

Inventory

class Plugin.RegistryRequestMessage.Request.Inventory
plugin

A optional value of type string

type

A repeated value of type enum

name

A optional value of type string

fetch_all

A optional value of type bool

fetch_information

A optional value of type bool

Control

class Plugin.RegistryRequestMessage.Request.Control
command

A required value of type enum

type

A required value of type enum

name

A optional value of type string

alias

A optional value of type string

RegistryResponseMessage

class Plugin.RegistryResponseMessage
header

A required value of type message

payload

A repeated value of type message

Nested messages

Response

class Plugin.RegistryResponseMessage.Response
id

A optional value of type int64

result

A required value of type message

registration

A optional value of type message

inventory

A repeated value of type message

control

A optional value of type message

Nested messages

Registration

class Plugin.RegistryResponseMessage.Response.Registration
item_id

A optional value of type int32

Inventory

class Plugin.RegistryResponseMessage.Response.Inventory
plugin

A repeated value of type string

type

A required value of type enum

name

A required value of type string

info

A optional value of type message

parameters

A optional value of type message

schedule

A repeated value of type message

Control

class Plugin.RegistryResponseMessage.Response.Control

ScheduleNotificationMessage

class Plugin.ScheduleNotificationMessage
header

A required value of type message

payload

A repeated value of type message

Nested messages

Request

class Plugin.ScheduleNotificationMessage.Request
id

A optional value of type int64

plugin_id

A required value of type int32

info

A optional value of type message

schedule

A optional value of type message

Settings

class 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 Id
LOAD 1
SAVE 2
RELOAD 3

Nested messages

Node

class Plugin.Settings.Node
path

A required value of type string

key

A optional value of type string

Query

class Plugin.Settings.Query
expression

A optional value of type string

Information

class Plugin.Settings.Information
title

A optional value of type string

description

A optional value of type string

default_value

A optional value of type message

min_version

A optional value of type string

max_version

A optional value of type string

advanced

A optional value of type bool

sample

A optional value of type bool

sample_usage

A optional value of type string

plugin

A repeated value of type string

SettingsRequestMessage

class Plugin.SettingsRequestMessage
header

A required value of type message

payload

A repeated value of type message

Nested messages

Request

class Plugin.SettingsRequestMessage.Request
id

A optional value of type int64

plugin_id

A required value of type int32

registration

A optional value of type message

query

A optional value of type message

update

A optional value of type message

inventory

A optional value of type message

control

A optional value of type message

status

A optional value of type message

Nested messages

Registration

class Plugin.SettingsRequestMessage.Request.Registration
node

A optional value of type message

info

A optional value of type message

Query

class Plugin.SettingsRequestMessage.Request.Query
node

A optional value of type message

query

A optional value of type message

recursive

A optional value of type bool

type

A optional value of type enum

default_value

A optional value of type message

Update

class Plugin.SettingsRequestMessage.Request.Update
node

A optional value of type message

value

A optional value of type message

Inventory

class Plugin.SettingsRequestMessage.Request.Inventory
plugin

A optional value of type string

node

A optional value of type message

query

A optional value of type message

recursive_fetch

A optional value of type bool

fetch_keys

A optional value of type bool

fetch_paths

A optional value of type bool

fetch_samples

A optional value of type bool

descriptions

A optional value of type bool

Control

class Plugin.SettingsRequestMessage.Request.Control
command

A required value of type enum

context

A optional value of type string

Status

class Plugin.SettingsRequestMessage.Request.Status

SettingsResponseMessage

class Plugin.SettingsResponseMessage
header

A required value of type message

payload

A repeated value of type message

Nested messages

Response

class Plugin.SettingsResponseMessage.Response
id

A optional value of type int64

result

A required value of type message

registration

A optional value of type message

query

A optional value of type message

update

A optional value of type message

inventory

A repeated value of type message

control

A optional value of type message

status

A optional value of type message

Nested messages

Registration

class Plugin.SettingsResponseMessage.Response.Registration

Query

class Plugin.SettingsResponseMessage.Response.Query
node

A required value of type message

value

A required value of type message

Update

class Plugin.SettingsResponseMessage.Response.Update

Inventory

class Plugin.SettingsResponseMessage.Response.Inventory
node

A required value of type message

info

A required value of type message

value

A optional value of type message

Control

class Plugin.SettingsResponseMessage.Response.Control

Status

class Plugin.SettingsResponseMessage.Response.Status
context

A optional value of type string

type

A optional value of type string

has_changed

A optional value of type bool

LogEntry

class Plugin.LogEntry

LogEntry is used to log status information.

entry

A repeated value of type message

Nested messages

Entry

class Plugin.LogEntry.Entry
Level
Possible values Id
LOG_DEBUG 500
LOG_INFO 150
LOG_WARNING 50
LOG_ERROR 10
LOG_CRITICAL 1
level

A required value of type enum

sender

A optional value of type string

file

A optional value of type string

line

A optional value of type int32

message

A optional value of type string

date

A optional value of type int32

comments powered by Disqus