Назад | Перейти на главную страницу

API DataStax OpsCenter 5.0.0 не увеличивает last_seen, когда узлы не работают, если агент DataStax OpsCenter не работает, используется для работы с 3.2.2

Я использовал 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.