In some situations, you may notice that the "check_yum_update" plugin, which is called by Monitor over SNMP as part of our self monitoring, does not show correct output when compared to a manual run of yum. Regardless of what the root cause is, the easiest way to troubleshoot the issue is to use the same command that the plugin itself uses:
# yum check-update -d 0 -e 0 | less
If you inspect the output, you will likely not only see valid lines listing updates (example):
kernel.x86_64 3.10.0-1127.19.1.el7 updates
You may also see errors, or other notices that the plugin mistakenly picks up as updates. To resolve the issue, ensure these errors are no longer printed. For example, you may be getting errors similar to the following, related to a defunct repo:
Update notice FEDORA-EPEL-2017-a9cb1f17d0 (from op5-epel) is broken, or a bad duplicate, skipping.
In this case, the resolution would be to not only disable this repo (in this case "op5-epel"), but completely comment it out in the repo file so that yum truly ignores it. The errors should then go away.
The exact type of error you get in the output may of course vary, as will the resolution, but this is the most common reason for an incorrect reading for the check_yum_update plugin, as the plugin relies on parsing the output of the check-update command to come up with a number for available updates.