Scripting API
An interface is provided that allows new queries to be scripted which have convenient access to all the traffic data, address mappings, host locations and topology information contained in the database. This API can be used to make ad-hoc queries that are not expressible through the normal reporting interface. It can also be used to generate URLs that external programs can use to make queries to the server, and extract results as comma-separated values or HTML tables. This allows integration with tools like awk(1), perl(1) or wget(1). Special provision is also made to generate Microsoft Excel web queries (.iqy format).
For maximum efficiency and reliability, it is also possible to execute queries directly on the server (bypassing the web-server) by feeding your script as standard input to the program: /usr/local/inmsf/bin/query
The scripting language is JavaScript(v1.6 with E4X), with the following extensions:
- Query - make queries against a particular traffic database view.
- Table - when you run a query, the result is always a Table.
- Network - lookup access to network state information such as address mappings, host locations, interface names and topology.
- SNMP - use SNMP to obtain information from network devices.
- Global functions - global utility functions.
When authoring report templates the following classes are also available: