Retrieve info about nodes
GET https://{controlplane_path}/api/1/rest/public/snaplex/{env_org}?{query_parameters}
- If only
plex_pathis specified, it retrieves information about all the nodes in the Snaplex. - If both
plex_pathandhostnameare specified, it retrieves information about that specific node.
Prerequisites
- Environment (Org) admin permissions
Path parameters
| Key | Description |
|---|---|
controlplane_path |
Required. The path to the SnapLogic control plane:
elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic. For
example:
|
env_org |
Required. The name of the SnapLogic environment/Org.
For example, My-Dev-Env |
Query parameters
| Key | Type | Description |
|---|---|---|
plex_path |
string |
The path to the Snaplex.
The path comparison is case-sensitive.
Format: Default: All Snaplexes. |
hostname |
string | A single JCC node path or a comma-separated list of JCC node paths.
Default: All JCC nodes. Example: |
Request header
In the request header, specify Basic for authorization, add your credentials (Login and password of your SnapLogic user or service account), and specify application/json for content type.
For more details on accounts refer to Manage accounts.
Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
Example of Basic authentication using Postman
When using JWT authentication, the API requests includes specific headers. In the
request header, specify Bearer Token for authorization, add the token,
and specify application/json for content type. These headers are
automatically added when you configure bearer token authentication in your API client.
The authorization header contains the word Bearer followed by a
space and your JWT token.
Authorization: Bearer Token {token}
Content-Type: application/json
Example of JWT authenthication using Postman
Request body
None.
Response
{
"response_map": {
"/myEnvOrg/path/to/snaplex": {
"plex_info": { ... },
"cc_info": { ... }
}
},
"http_status_code": 200
}
plex_info
"plex_info": {
"org": "/myEnvOrg",
"location": "myLocation",
"environment": "myEnv",
"min_jcc": 1,
"container_type": "regular",
"class_version": 3,
"class_id": "com-snaplogic-snaplex",
"class_fqid": "com-snaplogic-snaplex_3",
"pkg_version": "4.34_rc-19616",
"notification": {
"recipients": ""
},
"disabled_notification": null,
"reserved_slots": 15,
"max_slots": 2000,
"max_mem": 85,
"jcc_load_balancer": "",
"feed_master_load_balancer": "",
"node_settings": {
"published": {
"heap": {
"max_size": "auto"
},
"jetty_host": "0.0.0.0",
"jetty_port": 8090,
"cc_secure_port": null,
"http": {
"proxyHost": "",
"proxyPort": null
},
"https": {
"proxyHost": "",
"proxyPort": null
},
"nodes": [ ... ]
},
"extra": [ ... ]
},
"node_settings_fp": "...",
"dynamic_settings": {
"log": {
"level": "debug",
"max_file_size": "300 MB",
"main_backup_count": 40,
"error_backup_count": 5,
"access_backup_count": 5
}
},
"restart_max_waiting_time": 15,
"instance_id": "...",
"load_avg_duration": 1,
"plexfs_min_free": 25,
"plexfs_retention_time": 14,
"restart_request_time": "",
"restart_request_user": "",
"queue_size": 50,
"label": "myPlexLabel",
"snode_id": "...",
"path": "/myEnvOrg/path/to/snaplex",
"runtime_path_id": "myEnvOrg/rt/cloud/myEnv",
"perms": [
"A",
"X",
"W",
"R"
],
"owner": "[email protected]",
"org_snode_id": "...",
"lease_info": { ... },
"time_leased": null,
"time_created": "2023-03-08T20:11:08.346000+00:00",
"time_updated": "2023-08-03T19:02:23.598000+00:00",
"jcc_count": 2,
"fm_count": 2
},
| Key | Type | Description |
|---|---|---|
org |
string | The name of the SnapLogic Environment/Org that the Snaplex belongs to, prefixed with /. |
location |
string | The location of the Snaplex. |
environment |
string | The environment of the Snaplex. |
min_jcc |
string | The minimum number of JCC nodes in the Snaplex. |
container_type |
string | The type of container (JCC node). |
class_id |
string | The identifier of the Snaplex. |
class_fqid |
string | The fully-qualified ID of a Snaplex.
Format: |
class_version |
integer | The version of the Snaplex schema. Three is the up-to-date version. |
pkg_version |
string | The SnapLogic package version that is installed in the Snaplex. |
notification |
string | A comma-separated list of email addresses to send notifications to. |
disabled_notification |
string | Notifications are not sent when disabled. |
reserved_slots |
string | The percent of slots to reserve for interactively executed pipelines. |
max_slots |
string | The maximum number of slots available on the Snaplex nodes. |
max_mem |
string | The maximum percent of memory that can be in use on the Snaplex nodes before they are considered overloaded. |
feed_master_load_balancer |
string | The URL to the FeedMaster nodes which serves as the Load Balancer (Ultra Load Balancer in the UI). |
jcc_load_balancer |
string | The URL to the JCC node which serves as the load balancer. |
node_settings » published |
object |
|
node_settings |
array | The settings for the nodes in the Snaplex. |
node_settings_fp |
string | Fingerprint of the JCC configuration. |
dynamic_settings » log |
object |
|
restart_max_waiting_time |
integer | The maximum waiting time for a JCC restart if a pipeline is running. |
instance_id |
string | Instance id of the Snaplex in the database. |
load_avg_duration |
string | The average load duration before scaling occurs. |
plexfs_min_free |
integer | The minimum amount of free space, in megabytes, that must be available in PlexFS for a reliable execution to proceed. |
plexfs_retention_time |
string | The number of days to retain files in PlexFS. |
restart_request_time |
string | Time when restart is requested. |
restart_request_user |
string | User who requested Snaplex restart. |
queue_size |
string | The maximum number of pipelines that can be queued up for the Snaplex. |
label |
string | The name of the Snaplex. |
snode_id |
string | snode id of the Snaplex in the database. |
path |
string | The path to the Snaplex. |
runtime_path_id |
string | Runtime path id of the Snaplex in the database, which is used to run tasks and pipelines. |
perms |
array | An array containing one or more of the following permissions:
Learn more: Permissions in Manager and in APIs |
owner |
string | The email address of the Snaplex owner. |
org_snode_id |
string | The ID of the Snaplex node that hosts the Environment/Org of the pipeline. |
lease_info |
object | Information about the Snaplex lease, if applicable. |
time_leased |
datetime | The date and time the Snaplex was leased, if applicable, in UTC format. |
time_created |
datetime | The date and time the Snaplex was created, in UTC format. |
time_updated |
datetime | The date and time of the last version update to the Snaplex, in UTC format. |
jcc_count |
integer | The number of JCC nodes in the Snaplex. |
fm_count |
integer | The number of FeedMasters in the Snaplex. |
cc-info
"cc_info": {
"running": [ ... ],
"down": [ ... ],
"label": "...",
"runtime_path_id": "...",
"snode_id": "...",
"instance_id": "...",
"path": "...",
"owner": "[email protected]",
"container_type": "regular",
"time_created": "...",
"time_updated": "...",
"jcc_count": 0,
"fm_count": 0,
"location": "...",
"max_slots": "...",
}
| Key | Type | Description |
|---|---|---|
running |
array | All the containers that were running when the API request was made. Each item in the list is a map containing more details about the container (JCC node). |
down |
array | All the JCC nodes that were down and not processing requests when the API request was made. Each item in the list is a map containing more details about the container. For example, a message is returned under alerts if your Snaplex version is deprecated and needs to be updated. |
label |
string | The name of the Snaplex. |
runtime_path_id |
string | Runtime path id of the Snaplex in the database, which is used to run tasks and pipelines. |
snode_id |
string | snode id of the Snaplex in the database. |
instance_id |
string | Instance id of the Snaplex in the database. |
path |
string | The path to the Snaplex. |
owner |
string | The email address of the JCC node owner. |
container_type |
string | The type of container (JCC node). |
time_created |
datetime | The date and time the JCC node was created, in UTC format. |
time_updated |
datetime | The date and time of the last version update to the JCC node, in UTC format. |
jcc_count |
integer | The number of JCC nodes in the Snaplex. |
fm_count |
integer | The number of FeedMasters in the Snaplex. |
location |
string | The location of the Snaplex. |
max_slots |
string | The maximum number of slots available on the Snaplex nodes. |
JCC node details
Each JCC node object contains the following fields:
{
"stats": {
"cpu_user": 1,
"cpu_util": 0,
"disk_free": 53.18,
"mem_used": 4,
"mem_used_absolute": 922605376,
"alive_since": 1609459200000,
"cc_cpu_total": 4,
"cc_mem_total": 16.0,
"active_threads": 320,
"leased_slots": 5,
"open_file_descriptors": 250,
"max_file_descriptors": 65536,
"disk_info": [
{
"name": "/",
"type": "ext4",
"capacity": 107374182400,
"free": 64424509440
}
],
"disk_total": 100.0,
"mem_pool": { ... },
"plexfs_stats": { ... },
"system_load_average": 0.5,
"neighbor_stats": { ... },
"net_recv": 5.2,
"net_sent": 3.8,
"net_duration": 60,
"active_pipelines": 3
},
"performance": {
"eops_cpu": 7200000.0,
"eops_wall": 6900000.0
},
"cc_load": {
"stats": {
"cpu_user": 0.04,
"mem_used": 0.12,
"active_threads": 320,
"open_file_descriptors": 250,
"system_load_average": 0.5,
"active_pipelines": [ ]
},
"time_stamp": "2024-01-15T10:30:00.000000+00:00",
"slots_in_use": 325
}
}
| Key | Type | Description |
|---|---|---|
stats.cpu_user |
integer | The JCC process CPU utilization as a percent. |
stats.cpu_util |
integer | The system CPU utilization as a percent. |
stats.disk_free |
number | The amount of usable disk space available on the root filesystem, in gigabytes. |
stats.mem_used |
integer | The JCC process memory utilization as a percent. |
stats.mem_used_absolute |
integer | The amount of physical memory consumed by the JCC process, in bytes.
Example: |
stats.alive_since |
integer | The timestamp when the JCC node was started, in Unix time (milliseconds).
Example: |
stats.cc_cpu_total |
integer | The total number of CPU cores on the JCC node. |
stats.cc_mem_total |
number | The total amount of memory on the JCC node, in gigabytes. |
stats.active_threads |
integer | The total number of active threads running in the JCC process. |
stats.leased_slots |
integer | The number of slots currently leased for pipeline execution. |
stats.open_file_descriptors |
integer | The number of file descriptors currently in use by the JCC process. |
stats.max_file_descriptors |
integer | The maximum number of file descriptors available to the JCC process. |
stats.disk_info |
array | Information about disk volumes on the node, including name, type, capacity, and free space.
Example: |
stats.disk_total |
number | The total disk space on the root filesystem, in gigabytes. |
stats.mem_pool |
object | JVM memory pool information for heap and non-heap areas. |
stats.plexfs_stats |
object | PlexFS statistics including usage and available space. |
stats.system_load_average |
number | The system load average over the last minute. A value of -1.0 indicates the metric is unavailable on Windows systems. |
stats.neighbor_stats |
object | Connectivity statistics for neighboring JCC nodes. |
stats.net_recv |
number | The amount of network data received per second, in megabytes. |
stats.net_sent |
number | The amount of network data sent per second, in megabytes. |
stats.net_duration |
number | The duration in seconds over which network statistics were collected. |
stats.active_pipelines |
integer | The number of pipelines currently executing on this JCC node. |
performance |
object | Performance benchmarking metrics for expression operations. |
performance.eops_cpu |
number | Expression Operations Per Second measured in CPU time.
Example: |
performance.eops_wall |
number | Expression Operations Per Second measured in wall-clock time.
Example: |
cc_load.stats.cpu_user |
number | The JCC process CPU utilization expressed as a decimal between 0.0 and 1.0.
Example: |
cc_load.stats.mem_used |
number | The JCC process memory utilization expressed as a decimal between 0.0 and 1.0.
Example: |
cc_load.stats.active_threads |
integer | The total number of active threads running in the JCC process. |
cc_load.stats.open_file_descriptors |
integer | The number of file descriptors currently in use by the JCC process. |
cc_load.stats.system_load_average |
number | The system load average over the last minute. |
cc_load.stats.active_pipelines |
array | Array of runtime UUIDs for pipelines currently executing on this JCC node. |
cc_load.time_stamp |
string | The timestamp when the cc_load statistics were last updated by the JCC node, in UTC format.
Example: |
cc_load.slots_in_use |
integer | The number of slots currently in use on this JCC node. |