Re: health checks and logging

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

 



On Mon, Jun 5, 2017 at 10:21 PM, Sage Weil <sweil@xxxxxxxxxx> wrote:
> I took a quick look at the get_health() methods in the Monitor after our
> discussion this morning:
>
> - OSDMonitor::get_health() looks at the pool stats for a few things; I
> think these can be safely/easily moved to PGMap::get_health() (so that
> they will run in ceph-mgr)
> - Then it'll be an easy change to calculate the health and detail sets in
> encoding_pending as each OSDMap in published.
> - MgrStatMonitor is already persisting the mgr health messages.
> - MDSMonitor is also strictly a fundion of the FSMap so it'd be easy to
> move to encode_pending.
> - Monitor::get_health() has some odds and ends we can either leave in
> place or improve (e.g, time skew checks).  Not sure it matters much.
>
> My main question is whether you had specific thoughts about how to
> identify warnings so that we can note when they appear and disappear.  We
> can just go by the unique strings but then you'll see something like
>
>  1 osd(s) down
>  ...
>  1 osd(s) down cleared
>  2 osd(s) down
>  ...
>
> (or whatever we make the messages for cleared warnings look like).  Should
> we associate a 'tag' for each message that is used to identify it, so
> that, for example, "%d osd down" for any number of OSDs is considered the
> "same" message and we log when it changes but don't say it has cleared?

Yes, exactly.

All the possible health messages warnings should get a unique error
code (tag, if you like), that would be a stable thing that we explain
in the docs, like we do for the MDS health messages[1].  Adding the
codes for health messages generally was one of the steps on my
favorite tracker ticket[2] (it has aged like a fine wine).

We'll need to look at the interplay between this and other logging --
in some cases, if we're e.g. already logging nice messages for OSDs
going up and down, then we might not want to also have log messages
redundantly printing the health state.  We might also want to get rid
of the places that we echo the map summary on changes like this, or at
least put them at a lower severity than what the operator sees by
default.  Basically, when an OSD goes down, we should make sure there
is one log message to that effect, rather than 2 or 3.

BTW, earlier we were talking about logging things at a host/rack level
when lots of OSDs change at once, which I didn't realize already
existed, but now I'm failing to find it in the tree (looking in
OSDMonitor)...?

John

1. http://docs.ceph.com/docs/master/cephfs/health-messages/#daemon-reported-health-checks
2. http://tracker.ceph.com/issues/7192
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux