/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 [exec at: 07.02.2019 12:47:00, exec time: 209ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]
clear-all-logs
Команда используется для удаления всех log-файлов на всех нодах системы.
Путь команды:
/node/clear-all-logs
Синтаксис:
clear-all-logs [--force]
Параметры:
--force - удалить все логи без подтверждения
Пример:
admin@[mycelium1@ecss1]:/$ node/clear-all-logs [clear-all-logs] The system is going to clean logs on all nodes. Are you sure: yes/no ?> yes Operation complete. [**********************************************************************] 3s 772ms ┌───────────────┬──────┐ │ 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 │ └───────────────┴──────┘ [exec at: 07.02.2019 13:12:09, exec time: 11s 935ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]
date
Команда для просмотра времени запуска нод системе.
Примечание. Максимальное различие между реальным и указанным временем может составлять 50 мс.
Путь команды:
/node/date
Синтаксис:
date
Параметры:
Команда не содержит аргументов.
Пример:
admin@[mycelium1@ecss1]:/$ node/date Node Date Time core1@ecss1 07.02.2019 12:58:23 core1@ecss2 07.02.2019 12:58:23 ds1@ecss1 07.02.2019 12:58:23 ds1@ecss2 07.02.2019 12:58:23 md1@ecss1 07.02.2019 12:58:23 md1@ecss2 07.02.2019 12:58:23 mycelium1@ecss1 07.02.2019 12:58:24 mycelium1@ecss2 07.02.2019 12:58:24 sip1@ecss1 07.02.2019 12:58:24 sip1@ecss2 07.02.2019 12:58:24 Maximum difference: 735 ms Time difference is possible due to the sequentially nodes traversal. [exec at: 07.02.2019 12:58:24, exec time: 864ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]
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@ds1@ecss1:/$ node/dumps-all-logs ecss1 --compressed --size 512 Completed command. [**********************************************************************] 3m 1s 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_2019_04_17_21_41_56.tar.gz [exec at: 17.04.2019 21:44:58, exec time: 3m 2s, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]
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 interfaces ┌───────────┬────────────────────────────────────────────────────────────────────────────────┐ │ Node │ Result │ ├───────────┼────────────────────────────────────────────────────────────────────────────────┤ │core1@ecss1│Interfaces: │ │ │ Name MAC addr IP addr Net mask │ │ │ Dst addr │ │ │lo 00:00:00:00:00:00 127.0.0.1 255.0.0.0 │ │ │ - │ │ │enp3s0 E6:BA:27:44:78:35 - - │ │ │ - │ │ │enp0s25 E6:BA:27:44:78:35 - - │ │ │ - │ │ │bond1 E6:BA:27:44:78:35 fe80::e4ba:27ff:fe44:7835 ffff:ffff:ffff:ffff:│ │ │: - │ │ │bond1.3 E6:BA:27:44:78:35 192.168.1.21 255.255.255.0 │ │ │ - │ │ │bond1.2 E6:BA:27:44:78:35 192.168.2.21 255.255.255.0 │ │ │ - │ │ │bond1.476 E6:BA:27:44:78:35 10.16.33.5 255.255.255.0 │ │ │ - │ │ │bond1.3:MYSQL 192.168.1.71 255.255.255.0 │ │ │ - │ │ │bond1.2:SIP61 192.168.2.61 255.255.255.0 │ │ │ - │ │ │bond1.2:TC 192.168.2.63 255.255.255.0 │ │ │ - │ │ │bond1.476:SIP10 10.16.33.10 255.255.255.0 │ │ │ - │ │core1@ecss2│Interfaces: │ │ │ Name MAC addr IP addr Net mask │ │ │ Dst addr │ │ │lo 00:00:00:00:00:00 127.0.0.1 255.0.0.0 │ │ │ - │ │ │enp1s0 72:6C:75:F2:B4:F9 - - │ │ │ - │ │ │enp2s0 72:6C:75:F2:B4:F9 - - │ │ │ - │ │ │bond1 72:6C:75:F2:B4:F9 fe80::706c:75ff:fef2:b4f9 ffff:ffff:ffff:ffff:│ │ │: - │ │ │bond1.476 72:6C:75:F2:B4:F9 10.16.33.6 255.255.255.0 │ │ │ - │ │ │bond1.3 72:6C:75:F2:B4:F9 192.168.1.22 255.255.255.0 │ │ │ - │ │ │bond1.2 72:6C:75:F2:B4:F9 192.168.2.22 255.255.255.0 │ │ │ - │ │ │bond1.476:SIP11 10.16.33.11 255.255.255.0 │ │ │ - │ │ │bond1.2:SIP62 192.168.2.62 255.255.255.0 │ │ │ - │ └───────────┴────────────────────────────────────────────────────────────────────────────────┘ [exec at: 07.02.2019 13:21:55, exec time: 259ms, nodes: core1@ecss1,core1@ecss2,mycelium1@ecss1]
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.0.101 permanent │3d775b5f090a05e541539ea6d5d3843aa6eadacd│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │core1@ecss2 │ ecss-core 3.14.0.101 permanent │5761615e086650def75dd993b1c0ec7fe3118e52│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │ds1@ecss1 │ ecss-ds 3.14.0.101 permanent │3d1575d6f25b207d09c46c9aa8134b4b8f06f8fc│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │ds1@ecss2 │ ecss-ds 3.14.0.101 permanent │05b0ab6ab6a0cedbd4d3dbb34e9fcd29a4bffcb8│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │md1@ecss1 │ ecss-mediator 3.14.0.101 permanent│6180934c8b3a8e8a849055214144f425fc20401d│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │md1@ecss2 │ ecss-mediator 3.14.0.101 permanent│fe4a872d636ef0b92e2b2afb74912f5f2a087955│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │mycelium1@ecss1│ ecss-mycelium 3.14.0.101 permanent│b0e1565c67b8b6f00750745bc9ac58a3d46d32b0│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │mycelium1@ecss2│ ecss-mycelium 3.14.0.101 permanent│23791dbdbcd7e0f7693f823e27981c8183a13f7f│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │sip1@ecss1 │ ecss-pa-sip 3.14.0.101 permanent │386e4927e1c8c8b6244ab45ac7ada63df18aad0e│da39a3ee5e6b4b0d3255bfef95601890afd80709│ │sip1@ecss2 │ ecss-pa-sip 3.14.0.101 permanent │96cebd58d875162a1e8bcfe60ea9f8a8d35912be│da39a3ee5e6b4b0d3255bfef95601890afd80709│ └───────────────┴───────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┘ [exec at: 07.02.2019 13:26:47, exec time: 1s 296ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss
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│ │ds1@ecss1 │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│ │megaco1@ecss1 │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│ │sip1@ecss1 │ROOT DIRECTORIES: │ │ │ config_root: /etc/ecss │ │ │ data_root: /var/lib/ecss │ │ │ log_root: /var/log/ecss │ │ │ cache_dir: /var/cache/ecss│ └───────────────┴────────────────────────────┘ [exec at: 28.05.2020 11:19:28, exec time: 77ms, nodes: core1@ecss1,ds1@ecss1,md1@ecss1,megaco1@ecss1,mycelium1@ecss1,sip1@ecss1]
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, 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, config, siptrace, alarm, restart1, all_warning, all_errors, alarm_error, restart. [exec at: 23.11.2019 14:47:50, exec time: 1s 126ms, nodes: core1@ecss1,ds1@ecss1,md1@ecss1,megaco1@ecss1,mycelium1@ecss1,sip1@ecss1]
uptime
Показывает время непрерывной работы нод.
Путь команды:
/node/uptime
Синтаксис:
uptime
Параметры:
Команда не содержит аргументов.
Пример:
admin@[mycelium1@ecss1]:/$ node/uptime core1@ecss1 ecss-core-3.14.0.101 1h 22m core1@ecss2 ecss-core-3.14.0.101 51m 25s ds1@ecss1 ecss-ds-3.14.0.101 1h 22m ds1@ecss2 ecss-ds-3.14.0.101 51m 24s md1@ecss1 ecss-mediator-3.14.0.101 1h 21m md1@ecss2 ecss-mediator-3.14.0.101 51m 25s mycelium1@ecss1 ecss-mycelium-3.14.0.101 1h 22m mycelium1@ecss2 ecss-mycelium-3.14.0.101 51m 25s sip1@ecss1 ecss-pa-sip-3.14.0.101 1h 21m sip1@ecss2 ecss-pa-sip-3.14.0.101 51m 25s [exec at: 07.02.2019 13:29:14, exec time: 140ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]