Apex integration with Zabbix

garbled

Well-Known Member
View Badges
Joined
Nov 10, 2018
Messages
772
Reaction score
1,045
Rating - 0%
0   0   0
I did something silly today.

I decided I want easy long-term graphs for my Apex, and maybe some kind of alerting on some esoteric values at some random point in the future, but mostly long term graphs (like multi-year scale). So I built a template for Zabbix (a popular free monitoring tool) that wires an Apex into the tool, and allows you to monitor it like you would a server.

What is the point of this?
  • Maybe you are like me and want to just be able to easily graph data off the Apex on a multi-year scale?
  • Maybe you don't trust Fusion to send you alerts? (seems paranoid)
  • One idea is to watch for the names of variable speed profiles to change back to something like PF1, to know when the Apex lost it's programming?
  • You like doing pointless things?
So.. umm.. this is not useful for anyone who isn't a Unix/Linux junkie. Basically you need to install a Zabbix server on a Linux system, and then wire all this stuff into it. However, I do include my (very simple) python code that reads the json data off the Apex, so maybe you can hack that up and do something on your own with it? I dunno. This is useful for like one person, and that's me, but.. hey.

https://github.com/garbled1/zabbix_neptuneapex

upload_2019-1-16_12-56-27.png




screen.png
 

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
This is awesome. Bring out the inner sysad :)
how you are getting the apex data out? I'll probably check the source code . Thank you for sharing this.
btw, core chef maintainer here, container and linux contributor :) . Love all of this
 
OP
OP
garbled

garbled

Well-Known Member
View Badges
Joined
Nov 10, 2018
Messages
772
Reaction score
1,045
Rating - 0%
0   0   0
This is awesome. Bring out the inner sysad :)
how you are getting the apex data out? I'll probably check the source code . Thank you for sharing this.
btw, core chef maintainer here, container and linux contributor :) . Love all of this

The data is pretty easy to pull, basically it has a json page that dumps everything. The only stuff I'm still unsure about:

  1. the fusion link status. mine says "3", I presume that means connected. Maybe I'll watch and see next time it randomly disconnects.
  2. The COR pumps have 6 values.. 2 of them are nonsense to me:
0 "AON"
1 "80"
2 "OK"
3 "5416"
4 "2708"
5 "085"
6 "52"

0 Auto On/OFF
1 percent on (mine is set to 80 there)
2 OK/Error
3 5416 - No idea what this number is trying to say.
4 RPM
5 - again, no idea.
6 Watts.

NetBSD developer, Ansible contributor here. :)

My code pulls the json data, and then looks for certain types of devices, and then reformats them into zabbix LLD so it just automagically puts everything into the right category. The python code is mostly just swapping one type of json for another, but could easily be hacked up to import it into a mysql db or something if one so desired.
 

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
The data is pretty easy to pull, basically it has a json page that dumps everything. The only stuff I'm still unsure about:

  1. the fusion link status. mine says "3", I presume that means connected. Maybe I'll watch and see next time it randomly disconnects.
  2. The COR pumps have 6 values.. 2 of them are nonsense to me:
0 "AON"
1 "80"
2 "OK"
3 "5416"
4 "2708"
5 "085"
6 "52"

0 Auto On/OFF
1 percent on (mine is set to 80 there)
2 OK/Error
3 5416 - No idea what this number is trying to say.
4 RPM
5 - again, no idea.
6 Watts.

NetBSD developer, Ansible contributor here. :)

My code pulls the json data, and then looks for certain types of devices, and then reformats them into zabbix LLD so it just automagically puts everything into the right category. The python code is mostly just swapping one type of json for another, but could easily be hacked up to import it into a mysql db or something if one so desired.
Yeah, I just went through the code. looks like its using vanilla basic http auth and json payloads. Very neat. I use influx/telegraf/grafan combo for similar usecase.
Only if you could manage your controller using ansible :=)
 

When to mix up fish meal: When was the last time you tried a different brand of food for your reef?

  • I regularly change the food that I feed to the tank.

    Votes: 36 24.5%
  • I occasionally change the food that I feed to the tank.

    Votes: 50 34.0%
  • I rarely change the food that I feed to the tank.

    Votes: 43 29.3%
  • I never change the food that I feed to the tank.

    Votes: 14 9.5%
  • Other.

    Votes: 4 2.7%
Back
Top