Easier Deployment of Agents

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
lb2cons
Posts: 72
Joined: Mon Dec 08, 2014 4:11 pm

Easier Deployment of Agents

Post by lb2cons »

There is a lot of effort to deploy a new Unix/Linux machine. NRPE need gcc, openssl-devel and another dependencies.

I've liked that Nagios built an automation (Linux Agent) for the whole process, but there's still a lot of problem with that. For example, if you try to run the installation and don't have openssl-devel the process continues, but, NRPE aren't installed, also, you must have internet on the server to make the installation. I'm not happy with the effort needed to install a single agent. Others monitoring tools are much better with that and I think Nagios could improve this in the future.

I know that NCPA it's much easier and I'm currently thinking in migrate from NRPE to NCPA. I was wondering if someone could help me with the considerations that I should bear in mind before I decide if this change worth.

I must monitor various flavours of unix like Solaris, AIX, and HP-UX, but also Linux and Windows.
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Easier Deployment of Agents

Post by jdalrymple »

Once your environment grows so big that you encounter issues like this it's time to step back and see what the best way to manage it is. The problem you're experiencing isn't exclusive to Nagios/NRPE. It should be noted that for Linux specifically though there are options that don't involve manual compilation. EPEL has an nrpe and plugins package as well as Ubuntu's dpkg repos. Creating a Solaris package is documented right in the source and trivial to do. AIX there is no super easy install method, but installing gcc, openssl-devel and compiling can all be automated fairly easily with simple shell scripts and/or a devops package such as Chef.

As for considerations with migration to NCPA - Is it really easier to install? I guess I find the installation of both agents to be a fairly trivial task.

I can promise that NCPA is not yet fully supported on all platforms, and unfortunately may never be. I'm not trying to discourage you from using it, but do be aware of that. You will no doubt end up with a mixed environment, at least on day 1. NCPA is currently a project in development and is nowhere near as stable or mature as NRPE, for the list of outstanding issues visit the github issues page:

https://github.com/NagiosEnterprises/ncpa/issues
lb2cons
Posts: 72
Joined: Mon Dec 08, 2014 4:11 pm

Re: Easier Deployment of Agents

Post by lb2cons »

jdaltymple, thanks for your response. I'm just saying that it will be great if Nagios reduced the work related to the deployment of an agent out of the box (Without us writing bash or chef recipes). We monitor very old machines and with a lot of restrictions, install NRPE it's not a trivial task and it's time consuming, also, most of those machines are network dispersed, communicating only via gearman-worker.

I agree with you, maybe NCPA isn't prepared to be the main agent of Nagios, at least, NRPE it's very reliable and secure, once installed you never have to worry about it.
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Easier Deployment of Agents

Post by jdalrymple »

lb2cons wrote:it will be great if Nagios reduced the work related to the deployment of an agent out of the box
I'm hip to what you're saying - but as is I'd say we're doing pretty much all we can.

For Windows you have an MSI whether you're using NCPA or NSCP
For Apple, NCPA is distributed via DMG - admittedly NRPE is a bit of a shortcoming here...
For Linux distros you have RPMs or .DEB packages for both
For Solaris we help with package creation on NRPE and we're just not there for NCPA
For FreeBSD there are ports for NRPE, I haven't looked for an NCPA port in recent history
Admittedly for AIX and HPUX we fall short... but I don't know that there is much we can do there. It's kind of beyond our means as a company to keep all the hardware and software platforms and trained staff necessary on hand just for the occasional build of an installable package for those 2 OSs.

Anything outside the packaging is going to be specific to your (or whomevers') environment. When you grow past 1000 hosts, it's not up to us to make the decision for you how to deploy. We can't just magically have our software land on your machine, some sort of strategy chosen/implemented by your staff is required there. There are companies that specialize in helping you with this, it's outside the scope of Nagios.

We're always open to suggestions if you feel otherwise - specifically what could we do to ease the deployment, bearing in mind that what we do needs to be useful for all of our customers, not just a narrow cross section.

Thanks



So in my mind, other than continuing to press on with the packaging of the components to the best of our ability, I'm not sure what further we can do to ease the pain. Your thoughts?
lb2cons
Posts: 72
Joined: Mon Dec 08, 2014 4:11 pm

Re: Easier Deployment of Agents

Post by lb2cons »

The OS Agents are very helpful, but still need more work to make it more compatible, for example with older Solaris version, with AIX, HPUX, and also with SLES. I agree with you, Nagios should only implement this if the problem effect a lot of customers.

It will be great for me if Nagios could ship the linux agent with all rpm's required for NRPE installation. This will solve all of my problems. We have customers that don't have access to the repositories required to install the dependencies. Let's use SLES 11 SP1 for example, if you check "0-repos" script it only install the repos if the version it's 11.3, so when agent call script "1-prereqs" it will try to install packages that are not available on zypper.

About the agent.

I'm not a developer but, there are other monitoring tools that ship the agent without "any dependency", just the interpreter of the agent language.

For example ** One monitoring product's ** agent it's a single jar. The only dependency it's a JVM. I don't know if this it's the right approach to build an agent, but it's much ease to deploy. Of course NRPE it's very very old, maybe on that time this wasn't viable and possible.

** A different monitoring product ** goes ahead and allow the agent installation by the server using ssh, and it also use a single jar.

Another example, we have a lot of customers with Oracle database and for we created a modular plugin following this mantra "Ease of deploy", so even with a lot of modules (About 25 today) the only dependency to make then all work properly it's a Python interpreter 2.4+. This development saved us a lot of work.

I'm very happy that Nagios are trying to build a cross platform implementation with very few dependencies, but as yoo said, there's still a lot of work.
Last edited by jdalrymple on Thu Sep 17, 2015 3:34 pm, edited 1 time in total.
Reason: removed competitive products material
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Easier Deployment of Agents

Post by jdalrymple »

lb2cons wrote:for example with older Solaris version, with AIX, HPUX, and also with SLES
Can you cite any specific incompatibilities? I know of none other than for quite old versions of Solaris you'll have to drop back to NRPE version 2.12, which incidentally is from the era when those older versions of Solaris were supported by Sun (not Oracle).
lb2cons wrote:It will be great for me if Nagios could ship the linux agent with all rpm's required for NRPE installation.
Even in our NagiosXI offline installer we don't provide packages that are expected to be made available by the respective OS distribution. That is unlikely to change. A lot of our software (including nrpe) is compiled at install time, making GCC one of the basic components of our software. It would be silly for us to distribute a 19M binary package (amongst many other dependencies) so that you could compile 54KB of source, don't you agree? As for your problem of not having the repos available, .RPMs and .DEBs are portable, carry them to your server on a CD or USB drive if you have to? If you can get our nrpe source somehow, I can't imagine you can't move the needed RPM using the same methods.
lb2cons wrote:agent it's a single jar
and
lb2cons wrote:and it also use a single jar
Everyone has their opinions - I don't like the software required to run a .jar file. A lot of people disagree with me and a lot of people agree with me. If we were to abandon our current way of doing things and go down the road of distributing nrpe.jar I have no doubt that just as many people would raise issue with our deployment methods as we see today, probably more.

We won't ever please everyone. Certainly NCPA is a step in the right direction as far as deployment goes, but as I mentioned in my earlier post even it has it's shortcomings. We'll certainly take all this feedback and keep it in mind when we continue forward. As is we're in a pretty good place as far as deployment - really. If you'd worked on Nagios 10 years ago (and maybe you did) you would certainly know downloading the tar.gz and fullinstalling is a breeze compared to some of what we had to do. Do keep the feedback as far as what works and what doesn't, and we'll make sure it gets to the developers so that we can make the product better for you.
lb2cons
Posts: 72
Joined: Mon Dec 08, 2014 4:11 pm

Re: Easier Deployment of Agents

Post by lb2cons »

About the incompatibilities. I'm not talking about NRPE but from Linux and Solaris Agent. SLES 10, SLES 11.1 and 11.2 are not supported. Solaris 9 it's not supported and also 10, if libc is different then SUNW_1.22.7.
It would be silly for us to distribute a 19M binary package (amongst many other dependencies) so that you could compile 54KB of source, don't you agree?
I disagree about that since downloading 19M isn't a problem. Everything that make deployment easier sounds good for me.
As for your problem of not having the repos available, .RPMs and .DEBs are portable, carry them to your server on a CD or USB drive if you have to? If you can get our nrpe source somehow, I can't imagine you can't move the needed RPM using the same methods.
This is a good idea. There's some way to check the full dependency list of NRPE?

We won't ever please everyone. Certainly NCPA is a step in the right direction as far as deployment goes, but as I mentioned in my earlier post even it has it's shortcomings. We'll certainly take all this feedback and keep it in mind when we continue forward. As is we're in a pretty good place as far as deployment - really. If you'd worked on Nagios 10 years ago (and maybe you did) you would certainly know downloading the tar.gz and fullinstalling is a breeze compared to some of what we had to do. Do keep the feedback as far as what works and what doesn't, and we'll make sure it gets to the developers so that we can make the product better for you.
Yes, I know, nowadays it's much easier, but, this is not an argument for managers and directors :lol: :lol: .

jdarlymple, thanks for all your responses. I'm pretty sure that Nagios will continue to improve those Agents, we'll try to improve our monitoring deployment by ourselves, but, please send this feedback to your team, maybe on next versions Nagios could work on an Agent for AIX and improve compatibility on SLES, this will be great for us.
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Easier Deployment of Agents

Post by jdalrymple »

lb2cons wrote:About the incompatibilities. I'm not talking about NRPE but from Linux and Solaris Agent. SLES 10, SLES 11.1 and 11.2 are not supported. Solaris 9 it's not supported and also 10, if libc is different then SUNW_1.22.7.
Sorry, I'm not clear. I agree it can't be NRPE, NRPE works fine on all those platforms. You mean NCPA then?
lb2cons
Posts: 72
Joined: Mon Dec 08, 2014 4:11 pm

Re: Easier Deployment of Agents

Post by lb2cons »

No, It's about the NRPE agent. The automation of NRPE deployment on Solaris and Linux.
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Easier Deployment of Agents

Post by jdalrymple »

As I mentioned, packaging instructions are part of the nrpe source for Solaris. I keep a history of a working package creation handy for when I need it:

Code: Select all

PATH="$PATH:/usr/sfw/bin"
MAKE=gmake ./configure
gmake all
cd package/solaris
mkdir install
mkdir install/etc
mkdir install/etc/nagios
mkdir build
mkdir build/src
cp ../../src/nrpe ./build/src/
cp ../../src/check_nrpe ./build/src/
cp ../../sample-config/nrpe.cfg ./install/etc/nagios/
gmake all
tar -czvf nrpe_2.15_Sol11_x86.tar.gz pkg
That works perfectly on an 11 box, but it is portable to 9 and 10 if you can get gcc and openssl libs installed on your own. Build up packages, put them in your local repo, then just pkgadd to your hearts content.

As for SLES, the last SLES box I was on took just fine to `zypper install nagios-nrpe` - does it get easier?
Locked