Just opened a PR: https://github.com/ceph/ceph/pull/16019 Reviews and comments are welcome! Wido > Op 27 juni 2017 om 16:57 schreef Wido den Hollander <wido@xxxxxxxx>: > > > > > Op 27 juni 2017 om 16:13 schreef David Turner <drakonstein@xxxxxxxxx>: > > > > > > Back to just Zabbix, this thread could go on forever if it devolves into > > monitoring system comparisons. > > > > As a home project I was curious what I could do with Zabbix for monitoring > > Ceph. I added a lot of Items for all of the PG states, osd counts (up, in, > > etc), rados space (used, percent, total), IO stats (recovery read/write, > > client read/write, IOPS), etc. These Items aren't really used for alerts, > > I have more specific alerting like if I have too many failure domains with > > OSDs down and the ceph health message. What all of these triggers are used > > for is the graphs in Zabbix. For my home setup, I don't need/want a full > > carbon/graphite system running... yet. Zabbix graphs based on trigger-less > > items is perfect for that. > > > > All of that said, I think that parsing ceph cli commands to get this data > > is clunky and a mgr daemon would make a lot of sense to have an option to > > push to zabbix. Disable it by default, but put it in the ceph.conf as an > > option for mgr_monitoring_zabbix = true. That sort of syntax would work > > well with other monitoring solutions as well that can accept push stats. > > The problem is if this makes it so that Ceph needs to keep feature parity > > with Zabbix releases if they change how they want the data to come in with > > different releases. mgr_monitoring_zabbix_v2, mgr_monitoring_zabbix_v3, > > etc would be a nuisance for the Ceph team to deal with. > > I would be something like that > > [mgr] > mgr modules = zabbix > > Or if you want multiple modules > > [mgr] > mgr modules = dashboard zabbix > > You then configure the config-keys and then data will be send to Zabbix. > > I wrote the first pieces of code and it can be found here: https://github.com/wido/ceph/commits/mgr-plugin-zabbix > > Doesn't work yet, I'll have to do this between the other work I'm going. > > Wido > > > > > I found this github for my project to get all of the items into Zabbix > > quickly. There's another one based on python. It got me 90% of the way to > > where I wanted Zabbix to be for monitoring Ceph. > > https://github.com/thelan/ceph-zabbix > > > > On Tue, Jun 27, 2017 at 5:59 AM Wido den Hollander <wido@xxxxxxxx> wrote: > > > > > > > > > Op 27 juni 2017 om 11:24 schreef Marc Roos <M.Roos@xxxxxxxxxxxxxxxxx>: > > > > > > > > > > > > > > > > FYI, 5 or even more years ago I was trying zabbix and when I noticed > > > > that when the monitored hosts increased, the load on the mysql server > > > > was increasing. Without being able to recall exactly what was wrong (I > > > > think every sample they did, was one insert statement), I do remember > > > > that I got quite an 'amateur' feeling of these guys. And when they apply > > > > 'strange logics' in one situation, they are likely to apply this more > > > > often elsewhere in their code. Then I moved to nagios. > > > > > > > > > > I see Zabbix envs running with thousands of hosts and 10ks of items in > > > there without any issues. > > > > > > It's ofcourse a personal preference. Working at a location now who are > > > eager to go to Luminous and would like to see such a module for ceph-mgr. > > > > > > Wido > > > > > > > > > > > > > > > -----Original Message----- > > > > From: Wido den Hollander [mailto:wido@xxxxxxxx] > > > > Sent: dinsdag 27 juni 2017 11:09 > > > > To: ceph-users@xxxxxxxx > > > > Subject: Zabbix plugin for ceph-mgr > > > > > > > > Hi, > > > > > > > > After looking at the documentation [0] on how to write a plugin for > > > > ceph-mgr I've been playing with the idea to create a Zabbix [1] plugin > > > > for ceph-mgr. > > > > > > > > Before I start writing one I'd like to check if I'm thinking in the > > > > right direction. > > > > > > > > Zabbix supports Items [2] and Triggers. Triggers are based on Items's > > > > values. A Item could be from the type 'Trapper' where a application can > > > > simply send key=value pairs, for example: > > > > > > > > my.host.name ceph.health HEALTH_OK > > > > my.host.name ceph.osd.up 499 > > > > my.host.name ceph.osd.in 498 > > > > > > > > A simple ceph-mgr module could do: > > > > > > > > def serve(self): > > > > while True: > > > > send_data_to_zabbix() > > > > time.sleep(60) > > > > > > > > If for example the key ceph.health is != OK for >1h Zabbix could fire a > > > > trigger and send our an alert to an admin. > > > > > > > > Now, would that be a sane plugin for ceph-mgr or is this something you > > > > shouldn't put in the mgr? To me it seems like a good place since it > > > > already has all the data present. This way data is pushed to Zabbix > > > > instead of the need for polling the data and parsing JSON output of > > > > 'ceph -s' > > > > > > > > Wido > > > > > > > > [0]: http://docs.ceph.com/docs/master/mgr/plugins/ > > > > [1]: http://www.zabbix.com/ > > > > [2]: https://www.zabbix.com/documentation/3.0/manual/config/items > > > > _______________________________________________ > > > > ceph-users mailing list > > > > ceph-users@xxxxxxxxxxxxxx > > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > > > > > > > > > > > > _______________________________________________ > > > > ceph-users mailing list > > > > ceph-users@xxxxxxxxxxxxxx > > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > > > _______________________________________________ > > > ceph-users mailing list > > > ceph-users@xxxxxxxxxxxxxx > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > > > > _______________________________________________ > ceph-users mailing list > ceph-users@xxxxxxxxxxxxxx > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com