Easier Deployment of Agents
Easier Deployment of Agents
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.
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.
-
- Skynet Drone
- Posts: 2620
- Joined: Wed Feb 11, 2015 1:56 pm
Re: Easier Deployment of Agents
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
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
Re: Easier Deployment of Agents
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.
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.
-
- Skynet Drone
- Posts: 2620
- Joined: Wed Feb 11, 2015 1:56 pm
Re: Easier Deployment of Agents
I'm hip to what you're saying - but as is I'd say we're doing pretty much all we can.lb2cons wrote:it will be great if Nagios reduced the work related to the deployment of an agent out of the box
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?
Re: Easier Deployment of Agents
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.
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
Reason: removed competitive products material
-
- Skynet Drone
- Posts: 2620
- Joined: Wed Feb 11, 2015 1:56 pm
Re: Easier Deployment of Agents
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:for example with older Solaris version, with AIX, HPUX, and also with SLES
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:It will be great for me if Nagios could ship the linux agent with all rpm's required for NRPE installation.
andlb2cons wrote:agent it's 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.lb2cons wrote:and it also use a single jar
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.
Re: Easier Deployment of Agents
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.
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.
I disagree about that since downloading 19M isn't a problem. Everything that make deployment easier sounds good for me.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?
This is a good idea. There's some way to check the full dependency list of NRPE?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.
Yes, I know, nowadays it's much easier, but, this is not an argument for managers and directors .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.
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.
-
- Skynet Drone
- Posts: 2620
- Joined: Wed Feb 11, 2015 1:56 pm
Re: Easier Deployment of Agents
Sorry, I'm not clear. I agree it can't be NRPE, NRPE works fine on all those platforms. You mean NCPA then?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.
Re: Easier Deployment of Agents
No, It's about the NRPE agent. The automation of NRPE deployment on Solaris and Linux.
-
- Skynet Drone
- Posts: 2620
- Joined: Wed Feb 11, 2015 1:56 pm
Re: Easier Deployment of Agents
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:
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?
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
As for SLES, the last SLES box I was on took just fine to `zypper install nagios-nrpe` - does it get easier?