NetSpyGlass Command Line Tools
this package installs Python module nsgcli
and two command line scripts: nsgcli
and nsgql
that
use it
Use script tools/build.sh
to build and tools/upload.sh
to push to pypi
Example of API call made by nsgcli
to nsg-api service:
-
System status
curl -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/v2/nsg/cluster/net/1/status
-
NSGQL
curl -d '{"targets": [{"format":"table", "nsgql":"select count(key) from alerts"}]}' -X POST -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/v2/query/net/1/data/
-
NSGGROK
Parse text with custom pattern
nsggrok --pattern "hello world of %{WORD:world_name}" text "hello world of Grok"
{
"world_name": "Grok"
}
Parse syslog message with built-in patterns
nsggrok log "<13>May 18 11:22:43 carrier sshd: SSHD_LOGIN_FAILED: Login failed for user 'root' from host '10.1.1.1'"
{
"sshUser": "root",
"index": "labdcdev-syslog-short",
"sshSrcIp": "10.1.1.1",
"logText": "SSHD_LOGIN_FAILED: Login failed for user 'root' from host '10.1.1.1'",
"prio": "13",
"logSyslogSeverityName": "notice",
"logSource": "carrier",
"logSyslogText": "<13>May 18 11:22:43 carrier sshd: SSHD_LOGIN_FAILED: Login failed for user 'root' from host '10.1.1.1'",
"logSyslogFacilityName": "user",
"logTimestamp": "2021-05-18T11:22:43.000Z",
"program": "sshd",
"logSyslogPriority": 13,
"timestamp": "May 18 11:22:43",
"logSyslogFacilityCode": 1,
"logSyslogSeverityCode": 5
}
-
Meraki API call
curl -G -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/v2/nsg/cluster/net/1/exec/api --data-urlencode 'region=world' --data-urlencode 'url=https://api.meraki.com/api/v1/organizations/626563298157920259/devices' --data-urlencode 'method=GET' --data-urlencode 'args=gap-meraki'
- Test connection to remote server
curl -G -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/v2/nsg/cluster/net/1/exec/connect --data-urlencode 'region=world' --data-urlencode 'args=10.210.24.112 9339 1000'
curl -G -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/v2/nsg/cluster/net/1/exec/set_log_level --data-urlencode 'region=world' --data-urlencode 'args=tme-server-15v io.grpc DEBUG'
- Send PING command to an agent
curl -L -H "X-NSG-Auth-API-Token:$NSG_API_TOKEN" $NSG_SERVICE_URL/apiv3/net/1/exec/ping/agent/vkhome?address=127.0.0.1