0

I am trying to configure check_cluster in icinga2. We currently have a health check that is carried on 8 servers. We wanted to notify if health check on 3 or more servers is critical.

    apply Service "Cluster Service Health Check" {
    check_command = "check_cluster"

    vars.check_cluster_service = true
    vars.check_cluster_label = "Health Check"
    vars.check_cluster_warning = 2
    vars.check_cluster_critical = 3
    vars.check_cluster_data = {{
    get_object(Service, "server1.net!Elements Health Check").state + "," + get_object(Service, "server2.net!Elements Health Check").state + "," + get_object(Service, "server3.net!Elements Health Check").state + "," + get_object(Service, "server4.net!Elements Health Check").state + "," + get_object(Service, "server5.net!Elements Health Check").state + "," + get_object(Service, "server6.net!Elements Health Check").state + "," + get_object(Service, "server7.net!Elements Health Check").state + "," + get_object(Service, "server8.net!Elements Health Check").state
    }}

    assign where host.name == "chicago-cluster"

}

When we apply the above logic,we see the below 3 health check Critical.

CLUSTER WARNING: Elements Health Check: 5 ok, 0 warning, 0 unknown, 3 critical

But Icinga2 shows it as Warning. (see below)

enter image description here

Please suggest.

David Duponchel
  • 3,959
  • 3
  • 28
  • 36
John
  • 21
  • 4

1 Answers1

0

you just need to add @ to critical value.

``` apply Service "Cluster Service Health Check" { check_command = "check_cluster"

vars.check_cluster_service = true
vars.check_cluster_label = "Health Check"
vars.check_cluster_warning = 2
vars.check_cluster_critical = @3
vars.check_cluster_data = {{
get_object(Service, "server1.net!Elements Health Check").state + "," + get_object(Service, "server2.net!Elements Health Check").state + "," + get_object(Service, "server3.net!Elements Health Check").state + "," + get_object(Service, "server4.net!Elements Health Check").state + "," + get_object(Service, "server5.net!Elements Health Check").state + "," + get_object(Service, "server6.net!Elements Health Check").state + "," + get_object(Service, "server7.net!Elements Health Check").state + "," + get_object(Service, "server8.net!Elements Health Check").state
}}

assign where host.name == "chicago-cluster"```