After much debugging, tweaking the code and playing around with timestamp to epoch functions I’ve finally managed to get this working and it seems to be pretty accurate (for the Cisco devices at least).

Thanks for your help

Jake Turner



I am running 0.13.10 (rev. 4585) so yes, a pretty old version. I will update asap and that should shed a little more light (Y).

Cheers

Jake Turner

On 19 Apr 2014, at 05:35, Adam Armstrong <adama@memetic.org> wrote:

Are you running some horrifically old version?

root@alpha:/home/observium/dev# wc -l includes/polling/ports.inc.php
719 includes/polling/ports.inc.php

adam.

On 2014-04-18 23:32, Jake Turner wrote:
Weird, my /includes/polling/ports.inc.php file only has 617 lines.
Cisco devices at least report the time that the system was up when the
interface changed and I don’t mind having to calculate him many
days/hours/minutes etc that was and then displaying that on the
appropriate page.
I see what you’re saying when it comes to providing the most
compatibility with all the different vendors as they probably report
it slightly different (or not at all) and so updating it with 'on
update CURRENT_TIMESTAMP’ ensures that you’ll always have something
there. I only have Cisco devices though so it’s not too much of a
problem.
Thanks, I’ll do some more digging tomorrow, need to sleep now!
Jake Turner
On 19 Apr 2014, at 05:10, Adam Armstrong <adama@memetic.org> wrote:
Line 623 and below of includes/polling/ports.inc.php.
This should use the port's ifLastChanged if it exists, else it'll use the current polling time. At some point we decided it was totally unrealiable and decided to track it ourselves by having the database update the value when the port configuration in the database changed.
It sounds more like you'd want the "down since" number calculation changed to include the total time that the alert wasn't up (or unknown).
adam.
On 2014-04-18 22:58, Jake Turner wrote:
Thank you for your reply. I take it from your response that there is
some code that will update the ifLastChange field.
Unfortunately I can not find it anywhere and as a desperate attempt to
see if it were specified anywhere I performed a very dirty search:
'grep -r "ifLastChange" /etc/observium/‘ which yielded nothing of any
significance.
Sorry if you feel I’m being retarded but I simply can’t find it :/
Jake Turner
On 19 Apr 2014, at 03:58, Adam Armstrong <adama@memetic.org> wrote:
On 2014-04-18 21:34, Jake Turner wrote:
Hmm, not sure what documentation is in the code, perhaps I was looking
at the wrong files.
It would appear however that the ifLastChange field is only changed
whenever that particular record gets ‘updated’. The MySQL column has
'on update CURRENT_TIMESTAMP’ as it’s attribute.
I’m thinking of removing that and creating a separate script to update
this column with the interface change time as reported by the device.
If you're not capable of finding where it's updated in the code, you possibly don't want to be modifying the code you can't be bothered to read.
adam.
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium
_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium

_______________________________________________
observium mailing list
observium@observium.org
http://postman.memetic.org/cgi-bin/mailman/listinfo/observium