Realtime HTML5 graphics

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
User avatar
WillemDH
Posts: 2320
Joined: Wed Mar 20, 2013 5:49 am
Location: Ghent
Contact:

Realtime HTML5 graphics

Post 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
Nagios XI 5.8.1
https://outsideit.net
tmcdonald
Posts: 9117
Joined: Mon Sep 23, 2013 8:40 am

Re: Realtime HTML5 graphics

Post 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.
Former Nagios employee
User avatar
WillemDH
Posts: 2320
Joined: Wed Mar 20, 2013 5:49 am
Location: Ghent
Contact:

Re: Realtime HTML5 graphics

Post 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
Last edited by WillemDH on Tue Aug 26, 2014 4:46 pm, edited 2 times in total.
Nagios XI 5.8.1
https://outsideit.net
abrist
Red Shirt
Posts: 8334
Joined: Thu Nov 15, 2012 1:20 pm

Re: Realtime HTML5 graphics

Post 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 :)
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
User avatar
WillemDH
Posts: 2320
Joined: Wed Mar 20, 2013 5:49 am
Location: Ghent
Contact:

Re: Realtime HTML5 graphics

Post 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
Nagios XI 5.8.1
https://outsideit.net
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Realtime HTML5 graphics

Post 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. :)
User avatar
WillemDH
Posts: 2320
Joined: Wed Mar 20, 2013 5:49 am
Location: Ghent
Contact:

Re: Realtime HTML5 graphics

Post 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
Nagios XI 5.8.1
https://outsideit.net
abrist
Red Shirt
Posts: 8334
Joined: Thu Nov 15, 2012 1:20 pm

Re: Realtime HTML5 graphics

Post 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.
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
tmcdonald
Posts: 9117
Joined: Mon Sep 23, 2013 8:40 am

Re: Realtime HTML5 graphics

Post 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.
Former Nagios employee
User avatar
WillemDH
Posts: 2320
Joined: Wed Mar 20, 2013 5:49 am
Location: Ghent
Contact:

Re: Realtime HTML5 graphics

Post 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
Nagios XI 5.8.1
https://outsideit.net
Locked