Re: Zabbix plugin for ceph-mgr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux