Grouping objects in Sensu

I came to Sensu with experience in Nagios, Zenoss and many SaaS monitoring systems.
While I understand basic Sense concepts and have POC Sensu instance up and running, I have some “conceptual” questions:

  1. I like to use “OOP like” approach in DevOps, i.e hierarchy of objects with inheritance.

For instance - I’d like to set up “BASIC-LINUX-CHECKS” subscription, relevant for all linux boxes, plus

  • add some checks, relevant for “WEBSERVERS” group of servers, plus “WEBSERVERS-WITH-VARNISH” for a subgroup with Varnish

  • add “MYSQL-DATABASE” checks for MySQL servers; plus “MYSQL-SLAVES” for a MySQL slaves subgroup.

Is there some way to implement it in Sensu?

  1. Objects grouping.

The only was for objects grouping which is usable in Sensu dashboard and alerting, is Subscription.

I hoped to use “Environment” labels for such grouping, and use these labels in both dashboard and alerts filtering, but it seems that Dashboard doesn’t know about Environment.

But I need something in addition to Subscription, because for example I have different group of database servers. I mean - they should run the same DB server checks, but they are different - this is Production group, which should be included on NOC dashboard, there is Development group, which should be visible to developers, and this is Test group, which should be visible only for Sensu admins.

How I do this in Sensu?

Thank you,

Vitaly

  1. Sensu only has “first order” grouping with subscriptions. For anything more than that you will need to use a configuration management tool to build up higher order groupings and inheritance.

  2. Yea I wish Uchiwa had this too. If I were implementing it I would rely on “just” a “tags” array that users could assign as custom metadata and have a tag filter on Uchiwa for all the views (checks/events/hosts/etc) “Tags” to me is the only sane flexible way to allow businessy grouping in an open source project.

···

On Sun, Feb 26, 2017 at 4:20 AM, Vitaly Karasik linux.il@gmail.com wrote:

I came to Sensu with experience in Nagios, Zenoss and many SaaS monitoring systems.
While I understand basic Sense concepts and have POC Sensu instance up and running, I have some “conceptual” questions:

  1. I like to use “OOP like” approach in DevOps, i.e hierarchy of objects with inheritance.

For instance - I’d like to set up “BASIC-LINUX-CHECKS” subscription, relevant for all linux boxes, plus

  • add some checks, relevant for “WEBSERVERS” group of servers, plus “WEBSERVERS-WITH-VARNISH” for a subgroup with Varnish
  • add “MYSQL-DATABASE” checks for MySQL servers; plus “MYSQL-SLAVES” for a MySQL slaves subgroup.

Is there some way to implement it in Sensu?

  1. Objects grouping.

The only was for objects grouping which is usable in Sensu dashboard and alerting, is Subscription.

I hoped to use “Environment” labels for such grouping, and use these labels in both dashboard and alerts filtering, but it seems that Dashboard doesn’t know about Environment.

But I need something in addition to Subscription, because for example I have different group of database servers. I mean - they should run the same DB server checks, but they are different - this is Production group, which should be included on NOC dashboard, there is Development group, which should be visible to developers, and this is Test group, which should be visible only for Sensu admins.

How I do this in Sensu?

Thank you,

Vitaly

Kyle, thank you.

  1. Yes, I understand that it’s doable, but IMHO lacking of such feature bring Sensu configs to be ugly and unreadable.
  2. Hope we’ll see it some day. Meanwhile I discovered that we can use “environment” on collections filters in the dashboard.
    Vitaly
···

On Sunday, February 26, 2017 at 7:53:20 PM UTC+2, Kyle Anderson wrote:

  1. Sensu only has “first order” grouping with subscriptions. For anything more than that you will need to use a configuration management tool to build up higher order groupings and inheritance.
  1. Yea I wish Uchiwa had this too. If I were implementing it I would rely on “just” a “tags” array that users could assign as custom metadata and have a tag filter on Uchiwa for all the views (checks/events/hosts/etc) “Tags” to me is the only sane flexible way to allow businessy grouping in an open source project.

On Sun, Feb 26, 2017 at 4:20 AM, Vitaly Karasik linu...@gmail.com wrote:

I came to Sensu with experience in Nagios, Zenoss and many SaaS monitoring systems.
While I understand basic Sense concepts and have POC Sensu instance up and running, I have some “conceptual” questions:

  1. I like to use “OOP like” approach in DevOps, i.e hierarchy of objects with inheritance.

For instance - I’d like to set up “BASIC-LINUX-CHECKS” subscription, relevant for all linux boxes, plus

  • add some checks, relevant for “WEBSERVERS” group of servers, plus “WEBSERVERS-WITH-VARNISH” for a subgroup with Varnish
  • add “MYSQL-DATABASE” checks for MySQL servers; plus “MYSQL-SLAVES” for a MySQL slaves subgroup.

Is there some way to implement it in Sensu?

  1. Objects grouping.

The only was for objects grouping which is usable in Sensu dashboard and alerting, is Subscription.

I hoped to use “Environment” labels for such grouping, and use these labels in both dashboard and alerts filtering, but it seems that Dashboard doesn’t know about Environment.

But I need something in addition to Subscription, because for example I have different group of database servers. I mean - they should run the same DB server checks, but they are different - this is Production group, which should be included on NOC dashboard, there is Development group, which should be visible to developers, and this is Test group, which should be visible only for Sensu admins.

How I do this in Sensu?

Thank you,

Vitaly