В данном разделе описаны команды управления составными элементами кластеров — нодами.

Нода представляет собой виртуальную машину 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