nsa
Nimsoft Script Agent

The Nimsoft Script Agent (nsa) is a Lua-based scripting platform. The nsa is meant to be used as a tool for system integration, reporting, on-site enhancements allowing for direct integration with NMS, ADO, SNMP and basic system and network functions. It requires no run-time environment (not even NMS), and contains all the functionality within a single binary.

The user may encrypt sensitive data (like NMS or database login passwords) and incorporate this into the script(s).

The package is installed by dropping it onto the target Robot(s) in the Infrastructure Manager, and installs to the SDK directory under the Nimsoft root directory.

Installation notes

Drop the package onto your Nimsoft Robot, and look for the files in the SDK directory.

Revision history
Date Description State Version
01.02.2024

What's New:

  • Two new optional parameters "hostname" and "hostip" are introduced in function "qos_metric" as below to provide support to generate different devid. It would not impact any backward compatibility.
    qos_metric ( QosName, Source, Target, Value, MetricValue, Interval, MaxValue, hostname, hostip )
  • New function "alarm_metric" introduced to view NSA alarms in the Operator Console.
    alarm_metric (severity, qosname, source, Target, suppkey, MetricValue, message, hostname, hostip, subsystem )

Note: For the same target, we get the same metid and it is not related to source. If devid also needs to be changed, we need to add hostname and hostip parameters. This changes the devid and thereby the metid.

Upgraded the following Libraries:

  • MariaDB-connector-c 2.3.7 to 3.3.3
  • lua 5.4.3 to 5.4.6
  • OpenSSL 1.1.1o to 3.0.12
  • Net-SNMP 5.9.1 to 5.9.4
  • SQLite 3.37.1 to 3.44.0

Fixed Defects:

  • Lua script nimCharsetAutoConvert() -- can't determine source encoding message. (Support Case: 33500418)
  • NSA SDK Cannot properly create QoS metrics with dev_id/met_id. (Support Case: 33500411)
  • In Lua, pds.delete() does not appear to do anything in NSA SDK. (Support Case: 33380032)
  • In lua pds.convert does not work correctly if called multiple times for the same PDS. (Support Case: 33444747)
  • Lua database.query() does not return error status when using nsa but works fine with nas probe. (Support Case: 33473789)
  • Can't see alarms generated with NSA SDK in operator console. (Support Case: 33529758)
  • NSA SDK regexp in Lua handles bad regex patterns inconsistently. (Support Case: 33596129)
  • nsa.exe created qos have all same ci_metric_id. (Support Case: 33142748)
SHA-256 Checksum: f1f117e17841b1035d5ba073d7fd6b4f13710af33dd80b7922b5d09966f172f7
GA 20.60
03.07.2022

What's New:

  • Upgraded OpenSSL to 1.1.1o
  • Dropped support for Solaris platforms.
SHA-256 Checksum: 3ca88713893f976ee2f2407256878474fc7590723332d8c949bcc46821162aa0
20.50
18.02.2022

What's New:

  • Upgrade done from VS2008 to VS2017 .
  • lua library upgrade done from version 5.1.2 to 5.4.3.
  • OpenSSL library upgrade from version 1.0.2p to 1.1.1l .
  • Net-SNMP library upgrade from version 5.7.1 to version 5.9.1.
  • MySQL c api library upgrade from version 5.7.1 to mariadb-connector-c 2.3.7 as well as dynamic linking from static linking (MySQL has licensing issue because of that static to dynamic linking needed).
  • SQLite upgrade done from version 3.7.13 to 3.37.1.

Fixed Defects:

  • trim() function in Lua needs to be corrected (Support Case: 32810808)
SHA-256 Checksum: f17ec48194fb22bb78e1645747eccf371b7cc131d959ff98a66215053bc467a9
20.40
01.10.2020

What's New

  • Updated C-SDK support to encrypt connection string from data_engine with appropriate encryption key.

Fixed Defects:

  • Fixed an issue where database.open LUA call behaves differently after upgrading from UIM 8.5.1 to UIM 20.1.0 database. In UIM 20.1.0, the database.open call reports an error code of 1 and fails when run from the NSA tool whereas if the same is run from the NAS IDE, the call is successful. (Support Case: 32119170)
  • Fixed an issue where Listview from QoS created by LUA script doesn't work. This issue has been resolved by adding a new feature to the NSA binary to allow the creation of ci_metric_id's for custom generated QoS through LUA scripting using the NSA package. (Support Case: 20304534)
MD5 Checksum: e7621210eb47881617ef443cf9fe8102
SHA-1 Checksum: c73fc68d58c5f4a998d5aa6f2b29cf62650b58d3
20.30
23.04.2015 Fixed an issue in which extra lines of text occurred in the CLI when the probe was active (Salesforce case 00158212).

md5sum: 10f4bd8563d065f2711f6b1386e4c42d
sha1sum: 47e65d727db0b5bb5378d093e06e242ebd411960
2.06
03.03.2015 • Fixed an issue in which running nimbus.alarm() using an 88-character suppkey crashes nsa (Salesforce case 00092078). • Fixed an issue in which SNMP v3 fails to create SNMP objects (Salesforce case 00117304).
MD5 35596e2e0f73de86eb8038c7b64a772a
SHA-1 85f5997bebc25a74bfdb49707a5d477147fae287
2.05
15.09.2014
  • Fixed an issue in which the nsa probe segmentation faults when probe-based authentication is used on custom probes on the SLES11 64 bit operating system.

Md5sum: 714026c59d15fcba8b84014f85905c7c
sha1sum: 33cd0249da479806e7649d50cabd59cdc45ead59
2.04
31.12.2010 Fixed the linking with MySQL Connector for C on Linux. Earlier, these had runtime dependancies on MySQL libraries.
2.01
29.11.2010 Added NSA Debugger -D option.
Fixed action.email() and action.sms() to return true when ok
Added Oracle support.
Added support for variable removal by using setvariable("var",nil)
Added MySQL support. Will attempt to load libmysql.dll / .dynamically when a mysql connection string is passed.
Added NSA_VERSION and NSA_PID as global constants.
Added file.mkdir() method.
Added nimbus.encrypt() and nimbus.decrypt() methods.
2.00
30.06.2010 Fixed problem with database.open using an encrypted (-p/-P) string.
Added file.checksum method.
1.12
30.12.2009 Added support for utilizing dynamic libraries.
Added pds.copy() method.
Enhanced the subscriber callback to include the PDS handles to the udata and header data structures.
1.11
30.09.2009 Fixed problem when converting deep PDS structures to lua tables.
Fixed memory leak in mid,left,right string functions.
Added pdsTable support.
Changed the require lookup path for modules (LUA_CPATH).
Fixed snmp.set, added how to use snmp.set to documentation.
Fixed snmp.addvariable, added how to use it with snmp.set to documentation.
Added security level to the probe.addcallback function.
Added exit code from executed command in action.command ().
1.10
14.08.2009 Initial release. 1.04
Requirements
Platform: Please refer to the Platform Support Matrix located in the Download section of http://support.nimsoft.com
Software: MDAC (Windows)
MySQL Connector for C 6.0.2 for your platform (http://www.mysql.com/downloads/connector/c/#downloads) if you want to use MySQL. Will attempt to load libmysql dynamically.
Hardware: None