NXLog Agent Minder Public APIs
Counting agents
method + URI | description |
---|---|
|
return number of agents matching the specified |
request
response
|
Listing agents
method + URI | description |
---|---|
|
return IDs of agents matching the specified |
request
response
|
Agent information
method + URI | description |
---|---|
|
return information about agents matching the specified |
request
response
|
|
|
return information about agent with id |
request
response
|
Agent statistics
method + URI | description |
---|---|
|
return statistics of the agents matching the specified |
request
response
|
|
|
return statistics of the agent with id |
request
response
|
Agent commands
method + URI | description |
---|---|
|
execute an agent operation ( |
request
response
request
response
|
|
|
execute an operation ( |
request
response
request
response
|
Module information
method + URI | description |
---|---|
|
return info about module |
request
response
|
|
|
return info about module |
request
response
|
Module statistics
method + URI | description |
---|---|
|
return statistics of the |
request
response
|
|
|
return statistics of the |
request
response
|
Module commands
method + URI | description |
---|---|
|
execute an operation ( |
request
response
|
Deleting agents
method + URI | description |
---|---|
|
delete from the permanent data storage and forget when disconnecting the agents matching the specified |
request
response
|
|
|
delete the agent from |
request
response
|
Reading files
method + URI | description |
---|---|
|
retrieve the content of the file |
request for a UTF-8 file
response for a UTF-8 file
request for a non-UTF-8 file
response for a non-UTF-8 file
|
|
|
retrieve the content of the file |
request
response
|
Writing files
method + URI | description |
---|---|
|
put the content of the request body into the file |
request
response
|
|
|
put the content of the request body into the file |
request
response
|
Reading the internal log
method + URI | description |
---|---|
|
retrieve the content of the log file of the agents matching the specified |
request
response
|
|
|
retrieve the content of the log file of |
Reading the configuration
method + URI | description |
---|---|
|
retrieve the content of the config file of agents matching the specified |
request
response for a UTF-8 config
response for a non-UTF-8 config
|
|
|
retrieve the content of the config file of |
request
response
|
Writing the configuration
method + URI | description | ||
---|---|---|---|
|
put the content of the config file of agents matching the specified |
||
request
response
|
|||
|
put the content of the config file of |
||
request
response
|
Exporting agents
method + URI | description |
---|---|
|
return config files, keys and certificates of the agents matching the specified |
request
response
|
|
|
return config files, keys and certificates of the agent with id |
request
response
|
Reading agent state
method + URI | description |
---|---|
|
get the state ( |
request
response
|
|
|
get the state ( |
request
response
|
Templates and configurations overview
NXLog Agent Minder provides the opportunity to manage agent configuration in a modular manner. Administrators can define textual templates, and assign them to agents directly, or define configurations to combine multiple templates. API endpoints under /configs
and /templates
can be used to perform standard read, create, update and delete operations on both templates and configurations. Under /templates
, only operations concerning templates can be performed, and listing endpoints (/templates/ids
and /templates/names
) only list templates, while endpoints under /configs
only deal with configurations and list configurations.
Both templates and configurations are identified by UUIDv1 identifiers, and when assigning them to agents, the config-id
field works with both template & configuration ids.
NXLog Agent Minder executes validation steps when templates and configurations are posted, updated, assigned to agents, or used in auto-enroll rules. A template or configuration assigned to an agent or used in an auto-enroll rule is considered to be in use. Validation requirements differ based on usage. We do not expect all templates to be fully functional until they are about to be used, as they might be made parts of configurations. Modules and routes can be defined separately, but when a configuration containing them is about to be used, a complete validation is executed. This checks, among other things, that modules are used on paths consistently (each module used on a path is defined, and is in a position that matches it’s type), and an xm_admin
extension module is present, which specifies how the agent will connect to NXLog Agent Minder. It is therefore possible that a template can be posted successfully, but cannot be used for enrollment if complete validation fails.
Adding a new configuration template
When adding a new template, the comment
field is optional.
method + URI | description |
---|---|
|
add a new template |
request
response
|
Listing configuration template identifiers
method + URI | description |
---|---|
|
get a list of the uuids of templates NXLog Agent Minder currently stores |
request
response
|
Listing configuration template identifiers with names
method + URI | description |
---|---|
|
get a list of template uuids and corresponding names |
request
response
|
Retrieving a configuration template
method + URI | description |
---|---|
|
retrieve the content of the template based on it’s Uuid |
request
response
|
Updating a configuration template
For template updates, all three fields (name
, contents
and comment
) are optional, and only the fields present get updated. For template contents, the same parsing and validation steps are executed. In order to delete a comment, you can use the null
JSON value for the comment
field.
method + URI | description |
---|---|
|
update a template |
request
|
Removing a configuration template
method + URI | description |
---|---|
|
remove a template |
request
|
Adding a configuration
Configurations are named sets of template parts identified by an Uuid.
method + URI | description |
---|---|
|
add a configuration |
request
response
|
Listing existing configuration identifiers
method + URI | description |
---|---|
`GET BASE_API_URI/configs/ids |
List the identifiers of configurations. The optional |
request
response
|
Listing existing configuration identifiers with names
method + URI | description |
---|---|
`GET BASE_API_URI/configs/names |
list the identifiers and names of configurations. The optional |
request
response
|
Retrieving a configuration
method + URI | description |
---|---|
`GET BASE_API_URI/configs/:config_id |
return the configuration referenced by the given |
request
response
|
Retrieving a configuration’s contents
method + URI | description |
---|---|
`GET BASE_API_URI/configs/:config_id/contents |
return the contents of the configuration referenced by the given |
request
response
|
Updating a configuration
For the update operation, all three fields (name
, parts
, and comment
) are optional, and can be used together in any combination. Only the fields specified get updated. In order to delete a comment, you can use a null
JSON value.
method + URI | description |
---|---|
|
update an existing configuration |
request
|
Remove a configuration
method + URI | description |
---|---|
|
remove an existing configuration |
request
|
Enrolling agents
Enrolling agents is a complex procedure. It consists of the following steps:
-
generating connection configuration
-
generating client key
-
generating client certificate
-
pushing the connection configuration to the targeted agents set
-
pushing the client key to the targeted agent set
-
pushing the client certificate to the targeted agent set
-
pushing the CA certificate to the targeted agent set
-
restarting the targeted agent set
All of these steps are handled in the background by NXLog Agent Minder.
To enroll your agents you will need to provide enough information to generate a valid configuration. There are two ways to do this: you can either provide the connection mode and the apparent socket address (192.168.1.1:4041
in our examples) of your Minder instance, or use a pre-defined template or configuration.
If your agents already have a valid configuration this will overwrite that, effectively resetting the agent to a blank state. |
method + URI |
description |
|
enroll agents matching the specified |
request
response
|
|
|
enroll |
request
response
request
response
|
Automatic enrollment
Minder provides a way to automate agent enrollment. This is done by definining 'auto-enroll rules' that can be used to enroll agents either at their connection time, or when calling the /autoenroll
API endpoint. An auto-enroll rule has the following components:
-
name
-
filter
-
connection options
-
(optional) automatic flag
-
(optional) priority
-
(optional) comment
Here, filter is an MQL filter used to select the subset of agents that a particular auto-enroll rule applies to. Connection options is a set of options used to generate a configuration for the agent, identical to what is used in the /enroll
endpoint: it can either be a specification of connection options, or a config_id
of a configuration stored by Minder. Automatic flag decides if this auto-enroll rule should be used for agents at connection time (when set to true), or only when calling the /autoenroll
endpoint. Defaults to false. Priority is used to select the auto-enroll rule to apply when an agent matches the filters of multiple auto-enroll rules. It is a signed integer, and defaults to zero. Comment is an arbitrary text the user can provide to describe the rule.
If an agent is not enrolled during it’s connection process, an auto-enroll error will be recorded, providing a cause of failure. This information is accessible both in agent information (/agents
) and agent status (/agents/status
) endpoints, and it is deleted when the agent disconnects, or following a successful enrollment via other means (either the /enroll
or /autoenroll
endpoints). For example, if no automatic auto-enroll rule matches the agent, but there is at least one non-automatic one that does, the agent will report an auto-enroll error until the /autoenroll
endpoint is called.
Adding an auto-enroll rule
The config-id
field in enrollment options can refer to both templates and configurations.
method + URI |
description |
|
add an auto-enroll rule |
request
response
|
Updating an auto-enroll rule
To update an auto-enroll rule, only the fields to be updated need to be specified. In order to delete the comment, the null
JSON value can be used in the comment
field.
method + URI |
description |
|
update an auto-enroll rule |
request
response
|
Getting an auto-enroll rule
method + URI |
description |
|
retrieve an auto-enroll rule |
request
response
|
Deleting an auto-enroll rule
method + URI |
description |
|
delete an auto-enroll rule |
request
response
|
Listing auto-enroll rules
method + URI |
description |
|
lists the ids of currently defined auto-enroll rules |
request
response
|
|
|
lists the names and ids of currently defined auto-enroll rules as a JSON map |
request
response
|
Auto-enrolling agents
Calling the /agents/autoenroll
endpoint tryes to enroll agents with both automatic and non-automatic enroll rules. As with other endpoints under /agents/
, it allows the use of MQL filters with the ?filter
query parameter. In order for an agent to get enrolled with this method, both the filter provided in with the query parameter, and the filter used to define the auto-enroll rule needs to match the agent.
method + URI |
description |
|
attempts to auto-enroll agents matching the given filter |
request
response
|
Reading agent files synchronization state
method + URI | description |
---|---|
|
get the synchronization state of all tracked files of the agents matching the specified |
request
response
|
|
|
get the synchronization state of the all tracked files of |
request
response
|
Reading agent synchronized file contents variants
method + URI | description |
---|---|
|
get the contents variants of the file specified by |
request
response
|
|
|
get the contents variants of the file specified by |
request
response
|
Agent files synchronization issue resolution commands
method + URI | description |
---|---|
|
execute an synchronization issue resolve operation ( |
request
response
|
|
|
execute an synchronization issue resolve operation ( |
request
response
|
Getting agent comment
method + URI | description |
---|---|
|
retrieves UTF-8-encoded comment of the agents matching the specified |
request
response
|
|
|
retrieves UTF-8-encoded comment-8 of the agent |
request
response
|
Setting agent comment
method + URI | description |
---|---|
|
set UTF-8-encoded comment of agents matching the specified |
request
response
|
|
|
set UTF-8-encoded comment of agent |
request
response
|
Deleting agent comment
method + URI | description |
---|---|
|
delete UTF-8-encoded comment of agents matching the specified |
request
response
|
|
|
delete UTF-8-encoded comment of agent |
request
response
|
NXLog Agent Minder MQL Filter Syntax
Agents can be targeted individually or in sets using Minder Query Language (MQL).
MQL expressions search the connected agents using the attributes provided in their serverinfo
response data.
To apply a query to any HTTP endpoint described above, simply include it in the URI query filter
attribute.
The general format of a filter expression is as follows:
attribute operation literal
Expressions may be combined using the and
, or
, and not
operators and can be grouped with
parentheses. For example: name = agentname and not (os = Linux or digest like abcd%)
.
Literals may be grouped in lists with elements separated by commas and optionally delimited by
parentheses. For example: name = (agent-1, agent-2, agent-3)
returns the same agents as
name = agent-1 or name = agent-2 or name = agent-3
. Including the parentheses surrounding the list
items is a stylistic choice.
String literals may be delimited by double quotes or single quotes, however this is optional. Should a string literal not be delimited, whitespace, commas, and closing parentheses will terminate the string left unescaped with the backslash character. Should it be delimited, only a matching double quote or single quote left unescaped will terminate the string.
Should a literal be interpretable as an IP address, socket address, or IP network, it will
not work with string operations such as like or regex without being placed inside double or
single quotes.
|
String literals in a query are case-sensitive. |
All operations may be negated directly. For example: name not = agentname
works in place of
not name = agentname
. Furthermore, the not
keyword left in place of an operation expands to
not =
.
Supported Attributes
Attributes of most types may be coerced to strings such that you can use like and regex with them.
|
attribute | description | valid operations | example |
---|---|---|---|
uid |
The uid of the agent |
|
|
name |
The name of the agent |
|
|
ip |
The apparent IP address of the agent |
|
|
socket |
The agent’s remote socket address |
|
|
local_ip |
The IP address of the agent’s local socket |
|
|
local_socket |
The agent’s local socket address |
|
|
os |
The reported operating system of the agent |
|
|
version |
The NXLog Enterprise Edition agent’s version number |
|
|
network |
The apparent network the agent is part of (exact match only) |
|
|
module |
The canonical name of the module |
|
|
label |
The name and value of the label provided by the agent. See the examples for details |
|
|
state |
The state of the agent ( |
|
|
status |
The status of the agent, one of ( |
|
|
digest |
The agent’s certificate sha256 digest formatted as lowercase hex |
|
|
synced |
The agent’s synchronization status. Set to |
|
|
config_id |
The id of the agent’s assigned templated configuration |
|
|
config_synced |
If the agent has an assigned config, and it matches with the version Minder stores, then it is set to |
|
|
online |
The agent’s online availability status. Set to |
|
|
persist |
The agent’s persistence status. Persistence means that the agent has a persistent uid and is retained in the inventory if disconnected. It is set when the |
|
|
enrolled |
The agent’s enrollment flag status. It is set when the enrollment operation is invoked. Set to |
|
|
add_time |
Time when the agent was added to NXLog Agent Minder. Can be compared to time literals in one of the supported formats (see below). |
|
|
connect_time |
Time of the agent’s most recent connection. Can be compared to time literals in one of the supported formats (see below). |
|
|
enroll_time |
Time when the agent was enrolled. Can be compared to time literals in one of the supported formats (see below). |
|
|
persist_time |
Time when the agent was persisted. Can be compared to time literals in one of the supported formats (see below). |
|
|
poll_time |
Time when the agent was last polled. Can be compared to time literals in one of the supported formats (see below). |
|
|
start_time |
Time when the agent started. Can be compared to time literals in one of the supported formats (see below). |
|
|
memory_used |
The agent’s memory consumption at it’s latest poll. Can be compared to integer literals (see below). |
|
|
cpu_load |
The agent’s CPU consumption at it’s latest poll. Can be compared to float literals (see below). |
|
|
events_per_second |
Events processed by all of the agent’s modules per second at it’s latest poll. Can be compared to float literals (see below). |
|
|
Supported Operations
=
-
Checks for an exact equality
<
,>
,<=
,>=
-
Relative comparisons: less than, greater than, less than or equal, greater than or equal. They work with time- and numeric literals.
like
-
Checks for a match with a string pattern similar to that of SQL. An unescaped
_
will act as a wildcard and allow any character. An unescaped%
will allow any number of any character. This may be used to check whether an attribute starts with, ends with, or contains a pattern. regex
-
Checks for a regex match
in
-
Checks whether the attribute is in a given container. This allows you to check whether an attribute is found in a list of literals eg.
name in (agent-1, agent-2)
, but it also allows searching within networks eg.ip in 192.168.1.0/24
.
NXLog Agent Minder Pagination query parameters
All endpoints that support setting a filter for agent filtering also allow the use the pagination query parameters. Both offset-based and cursor-based pagination approaches are supported.
Cursor-based pagination is applied first, using from
, after
, to
and before
parameters.
Note that cursor-based pagination is applied before filtering with the MQL filter.
Therefore, the result may not include entries specified by from
or to
parameters.
After that, filtering is applied to the result of cursor-based pagination.
Finally, the offset-based pagination is applied using offset
and limit
parameters to the result of cursor-based pagination and filtering.
The following parameters are supported:
parameter | value type | description | example | agents returned | conflicts with |
---|---|---|---|---|---|
from |
Uuid |
The first agent that will not be skipped. |
|
|
after |
after |
Uuid |
The last agent to be skipped. |
|
|
from |
to |
Uuid |
The last agent to be returned. |
|
|
before |
before |
Uuid |
The first agent to not be returned. |
|
|
to |
offset |
Integer |
The number of agents to be skipped. |
|
|
— |
limit |
Integer |
The maximum number of agents to return. |
|
|
— |
An error is returned if:
-
from
andafter
parameters used at same time; -
to
andbefore
parameters used at same time; -
the agent specified by
from
,after
,to
andbefore
is not found; -
the agent specified by
from
orafter
is ordered after the agent specified byto
orbefore
.
Complex pagination query examples
Request without pagination:
curl -k -sS -G 'https://minder-server:8080/api/v0.5/agents/ids'
Response:
[
"03099bc5-6736-45c3-b3ba-aeabba48f78b",
"16efab6f-afad-478c-8775-ab6a328735d1",
"2844aa0c-2462-4bf6-aff5-a1c19424a92d",
"3343dd26-18fb-44b2-9a27-3b74170e1969",
"36a55a89-f96d-4c5f-8cd4-23907329a41e",
"433a2dab-c0af-4ddd-978a-1649d945afaa",
"4fdf4c8d-45e2-4c28-907a-c1a01a79080d",
"62cd0679-ae5e-4da3-ab4e-38a50d9edfaf",
"67e89f41-847d-4b2d-b37b-74ce30a01273",
"85dcdacd-bd83-4595-b899-c82eb2721f92",
"95cd7932-6ed0-409b-8cfc-8cec7872043e",
"a74813d2-a1f7-460c-9a8b-ee1013c8e488",
"d444e7ca-423c-4a88-9f94-8ce2f6075943",
"e46d00d2-6c69-48fd-b756-3ab394d90c65",
"e58edfa1-93b4-4e64-962b-10ac66fe9272",
"e8bec679-aed5-4cb1-a3a9-8df704561e5a"
]
Request with cursor-based pagination:
curl -k -sS -G 'https://minder-server:8080/api/v0.5/agents/ids?from=2844aa0c-2462-4bf6-aff5-a1c19424a92d&before=a74813d2-a1f7-460c-9a8b-ee1013c8e488'
Response:
[
"2844aa0c-2462-4bf6-aff5-a1c19424a92d",
"3343dd26-18fb-44b2-9a27-3b74170e1969",
"36a55a89-f96d-4c5f-8cd4-23907329a41e",
"433a2dab-c0af-4ddd-978a-1649d945afaa",
"4fdf4c8d-45e2-4c28-907a-c1a01a79080d",
"62cd0679-ae5e-4da3-ab4e-38a50d9edfaf",
"67e89f41-847d-4b2d-b37b-74ce30a01273",
"85dcdacd-bd83-4595-b899-c82eb2721f92",
"95cd7932-6ed0-409b-8cfc-8cec7872043e"
]
Request with cursor-based and offset-based pagination:
curl -k -sS -G 'https://minder-server:8080/api/v0.5/agents/ids?from=2844aa0c-2462-4bf6-aff5-a1c19424a92d&to=a74813d2-a1f7-460c-9a8b-ee1013c8e488&offset=3&limit=4'
Response:
[
"433a2dab-c0af-4ddd-978a-1649d945afaa",
"4fdf4c8d-45e2-4c28-907a-c1a01a79080d",
"62cd0679-ae5e-4da3-ab4e-38a50d9edfaf",
"67e89f41-847d-4b2d-b37b-74ce30a01273"
]
Supported time formats
All examples in this section represent the time 1 Jul 2003 08:52:37 GMT
.
Time literals that contain spaces (eg. Tue, 1 Jul 2003 10:52:37 +0200 ) need to be placed
inside single or double quotes.
|
ASN.1
-
These take the form of
YYMMDDhhmm[ss]Z
orYYYYMMDDhhmm[ss]Z
where the letter 'Z' indicates UTC time. Examples are030701085237Z
and20030701085237Z
, respectively.Currently ASN.1
times with time zone offsets other thanZ
are not supported. RFC3339
-
These take the form of
{YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}Z
or{YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}+{hh}:{mm}
. Here, the letter 'Z' indicates UTC time, which can be replaced with a relative offset of hours and minutes. Examples are2003-07-01T08:52:37Z
and2003-07-01T10:52:37+02:00
, respectively. RFC2822
-
These take the form of
Day, [D]D Mon YYY hh:mm:ss TZ
orDay, [D]D Mon YYY hh:mm:ss +hhmm
. Here,TZ
represents the time zone (for exampleGMT
), which can be replaced by an explicit offset of hours and minutes. Examples are'Tue, 1 Jul 2003 08:52:37 GMT'
or'Tue, 1 Jul 2003 10:52:37 +0200'
, respectively.
Supported numeric literals
MQL supports numeric literals with suffixes in in
expressions and comparison operations. The following suffixes are supported.
k
-
kilo:
1.5k
equals1500
M
-
mega:
1.5M
equals1500000
G
-
giga:
1.5G
equals1500000000
%
-
percent:
50%
equals0.5
Some attributes can only be compared to integer literals (eg. memory_used
), while others expect float literals (eg. cpu_load
).
NXLog Agent Minder Enrollment Request Format
field | description | format |
---|---|---|
certificate |
optional parameters for agent’s certificate generation |
see description of the |
connection |
mandatory connection options of the agent |
see description of the |
confdir-path |
optional path to the |
string containing path to the |
certdir-path |
optional path to the |
string containing path to the |
extra-params |
optional collection of additional |
object with keys representing additional parameter names and values representing parameter values; note that the values are saved as is and no quotation is added |
extra-ro-acls |
optional collection of additional read-only ACLs. |
object with keys representing ACL names and values representing ACL |
extra-wo-acls |
optional collection of additional write-only ACLs. |
object with keys representing ACL names and values representing ACL |
extra-rw-acls |
optional collection of additional ACLs with both read and write access. |
object with keys representing ACL names and values representing ACL |
extra-labels |
optional collection of additional labels. |
object with keys representing label names and values representing label values; note that the values are saved as is and no quotation is added |
field | description | format |
---|---|---|
common-name |
optional common name ( |
string; agent’s hostname is used if this field is unspecified or |
country |
optional country ( |
string containing two-letter country code; country ( |
state |
optional state ( |
string; state ( |
locality |
optional locality ( |
string; locality ( |
organization |
optional organization ( |
string; organization ( |
organization-unit |
optional organization unit ( |
string; organization unit ( |
not-before |
optional |
string containing time in ASN.1, RFC3339 or RFC2822 format; |
not-after |
optional |
string containing time in ASN.1, RFC3339 or RFC2822 format; |
serial |
optional |
non-negative integer; randomly generated value is used if this field is unspecified or |
encrypt_key |
optional controls whether to encrypt agent’s private key (with a randomly generated password) |
boolean; agent’s private key is unencrypted if this field is unspecified |
connection
objectaddress
and addresses
are mutually exclusive, only one of them needs to be specified.
field | description | format |
---|---|---|
mode |
mandatory connection mode of the agent |
either "connect" or "listen" string |
address |
address to establish outgoing connection to or listen for incoming connections on |
string containing NXLog Agent Minder’s IP address or hostname and agent management port in "ADDRESS:PORT" format |
addresses |
Multiple addresses. Agents will try to connect to them in the specified order, and use the remaining ones as fallback. Can only be used with |
vector of strings containing IP addresses or hostnames and agent management ports in "ADDRESS:PORT" format |
Minimal Enrollment Request Examples
{
"connection": {
"mode": "connect",
"address": "192.168.1.1:4041"
}
}
{
"connection": {
"mode": "connect",
"addresses": ["test.example.com:4043", "[::1]:4041", "127.0.0.1:4041"]
}
}
Full Enrollment Request Example
{
"certificate": {
"common-name": "agent",
"country": "US",
"state": "CA",
"locality": "San-Francisco",
"organization": "NXLog",
"organization-unit": "Dev",
"not-before": "20200101000000Z",
"not-after": "20201231235959Z",
"serial": 128
},
"connection": {
"mode": "connect",
"address": "192.168.1.1:4041"
},
"extra-params": {
"ReversionTimeout": "10"
},
"extra-ro-acls": {
"ro-acl": "\"/var/ro\""
},
"extra-wo-acls": {
"wo-acl": "\"/var/wo\""
},
"extra-rw-acls": {
"rw-acl1": "\"/var/rw1\"",
"rw-acl2": "\"/var/rw2\""
},
"extra-labels": {
"first": "\"foo\"",
"second": "\"bar\""
}
}
Prometheus Metrics
Minder exposes Prometheus
metrics on BASE_API_URI/metrics
endpoint.
Minder provides 11 metrics for itself, 2 global metrics about agents, 13 metrics per agent and 4 metrics per module.
To get the number of data series (\(C_t\)) in the metrics store one would multiply the number of minder instances (\(C_m\)) by \(11+2\), then add the number of agents (\(C_a\)) multiplied by 13 and the number of modules (\(C_m'\)) multiplied by 4.
In a concrete example, where a single minder instance serves 100 agents what have 2 modules each:
This comes to 2213 time series.
Metrics endpoint uses the same credentials as all other API endpoints!
metric | labels | description |
---|---|---|
minder_cpu_load |
- |
CPU load of the minder |
minder_memory_usage |
- |
Memory usage of the minder |
minder_requests |
- |
Total amount of requests to the minder’s API |
minder_response_time |
- |
Histogram of response times of the minder’s API |
minder_errors |
- |
Total amount of errors returned by the minder’s API |
agents |
- |
Total amount of agents connected |
agents_connect |
- |
Amount of agents connected in 'connect' mode |
agents_listen |
- |
Amount of agents connected in 'listen' mode |
agent_state |
|
Agent’s state: |
agent_requests |
|
Total amount of requests to the agent |
agent_response_time |
|
Histogram of response times of the agent |
agent_transport_errors |
|
Total amount of transport errors while communicating with the agent |
agent_cpu_load |
|
load of the agent as in RFC546 |
agent_memory_usage |
|
Memory usage of the agent |
module_events_received |
|
Total amounts of the events received by the module of the agent |
module_events_dropped |
|
Total amount of the events dropped by the module of the agent |
module_events_forwarded |
|
Total amount of the events forwarded by the module of the agent |
module_queue_size |
|
Queue size of the module of the agent |