- NMIS collects statistics during polling and stores the data as timeseries in RRD files.
- NMIS9 also adds the latest values for certain metrics into the MongoDB nodes databaselatest_data collection.
- Which metrics are stored and where they are stored is defined in Common-stats.nmis.
- Common-stats.nmis definitions controls what metrics are stored in "data" section of the Node from the DEF statements.
- Common-stats.nmis can also calculate new values from other data the results are found in the "dervied_data" section of the node's MongoDB database entryeentry. This derived_data is the Results of the PRINT statements - so the line which is printed by the statement.
- The data and derived data from Common-stats.nmis is how we "normalise" polled data into metrics which are common to all device types. For example "cpuLoad" is normalised to a value between 0 and 100, this represents how much CPU has been used in each poll cycle. This might have come from one device as "5 minute Avg Busy percentage" and need no conversion but might have been calculated from "Idle seconds" on another using the formula cpuLoad is (($r / 300) * 100)
- opCharts reads the latest values from mongoDBMongoDB's relevant "data" and "derived_data" for each node based on what is defined in the TopN components json JSON document.
- opCharts finds the Top N entries for that normalised metric and displays them
- When a user views the TopN page, opCharts loads all components tagged with topn, and puts them into a dashboard which is dynamically created and presented
- If a TopN component is added to a user defined dashboard the specific component is searched for and included in the dashboard
First find the name of the normalised metric used by the TopN component, as described above. If this is a new TopN then select a new name for the new TopN metric type to be used in the component defintion definition and in Common-stats.nmis.