GNMIS
GNMIS
What?
GNMIS is a user interface to RRD collections. It doesn't actively collect data, it is a presentation and searching tool.
Where?
Campus:
http://stats.net.wisc.edu/cgi-bin/gnmis.fcgi
UW System Network:
https://stats.uwsys.net/cgi-bin/gnmis.fcgi
Basic Searching
Verbose Searching
Using the Search Boxes
- By default, search terms will be executed as either MYSQL 'LIKE' matches or REGEXP; automatically determined. Search online for how to use mysql search syntax. There are other modes of search available.
- You can negate a search by starting your parameter with '!'
- You can specify an exact match like, use '=$MATCH' [example, '=this string'
- You can specify a direct mysql call like so '==IS NULL'
Creating lists
- After executing a search, you can add [or remove] RRDs from a list.
- The list names are global, so exercise caution.
- To select a row, use the checkbox that is the leftmost column
- For example, to create a list, choose some rows, optionally type a name next to the 'Add' box, and then hit Add. If you do NOT type a name, a unix epoch based name will be created for you. This is convenient to make adhoc lists quickly.
- You can delete a list by removing all entries from the list
- You can copy a list by selecting all and adding to a new list
- Use the 'Lists:' drop down to restrict the gnmis database and search terms to a predefined RRD list.
Saving searches
- After executing a search, you can save [new or overwrite] an existing search by providing a name and clicking "Save Search As:". The search names are global, so exercise caution.
- You can display a search by choosing it from the dropdown
- You can delete a search by running a search and choosing the "delete" button
Things to know
- Hub mode is configurable and sets default search options per installation
- Unless 'show old data' is checked, rrd files that have not been updated for a day are hidden
- Stat Files means that all files will be stat'd to verify last update time; otherwise, the last time the database was updated will be used. The database is updated hourly via CRON.
- Unlimited rows: results are limited to 500 matches by default
- RRD List; instead of returning a table, return a list of RRDs; useful as an API call
- RRD Number; instead of returning a table, return the number of matching RRDs; useful as an API call
- Based on configuration, some columns, such as subnet or IP searching, use different types of searches.
- If the built in search tools are insufficient and you have access to the gnmis machine, you can also create custom graph links by either using dynamic GNMIS queries
[@$HOST custom_stats]$ pwd
/usr/local/ns/custom_stats
[@$HOST custom_stats]$ cat test
#dynamic=http://stats.net.wisc.edu/cgi-bin/gnmis.fcgi?device=r-peer&interface=sp-[0-9]-0-0-0&dataset==bytes&rrd_list_only=1
#dynamic=http://stats.net.wisc.edu/cgi-bin/gnmis.fcgi?dataset==gMegaFlow-active-as&rrd_list_only=1
or by specifying RRD filenames directly
[@$HOST]$ cat /tmp/genstatspage_tmp/a0a11bc591ceff3f77040763fd8e3391
#datatype=cpu|bytes&hostname=^fa-csscplat-b380-5-ban-pri7s$&interface=bas|Not
/var/local/mrtg/ban/fa-csscplat-b380-5-ban-pri7s_bas_bytes.rrd
/var/local/mrtg/ban/fa-csscplat-b380-5-ban-pri7s_cpu.rrd
Results
- Clicking a value in a column other than 'dataset' adds that key/value pairing to the search query
- Click '+' next to a column header requires that column to be NOT NULL
- Click '-' next to a column header requires that column to be NULL
- Clicking the name of a column header changes the sort order.
- Graph Everything will show a graph for every dataset returned
- Stack/Plot/Total will combine corresponding datasets. Not all of these combinations result in useful graphs. Items can be grouped based on unique combinations discovered by GNMIS.
- Individual items can be added/removed to lists.
Fun novelty searches
- interface box: '(g|x)e-[0-9]-[0-9]-[0-9]' = Show all 1 and 10 gig juniper ports