Proxy entity with multiple proxy checks

Hello,

Suppose this situation: I have one mail server which runs IMAP, SMTP and POP. I would like to execute proxy checks for IMAP, SMTP and POP. I would like those checks to be a part of one proxy entity, such as mailserver.tld

To do this, I should:

  • Make my entity’s proxy_type entity attribute a list (e.g.: imap, pop, smtp)
  • Change proxy check’s entity.labels.proxy_type to check if the value is in proxy_type instead of if proxy_type matches its value ("entity.labels.proxy_type == '{{ item.name }}'")

However, according to https://docs.sensu.io/sensu-go/latest/reference/filters/#syntax-quick-reference, I cannot check if the value is in the list, which would make it impossible to do this.

Is this correct?

I believe you are correct in that lists are not supported for these attributes.

I think the following might work better:

  • Make the entity’s proxy_type attribute mailserver
  • Create 3 checks, one each for IMAP, SMTP, and POP and set the entity.labels.proxy_type == 'mailserver'

That seems to work, kind of. I have that working with an or conditional so I can reuse checks, but no events seem to be generated when there’s a lot of entity.labels.proxy_type values. Will debug further…