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'
- Set log level
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