First, the Nagios plug-in development guidlines (http://nagiosplug.sourceforge.net/developer-guidelines.html) seem to be quite outdated (e.g. not really knowing about multi-line output, etc.).
But in general I propose the following (and would also be willing to help with patches, if it was accepted):
- In section 2.1. (http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN33) of the Nagios plug-in development guidlines, drop the recommendation of adding "SERVICE STATUS: " to the output and actually recommend _against_ it.
- In all plugins from the Nagios plugin package, remove the according output.
Reasons and motivation:
1) The output is superfluous:
With respect to the status: All clients/UIs/GUIs I've ever seen (including the majors, Nagios-CGI, Icinga-CGI and Icinga-Web) use (indirectly) the exit status of the programs (as it is defined) and show it anyway in a separate field, and/or marked with colours.
With respect to the "plugin name": All clients/UIs/GUIs I've ever seen (including the majors, Nagios-CGI, Icinga-CGI and Icinga-Web) show that name of the check_command anyway.
2) The ouput is not authoritative (and maybe wrong or at least confusing).
With respect to the status: There is no guarantee, that plugins _print_ the right status; only the exit code is authoriative with respect to Nagios/Icinga.
So at best it's correct (but doubled) information… at worst it’s wrong and confusing.
With respect to the "plugin name": The actual name (encoded in a check program) is not necessarily equal or even related to the way the check is used. A (poor example), check_ping is also used as host-available-check... another example,.. one might even use check_ssh as host-available-check.
Printing SSH OK there is rather confusing; the service name (i.e. the description) is usually much better information on what is checked.
3) It wastes precious space and adds confusing text
"SERVICE STATUS: " wastes text space not only when displaying stuff in moibile devices, but also on normal desktop computer, where one e.g. wants to use the space for displaying more columns with information abot a check.... or more from the "actual" text outpu.
Further it "misaligns" output, e.g. consider check_apt which shows me the number of available updates, which would be about like that:
APT OK: 0 security updates, 0 other updates
APT WARNING: 0 security updates, 2 other updates
APT CRITICAL: 1 security updates, 5 other updates
When you have a long table of such checks, it would be nice if all that is rather aligned, but given that OK, WARNING, CRITICAL, etc. have different lengths,... it is not.
Without "SERVICE STATUS: " the above output would be much better aligned and therefore much easier to read:
0 security updates, 0 other updates
0 security updates, 2 other updates
1 security updates, 5 other updates