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

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