Page 1 of 2

Realtime HTML5 graphics

Posted: Fri Aug 15, 2014 3:07 pm
by WillemDH
Hey Nagios team,

I was looking into realtime graphs and stuff like that and it seems like html5 can do that. I don't really see myself use this, but I'm sure some of you might have some ideas on how to implement something like this. Check the url:

http://fastly.github.io/epoch/real-time/

Wouldn't such smooth realtime graphs be awesome in the Nagios XI? :D

Grtz

Willem

Re: Realtime HTML5 graphics

Posted: Tue Aug 26, 2014 1:37 pm
by tmcdonald
The problem with real-time data is that Nagios checks on an interval. If you are only checking every 5 minutes, then "real-time" means updating every 5 minutes. Even NCPA has a slight delay between updates in the graphs because you simply can't have true real-time in a polling system.

Mod Note: Apologies for the delay. We haven't been getting alerted to responses in the Nagios Ideas forum, so we are moving this post to the appropriate section of the forum.

Re: Realtime HTML5 graphics

Posted: Tue Aug 26, 2014 3:35 pm
by WillemDH
No problems about the delay.

I can imagine 'real' real-time graphs are nearly impossible at this moment. I also didn't mean it for use with checks, but more for information from the Nagios server itself, like the amount of critical /warning events coming in, cpu load. I just can't believe there is no interesting data available at this moment that could be used for this.
And imho if we would think ahead, in a few years, technology will be even faster and getting nearer to realtime could be not an issue. I would even say that not looking into 'realtime' monitoring would be a mistake in longer terms.

Greetings.

Willem

Re: Realtime HTML5 graphics

Posted: Tue Aug 26, 2014 4:41 pm
by abrist
We have had some discussions about this. As most of the parts of XI operate on a refresh loop, or ajax loops, "realtime" is not really part of the current architecture.
Near true "realtime" would most likely use web-sockets and NERD-channel subscriptions to push specific (subscribed) json data to the client. angularjs would be a good framework to use client side for this as in angular the view always reflects the model, and the model (angularjs service or factory instance) is constantly updated through the web-socket from a NEB-like thingy.

Just an FYI - Not possible now, but we are aware of where the client models are moving to in the near future. Web-sockets+NEB like module (like livestatus, query handler, or NERD channel) could be very powerful :)

Re: Realtime HTML5 graphics

Posted: Tue Aug 26, 2014 4:47 pm
by WillemDH
Andy,

You certainly know what you are talking about :)

Do you guys know New Relic? We have been using it for some time now to monitor web applications. I have the feeling New Relic is expanding so quickly in all directions. For example their server monitoring has become better lately. Imho if Nagios XI wants to stay the best, the current horizon needs some imagination / expansion..

Grtz

Willem

Re: Realtime HTML5 graphics

Posted: Tue Aug 26, 2014 5:03 pm
by slansing
Yep, totally agree, I myself am a huge fan of bringing enhanced visualizations to XI. I've actually been working on some stuff on the side, but support has been so heavy lately it's hard to find time apart from my primary role here. :)

Re: Realtime HTML5 graphics

Posted: Wed Aug 27, 2014 2:10 am
by WillemDH
Looking forward to it Sam. :)

Some more examples of visualizations. It would be nice for example to have a page under quickview where only the web applications are listed. I would think most hosts would consist of servers, then network devices, but the third largest group of hosts in my Nagios environment (and I would suspect this also applies to other enterprises) are the web applications. Apart from being the third largest group of hosts, web applications are also the most visible to customers etc when they are down or are having performance issues
Ok, it's possible to put them in a hostgroup and put that on a dashlet / view, but it would be nice imo to have a default view (in quickview) where they would all be listed in some sort of table with first column name, then load time, size, maybe current user count (http://exchange.nagios.org/directory/Pl ... me/details) , the string that the content match check is looking for (maybe each column with a color, depending of the state of the last check) etc.
It would be nice to have a standard plugin for monitoring web applications, as now I have to use diferent plugin as the check_http does not work with ntlm authentication.
If the web applications overview page would be able to group web applications per type, maybe based on hostgroups, it would be even better, for example all web applications runing on our LAMP servers, IIS servers, custom applications, sharepoint sites, Alfresco sites.. And of course all columns should be sortable, to be able to quickly see what web applications are the slowest, which have the most users etc.
I know this all sounds very nice in theory, but can be harder to implement. I just have the feeling web applications could use some more love from Nagios. :)

Grtz

Willem

Re: Realtime HTML5 graphics

Posted: Wed Aug 27, 2014 2:10 pm
by abrist
WillemDH wrote:I know this all sounds very nice in theory, but can be harder to implement. I just have the feeling web applications could use some more love from Nagios.
The real issue with this is the amount of dev time involved. All those mentioned apps/platforms/frameworks all have their own way of doing things. We would have to write a number of new plugins, force the user to use a sane/spec'd naming convention (or force them to use a wizard),all the while making sure all the checks return similarly formatted results.

Really cool, but time consuming and problematic to implement.

Re: Realtime HTML5 graphics

Posted: Wed Aug 27, 2014 2:11 pm
by tmcdonald
The problem with lumping all web apps together is that Nagios doesn't inherently know what services have what purpose, so it doesn't know a web app from a printer. You could make the point that some logic could be implemented based on the plugin used, but then what if a particular web app needs to use a custom plugin? Nagios would discard it from the webapp listing.

So then you would probably think "Alright, we can just have a flag set for services that are web applications" and that would work. That way they could all be grouped according to a similar characteristic (web applications) and displayed together. Like a group of services, or a "service group" if you will.

;)

As for the standard plugin for web apps, I'm not even sure how that would work. Each app is different, has a different interface (or none) with different metrics you would be interested. Video views would work great for YouTube but have no purpose on eBay. So then the question becomes "What do all web apps have in common?".

So then you would probably think "Alright, we know most websites run over HTTP" so we could develop a plugin that tests the HTTP connection. Like an HTTP checker, or "check_http" if you will.

;)

The technology is there, it's just a matter of display preferences. As for the NTLM stuff, I still think separate plugins would be better than one single plugin for all web applications. UNIX philosophy is to do one job and do it well.

Re: Realtime HTML5 graphics

Posted: Tue Oct 07, 2014 3:36 pm
by WillemDH
Hey Trevor,
So then you would probably think "Alright, we can just have a flag set for services that are web applications" and that would work. That way they could all be grouped according to a similar characteristic (web applications) and displayed together. Like a group of services, or a "service group" if you will.
Good idea! ;) Let me know if you want me to make a feature request for it. Maybe even better, wouldn't it be nice to be able to just use hostgroups. The only thing needed would be some sort of viewing page somewhere below open service problems (maybe through a component) that would only list hosts and/or their services in a certain hostgroup? This shouldn't be very hard to implement. Would it be possible to do such a thing by someone who is not Nagios Support? (like by following the guide http://assets.nagios.com/downloads/nagi ... ios-XI.pdf
Or is the quick view area limited for Nagios personnel?

Andy, Sam,

About the 'realtime' graphics, I was looking into Highcharts lately. This link: http://www.highcharts.com/demo/dynamic-update seems like nice 'realtime graphics, which makes use of the technology you are using? It would seem nice to see the amount of, for example active and passive alert flowing in with a dashlet.

Is this Highcharts you are using in XI available for endusers? For example if someone would want to make a component or something that could use Highcharts?

Grtz

Willem