Monitor your Nagios server on a wall mounted TV (or a phone or desktop). Installation instructions are below in the README.md
Improve scale for larger datasets.
NagiosTV would fetch the full list of hosts and services on the polling interval, and filter for only items that are "not UP" or "not OK" to display the items on the page. On larger Nagios installs with thousands or tens of thousands of items, this created much more data transfer, and more CPU on the server than necessary. Refactored the routines to:
Add a new option automaticScrollWaitSeconds to help control the delay on the automatic scroll feature.
Fix a bug where service comments were showing up on the parent host item.
Due to the TypeScript conversion, this is a pretty big update touching a lot of files. If you run into issues, as always, reach out on the Issues tab here.
At least we can find some peace and happiness in keeping our hosts and services UP and OK
If you are updating from 0.7.5 there are some significant updates that you will need to review on 0.8.0, 0.8.1, 0.8.2 and this update.
New stuff in this release:
The new section on top (that did not exist in the previous release 0.7.5) is what is referred to as "Summary" in the settings. You can turn it off in settings if you do not like it. I was thinking it would be good to have a summary section at the top that lets you know, at a glance, what is down. This is especially useful if you have more down items than what will fit on the screen. I'm not in love with the current design of the summary section and this will evolve over time. It should be simple clear and compact.
The React framework which this project is written on top of, has moved to a new component style known as "functional components" with "react hooks". This release is a pretty large refactor of this project from React class components to this new style. Also, with this version this project is moving to using the Recoil state management library for managing state across the application.
New features in this build:
Due to the large amount of change in this version, it is a higher risk upgrade. So please try it out, and monitor the page for reliability. If you encounter any issues with this build such as browser crashing, memory leak, or anything else, please reach out to me and I'd like to get any of these issues nailed down. You can always roll back to the previous stable build via the Update page if you run into issues.
Not sure how this one happened but I'm glad I found it today. The Clock component was updating every 15/1000 seconds. Way too much. Update the timer to only run every 1s, and refactor it to directly write the Clock HTML to the DOM, bypassing React useState(). This should decrease CPU on the NagiosTV page significantly. Sorry for the wasted CPU cycles.