Это расширенная версия этого
Для одного DC я могу использовать команду, как описано в ссылке выше:
nodetool status | awk '/^(U|D)(N|L|J|M)/' | wc -l
Я не уверен, как получить массив счетчиков для нескольких постоянных.
Вывод инструмента узла будет выглядеть следующим образом:
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
DN xx.xx.xx.xx 446.13 KB 256 ? 968d5d1e-a113-40ce-9521-e392a927ea5e rack1
DL xx.xx.xx.xx 446.13 KB 256 ? fc5c2dbe-8834-4040-9e77-c3d8199b6767 rack1
Datacenter: DC2
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN xx.xx.xx.xx 446.13 KB 256 ? 6d28d540-2b44-4522-8612-b5f70a3d7d52 rack1
Ожидаемый результат в вышеуказанном случае:
2 1
Примечание: я не хочу использовать таблицу пиров, поскольку некоторые недействительные записи могут дать неправильный результат, однако статус nodetool более надежен.