opinkerfi / adagios

Adagios - Web Based Nagios Configuration
GNU Affero General Public License v3.0
330 stars 75 forks source link

Downtime + Acknowledgements don't work #493

Closed stevesbrain closed 9 years ago

stevesbrain commented 9 years ago

I don't appear to be able to acknowledge alerts, or schedule downtime. Watching the "Network" under "Inspect Element" in Chrome shows that POST's to _acknowledgemany and _clearnotification return status 200 OK's.

call to adagios.rest.status.acknowledge_many() was a success status.js:740
call to adagios.rest.adagios.clear_notification() was a success adagios.js:334

If you need any other logs/info/etc, please let me know :) If I'm an idiot, please also let me know. Running pynag master, commit bac2dfdd485cd11f0e6ee51e12017198a938139a, Adagios master commit 145970c6a3fa853041297c5f6a2e12b06799a51d, Django 1.6, Debian 7.7. Cheers!

palli commented 9 years ago

Hello,

Not able to replicate this locally.

Is the problem reproducible on http://demo.adagios.org or http://test.adagios.org/branches/master ?

The .js filenames look a little old.. Is it possible that you have an old version of adagios installed and in your http.conf there is a reference to the old installation for the media section ?

Look in /etc/apache2/conf.d/adagios.conf for lines starting with: "Alias /adagios/media"

stevesbrain commented 9 years ago

Hi there,

Thanks for the response. I haven't been able to reproduce it on test.adagios.org/branches/master. As far as I can see from that, the .js files have the same naming. My adagios.conf file did reference an alias for /adagios/media, but it was in the same master branch as the rest of it. Nevertheless, I did comment it out and reload Apache just for the sake of testing, but it made no difference.

I realise at this point it'll be a local user/installation problem, rather than an adagios issue, so it probably doesn't qualify for any help here. If that's the case, feel free to close the issue, and I'll keep working on it. If you have any other ideas though/are happy to keep troubleshooting, I'd much appreciate it :) Thanks either way!

palli commented 9 years ago
call to adagios.rest.status.acknowledge_many() was a success status.js:740

If you are still seeing this, then I believe you are still using html/javascripts from an older version (there is no longer a file called status.js but there used to be one in the 1.2.x days).

I recommend you verify that the Alias section does indeed point to your real adagios install, not an older one. You will need to reload apache for the changes to take effect.. It should break proper if you comment it out, so if adagios still worked after commenting it out, maybe you have more apache config files lying around that are also referencing this.

stevesbrain commented 9 years ago

Hmm, the only installation of adagios is under /opt/adagios, which is a straight git pull from here. Doing a: find / -name 'status.js'

Returns nothing on the FS, and a recursive grep for references to status.js in the directory reveals only the same references that are in master. A recursive grep for "adagios" on the /etc dir only had that one Apache conf.d file as containing anything related the web server, and the /opt/adagios dir is the only copy of adagios on the server.

Having said that, I also see the following on the http://test.adagios.org/branches/master/status page when acknowledging an issue:

call to adagios.rest.status.acknowledge_many() was a success status.js:740
call to adagios.rest.adagios.clear_notification() was a success adagios.js:334

Which makes me think that the status.js is still in use? Unless I'm misreading :)

palli commented 9 years ago

Oh you are absolutely right. Sorry I forgot there is now a new (autogenerated) file that to the browser looks like status.js.

At this point it could be a problem with the nagios command pipe (are you using nagios or some other backend btw?)

The command pipe is horrible in the way it never gives feedback if a command was successful or not.

Can you make sure you have both of these in your nagios.cfg:

check_external_commands=1
log_external_commands=1

And then reload nagios.

If check_external_commands was already on.. please tail nagios.log while you are acknowledging and paste here in the issue.

That way we can see if adagios is trying to send a command to nagios, and if the syntax is correct.

stevesbrain commented 9 years ago

Spot on! check_external_commands was set to 0! Thanks very much (and yes, using nagios)! I'm still new to nagios, and adagios is helping me to get a grasp on it; so sorry for the newbie problem :)

palli commented 9 years ago

No problem. This is really tricky to debug since there are no errors or feedback anywhere from the nagios server.

Maybe adagios should always warn users if external commands are disabled :)