Я использовал DataStax OpsCenter (Enterprise) 5.0.0 REST API с DSE 4.5.1 (Cassandra 2.0.9), чтобы запросить конечную точку / $ cluster_name / nodes и увидеть в поле last_seen количество секунд с момента каждого данного узла был замечен, чтобы увидеть, могу ли я обнаружить неработающие узлы через API DataStax OpsCenter.
Для работающих узлов last_seen равен 0. При завершении работы процесса Cassandra last_seen начинает увеличиваться и сбрасывается в 0, когда процесс возвращается в рабочее состояние.
Однако я заметил, что если DataStax OpsCenter не работает, когда узел выходит из строя, после его восстановления last_seen остается равным 0, что означает, что вы не можете определить, работает ли узел или он не работал и никогда не видел.
Та же проблема возникает, если агент DataStax OpsCenter выходит из строя. Если процесс Cassandra после этого отключается, last_seen также остается 0.
Я тестировал это на моем старом OpsCenter 3.2.2 (Сообщество) с DSC Cassandra 2.0.1, и, похоже, он все еще обнаруживает, что процесс Cassandra не работает, и начинает увеличивать last_seen, даже когда агент DataStax OpsCenter отключается первым.
Теперь для надежности я на самом деле использую представление nodetool о доступности узлов Cassandra, но, конечно же, метод DataStax OpsCenter должен быть более надежным в различении между активными и неработающими узлами / процессами?
Это ошибка в DataStax OpsCenter?
Есть ли другой способ определить, работает ли узел или нет, через DataStax OpsCenter REST API?
пс. Я написал много плагинов Cassandra и DataStax OpsCenter Nagios, поэтому я наткнулся на это, найдите их на моем github https://github.com/harisekhon/nagios-plugins.
Исходя из чисто эмпирического наблюдения, API "... / nodes / <node_ip> / mode" вернет null, если узел недоступен, в противном случае строка "нормальная" (или, предположительно, некоторая другая подходящая строка). Интерпретируйте JSON из "nodes / all / mode" для всех статусов узлов вместе.
Обратите внимание, что я видел небольшую задержку (несколько секунд) между изменением API «режима» и тем, когда OpsCenter показывает изменение статуса узла, но это может быть только моя среда; YMMV.