Icinga 1.x returning 'Return code of 255 is out of bounds' service status for all hosts

Hi All,

I am migrating our Icinga 1.13.4 monitoring server that was sitting on Ubuntu 12.04 to a new server running on Ubuntu 18.04. I haven’t worked with this type of monitoring before and I have come to a bit of a block.

I have had to install pnp4nagios from source as it’s no longer supported in the later versions of Ubuntu - this is located /usr/local --> PNP4Nagios-0.6.26
ii icinga 1.13.4-2build1
ii icinga-cgi 1.13.4-2build1
ii icinga-cgi-bin 1.13.4-2build1
ii icinga-common 1.13.4-2build1
ii icinga-core 1.13.4-2build1
ii icinga-doc 1.13.4-2build1
ii monitoring-plugins 2.2-3ubuntu2
ii monitoring-plugins-basic 2.2-3ubuntu2
ii monitoring-plugins-commo 2.2-3ubuntu2
ii monitoring-plugins-standard 2.2-3ubuntu2
ii nagios-images 0.9.1ubuntu1
ii nagios-nrpe-server 3.2.1-1ubuntu1
ii nagios-plugins 2.2-3ubuntu2
ii nagios-plugins-basic 2.2-3ubuntu2
ii nagios-plugins-standard 2.2-3ubuntu2

Icinga is up and running but non of my stats for my hosts are coming through - on Icinga this comes up as a ‘Return code of 255 is out of bounds’ and this is also the only feedback I get from the icinga.log.

nrpe.logs is showing the service is listening on port 5666 with no further error codes.
perfdata.logs are showing updates to .rrd files with no further error codes
npcd.logs are processing files as expected with no further error codes

Has anyone seen this before or any clue how to fix this? I’ve been over the configuration multiple times between the old and new server and I can’t honestly see what I am missing. Im happy to supply additional configs and logs if need be.

Any help would be appreciated so much, thanks for your time.


Welcome to the Icinga community!

Before we dive into your problem: Looks like you are using Icinga 1 which has reached the end of its life some months ago. Please have a look at Icinga 2 which give you a lot more options and is easier to handle.

By the way, if Pnp4nagios is not supported on your platform, why not try Graphite as a backend?

Hi Thomas,

Thanks for your reply,
I think the reasoning behind keeping Icinga 1x was because we didnt want to loose the historic perfdata. Is this easy to migrate and still use in Icinga 2?

Let’s say, it’s possible. In my experience it costs more effort than it’s worth but it’s definitely doable.

Is there any documentation you could recommend on the process or is it ‘stab in the dark’ until you get there kind of scenario?

Hm… Icinga 2 can communicate with PnP4Nagios just like Icinga 1 did. If you name the objects the same way, this should work. I’d set it up in a small testing environment and try to reproduce 1 or 2 hosts with some services. If it works, go for production.

The checks show a valid state “OK”, …?
The output says “Return code of 255 is out of bounds”?
The performance data is valid?

Please edit the appropriate XML files and check the contents of the <RC> and <TXT> tags.
The RRD files are actually updated?


a little late for the party … I would archive the old 1.x setup once the new monitoring based on 2.x is ready. That way you still have access to SLA reports, metrics and graphs while you can start building the new ecosystem.

That being said, start building a new monitoring instance with Icinga 2, Icinga Web 2, Director and Graphite. The docs provide hints on changes and differences, but it is better to re-evaluate possibilities on the configuration itself, e.g. import syncs from an existing CMDB for instance.