You may notice that services with long names are not showing performance data graphs in pnp4nagios. This issue may show itself through NPCD logs similar to the following:
NPCD: ERROR: Executed command exits with return code '36'
The important part of this error is the return code, where "36" is likely referring to ENAMETOOLONG. We believe this issue occurs when NPCD tries to create a new XML file for the performance data, but fails as the name of the service, which is then fully included in the filename, is too long, exceeding the system limit.
In our testing, service names exceeding ~233 characters have seen perfdata graphs failing to be created at all, and we therefore strongly advise users to avoid longer names for services where possible, or in the cases where they may be necessary, disable performance data processing for these service objects entirely by setting
process_perf_data to zero for that object.
Other NPCD return codes
The above is only relevant in cases where you are observing exit code 36. If you are instead seeing:
Return code '7'
This likely means that your NPCD process timed out and did not process your performance data in time. One way to resolve this may be to edit:
Set "TIMEOUT" to a larger value, for example:
TIMEOUT = 45
Restart npcd afterwards to reload the configuration.