/node/ - команды управления нодами
В данном разделе описаны команды управления составными элементами кластеров — нодами.
Нода представляет собой виртуальную машину Erlang и является элементом вычислительного кластера ECSS-10.
Ноды в ECSS-10 типизируются по выполняемому на них функционалу. Однотипные ноды объединяются в кластера соответствующего типа.
<NODE> - название определенной ноды
Ниже описаны общие команды для управления нодами.
check-services
Команда показывает ноды, которые удачно запущены на ECSS-10.
Путь команды:
/node/check-services
Синтаксис:
check-services
Параметры:
Команда не содержит аргументов.
Пример:
admin@mycelium1@ecss1:/$ node/check-services Nodes: core1@ecss1 core1@ecss2 ds1@ecss1 ds1@ecss2 md1@ecss1 md1@ecss2 mycelium1@ecss1 mycelium1@ecss2 sip1@ecss1 sip1@ecss2 All services are started
clear-all-logs
Команда используется для удаления всех log-файлов на всех нодах системы.
Путь команды:
/node/clear-all-logs
Синтаксис:
clear-all-logs [--force]
Параметры:
--force - удалить все логи без подтверждения
Пример:
admin@mycelium1@ecss1:/$ node/clear-all-logs --force Operation complete. [**********************************************************************] 1s 130ms ┌───────────────┬──────┐ │ Node │Result│ ├───────────────┼──────┤ │core1@ecss1 │ok │ │core1@ecss2 │ok │ │ds1@ecss1 │ok │ │ds1@ecss2 │ok │ │md1@ecss1 │ok │ │md1@ecss2 │ok │ │mycelium1@ecss1│ok │ │mycelium1@ecss2│ok │ │sip1@ecss1 │ok │ │sip1@ecss2 │ok │ └───────────────┴──────┘
date
Команда для просмотра времени запуска нод системе.
Примечание. Максимальное различие между реальным и указанным временем может составлять 50 мс.
Путь команды:
/node/date
Синтаксис:
date
Параметры:
Команда не содержит аргументов.
Пример:
admin@mycelium1@ecss1:/$ node/date Node Date Time core1@ecss1 04.03.2021 10:39:24 core1@ecss2 04.03.2021 10:39:24 ds1@ecss1 04.03.2021 10:39:24 ds1@ecss2 04.03.2021 10:39:24 md1@ecss1 04.03.2021 10:39:24 md1@ecss2 04.03.2021 10:39:24 mycelium1@ecss1 04.03.2021 10:39:24 mycelium1@ecss2 04.03.2021 10:39:24 sip1@ecss1 04.03.2021 10:39:24 sip1@ecss2 04.03.2021 10:39:24 Maximum difference: 83 ms Time difference is possible due to the sequentially nodes traversal.
dumps-all-logs
Команда предназначена для получения "слепка" логов со всех запущенных нод.
Путь команды:
/node/dumps-all-logs
Синтаксис:
dump <hostname> [--compressed | --raw] [--file <PATH><FILE_NAME> | <FILE_NAME>] [--deep <DEEP>] [--size <SIZE>]
Параметры:
- <hostname> - имя хоста;
- --file <FILE_NAME> - имя файла, в которую будет создан dump логов. По умолчанию равен: dump_<NODE>_<YYYY>_<MM>_<DD>_<hh>_<mm>_<ss>;
- --compressed - дамп логов будет сжат в TAR + GZIP архив;
- --raw - дамп логов будет сделан в виде отдельной папки;
- --deep <DEEP> - в случае авторотации файлов логов, сколько последних логов помещать в dump. Если не указать - помещаются все логи данной ноды.
- --size <SIZE> -максимальный размер архива, по умолчанию - 256 MB;
По умолчанию дамп производится с параметрами --compressed --size 256 --file dump_<NODE>_<YYYY>_<MM>_<DD>_<hh>_<mm>_<ss>
Каталог, куда пишутся дампы жестко определен в /var/log/ecss/dump/.
Пример:
admin@mycelium1@ecss1:/$ node/dumps-all-logs ecss1 --compressed --size 512 Completed command. [**********************************************************************] 29s 46ms Nodes: core1@ecss1 core1@ecss2 ds1@ecss1 ds1@ecss2 md1@ecss1 md1@ecss2 mycelium1@ecss1 mycelium1@ecss2 sip1@ecss1 sip1@ecss2 ┌───────────────┬──────────┐ │ Node │ Event │ ├───────────────┼──────────┤ │core1@ecss1 │successful│ │core1@ecss2 │successful│ │ds1@ecss1 │successful│ │ds1@ecss2 │successful│ │md1@ecss1 │successful│ │md1@ecss2 │successful│ │mycelium1@ecss1│successful│ │mycelium1@ecss2│successful│ │sip1@ecss1 │successful│ │sip1@ecss2 │successful│ └───────────────┴──────────┘ Data is stored in /var/log/ecss/dump/dump_2021_03_04_10_40_13.tar.gz
host-info
Команда для просмотра информации о хостовой машине для выбранной ноды.
Путь команды:
/node/host-info
Синтаксис:
host-info [<TYPE>]
<TYPE> - тип запрашиваемой инофрмации:
- cpu - получить информацию о загрузке процессора из файла unix /proc/stat;
- disk - получить информацию о использовании диска с помощью disksup:get_disk_data/0;
- interfaces - получить список сетевых интерфейсов хоста с помощью inet:getifaddrs/0;
- memory - получить информацию о динамически выделенной ВМ Erlang памяти с помощью вызова erlang:memory/0;
- memory_total - получить информацию о емкости RAM диска хостовой машины с помощью вызова memsup:get_system_memory_data/0;
- nodes - получить список активных нод erlang'a (включая выбранную ноду).
По умолчанию выводится вся информация.
Пример:
admin@mycelium1@ecss1:/$ node/hosts-info memory ┌───────────┬───────────────────────┐ │ Node │ Result │ ├───────────┼───────────────────────┤ │core1@ecss1│Memory used: │ │ │total: 460.3M │ │ │processes: 205M │ │ │processes_used: 205M │ │ │system: 255.29M│ │ │atom: 3.81M │ │ │atom_used: 3.79M │ │ │binary: 5.98M │ │ │code: 100.45M│ │ │ets: 25.29M │ │core1@ecss2│Memory used: │ │ │total: 349.44M│ │ │processes: 100.34M│ │ │processes_used: 100.33M│ │ │system: 249.09M│ │ │atom: 3.8M │ │ │atom_used: 3.78M │ │ │binary: 4.02M │ │ │code: 100.44M│ │ │ets: 21.55M │ └───────────┴───────────────────────┘
nodes-info
Команда для просмотра сервисной информации по всем запущенным нодам системы.
Путь команды:
/node/nodes-info
Синтаксис:
nodes-info [<OPTIONS>]
<OPTIONS> - опция, если не указывать данный параметр, то будет показана информация о нодах системы:
- applications <Application> - информация об определенном приложении;
- memory <Param> - информация об используемой памяти по заданному параметру;
- nodes - информация о нодах системы, установлено по умолчанию;
- releases - информация о релизе каждой ноды;
- root_dirs - информация о корневых директориях ноды;
- statistics <Param> - статистическая информация по заданному параметру;
- system <Param> - системная информация по заданному параметру.
Примеры:
admin@mycelium1@ecss1:/$ node/nodes-info releases ┌───────────────┬───────────────────────────────────┬────────────────────────────────────────┬────────────────────────────────────────┐ │ Node │ Release │ Build VSN │ Release VSN │ ├───────────────┼───────────────────────────────────┼────────────────────────────────────────┼────────────────────────────────────────┤ │core1@ecss1 │ ecss-core 3.14.7.626 permanent │3e8d6d89b14bf5d61e8af17dbb4cecb2828b045e│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │core1@ecss2 │ ecss-core 3.14.7.626 permanent │b5978ebac2635c96f6693a5cabe2adbe39a97e41│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │ds1@ecss1 │ ecss-ds 3.14.7.626 permanent │d109d271f6f9ce25b71e8f269c3666529b24ff24│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │ds1@ecss2 │ ecss-ds 3.14.7.626 permanent │3906b06e556fc8fb55b1f470b0bfa587b8663119│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │md1@ecss1 │ ecss-mediator 3.14.7.626 permanent│babc6e65c0dd2814e1eebb13591fb8be442359a3│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │md1@ecss2 │ ecss-mediator 3.14.7.626 permanent│707c562ab4a3d174dded238461203d9e5b858f66│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │mycelium1@ecss1│ ecss-mycelium 3.14.7.626 permanent│b4fe0d4e5508d6f3e0148e48692208d9bacb1dd5│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │mycelium1@ecss2│ ecss-mycelium 3.14.7.626 permanent│2c61cb283bd8d800730af58adf119a7c0b8eca01│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │sip1@ecss1 │ ecss-pa-sip 3.14.7.626 permanent │6c30053cfb2f6b71e807a40475022768a73b5e60│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │sip1@ecss2 │ ecss-pa-sip 3.14.7.626 permanent │6ccab5de811cf98dc15eda9701de4ea02538723d│da39a3ee5e6b4b0d3255bfef95601890afd80709│ └───────────────┴───────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┘
admin@mycelium1@ecss1:/$ node/nodes-info root_dirs ┌───────────────┬────────────────────────────┐ │ Node │ Result │ ├───────────────┼────────────────────────────┤ │core1@ecss1 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │core1@ecss2 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │ds1@ecss1 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │ds1@ecss2 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │md1@ecss1 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │md1@ecss2 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │mycelium1@ecss1│ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │mycelium1@ecss2│ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │sip1@ecss1 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ │sip1@ecss2 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ └───────────────┴────────────────────────────┘
rotate-all-logs
Команда для ротации логов по всем нодам системы.
Путь команды:
/node/rotate-all-logs
Синтаксис:
rotate-all-logs
Команда не имеет параметров
Пример:
admin@mycelium1@ecss1:/$ node/rotate-all-logs Logs successfully rotated for rule(s): fax_reports, email_notifications, all_info_bin, all_warning, all_errors, alarm_error, restart, fax_reports, email_notifications, all_info_bin, all_warning, all_errors, alarm_error, restart, all_infos_bin, all_warning, all_errors, alarm_error, restart, all_infos_bin, all_warning, all_errors, alarm_error, restart, all_infos_bin, all_warning, all_errors, alarm_error, restart, all_infos_bin, all_warning, all_errors, alarm_error, restart, info_tty, watchdog, watchdog_tty, info, all_errors, all_warning, alarm_error, restart, info_tty, watchdog, watchdog_tty, info, all_errors, all_warning, alarm_error, restart, config, siptrace, alarm, restart1, all_warning, all_errors, alarm_error, restart, config, siptrace, alarm, restart1, all_warning, all_errors, alarm_error, restart.
uptime
Показывает время непрерывной работы нод.
Путь команды:
/node/uptime
Синтаксис:
uptime
Параметры:
Команда не содержит аргументов.
Пример:
admin@mycelium1@ecss1:/$ node/uptime core1@ecss1 ecss-core-3.14.7.626 14h 53m core1@ecss2 ecss-core-3.14.7.626 33m 26s ds1@ecss1 ecss-ds-3.14.7.626 14h 53m ds1@ecss2 ecss-ds-3.14.7.626 33m 26s md1@ecss1 ecss-mediator-3.14.7.626 14h 53m md1@ecss2 ecss-mediator-3.14.7.626 33m 26s mycelium1@ecss1 ecss-mycelium-3.14.7.626 14h 53m mycelium1@ecss2 ecss-mycelium-3.14.7.626 33m 26s sip1@ecss1 ecss-pa-sip-3.14.7.626 14h 53m sip1@ecss2 ecss-pa-sip-3.14.7.626 33m 26s