Last modified: 2014-10-24 14:38:42 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T53497, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 51497 - Setup monitoring for Beta cluster
Setup monitoring for Beta cluster
Status: NEW
Product: Wikimedia Labs
Classification: Unclassified
deployment-prep (beta) (Other open bugs)
unspecified
All All
: Normal normal
: ---
Assigned To: Yuvi Panda
rmqa-2013
:
Depends on: 52357 52867 67333 70862 70141
Blocks: 51494
  Show dependency treegraph
 
Reported: 2013-07-17 00:02 UTC by Greg Grossmeier
Modified: 2014-10-24 14:38 UTC (History)
15 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Greg Grossmeier 2013-07-17 00:02:44 UTC
Setup (more) monitoring of BetaLabs and expose it through ganglia/icinga/etc. Similar monitoring as to what is of production, just not set to page all of Ops when it breaks (yet! ;) ).
Comment 1 Antoine "hashar" Musso (WMF) 2013-07-30 20:03:16 UTC
A breakdown of the useful monitoring systems:

Icinga
======

The puppet manifests already define Icinga checks for a lot of service, that is done via the global define monitor_service.  As an example, Varnish instances are blessed with:

    monitor_service { "varnish http ${title}":
        description => "Varnish HTTP ${title}",
        check_command => "check_http_generic!varnishcheck!${port}"

    }


Which adds the monitoring on icinga.wikimedia.org.

We could get ops involved in setting up the labs instance for beta and do the configuration hack that would prevent paging but drop emails|messages instead.


Ganglia
=======

All labs instances are automatically added in a Ganglia instance:

http://ganglia.wmflabs.org/latest/?r=hour&s=by+name&c=deployment-prep&tab=m

That seems to cover our needs.

Graphite
========

That would be very nice to have, specially the profiling bits.  That project does not have any documentation beside the puppet manifests though.  Probably lower priority compared to Icinga.
Comment 2 Antoine "hashar" Musso (WMF) 2013-08-15 20:27:40 UTC
The way it is done in puppet is by collecting resources which is disabled on labs for security reasons.
Comment 3 Antoine "hashar" Musso (WMF) 2013-11-05 22:13:23 UTC
The fatal/exception.. counts are now reported on the labs Ganglia instance on the deployment-fluoride.pmtpa.wmflabs node:

http://ganglia.wmflabs.org/latest/?r=hour&cs=&ce=&c=deployment-prep&h=deployment-fluoride&tab=m&vn=&mc=2&z=medium&metric_group=NOGROUPS_%7C_mediawiki
Comment 4 Antoine "hashar" Musso (WMF) 2014-04-02 13:20:16 UTC
Does not block Bug 49459 - continuous integration monitoring (tracking)
Comment 5 scott.leea 2014-07-01 16:00:03 UTC
If this is still an issue can I work on it? If so, please provide any additional details I can to get started.
Comment 6 Tim Landscheidt 2014-07-09 12:12:25 UTC
I chatted yesterday with Yuvi a bit about monitoring and its challenges, and he reminded me that the main problem with applying the prod setup to Labs is that roots can fake Puppet facts by altering facter and thus control to some degree the exported resources (which in themselves are harmless as their template is reviewed by ops in operations/puppet).  So the monitoring in Labs would require all monitoring resources to be audited with the assumption that all host data is hostile.  Still, I don't like to let go of a working configuration that is tested every day :-).

So two things that crossed my mind this morning:

a) For root at Tools, I had to sign a contract where WMF promises to sue my ass off if I should do something funny.  If we could limit the collection of monitoring resources to hosts in Labs projects with roots that are legally bound in a similar way (Tools, Beta, projects by WMF employees, etc.), we could assume that no hostile data is injected.  That would solve the problem for the Beta cluster (and Tools ...), but not for all hosts Labs.

b) What is the worst thing that a bright hacker could achieve by being root on a Labs project, carefully faking facts and bringing Labs's Icinga or Ganglia under their control if the latter are hosts in a Labs project themselves?  Nothing.  He would have started as root in a Labs project and ended as one as well.  All the data in Icinga and Ganglia is public.
Comment 7 Yuvi Panda 2014-09-11 13:03:32 UTC
There's now alerts for the following things for betalabs:

- Low space on /var
- Low space on /
- Puppet staleness (warn at 1h, crit at 12h)
- Puppet failure events

Note that puppet failure events is different from puppet failing - failure events means puppet did run, but some events failed. There's no detection for puppet itself failing completely.

You can see those at https://icinga.wikimedia.org/cgi-bin/icinga/status.cgi?search_string=labmon
Comment 8 Antoine "hashar" Musso (WMF) 2014-09-16 07:44:48 UTC
Thank you Yuvi for the monitoring!  Do we have a way to tweak the body of email notifications?  I find them hard to read :-D

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links