Низкоуровневый мониторинг расходования ресурсов

Описание порядка настройки низкоуровневого мониторинга расходования ресурсов.

Низкоуровневый мониторинг расходования ресурсов применяется для выявления нештатных ситуаций в работе шлюза NGate, когда аппаратные платформы NGate работают некорректно или с низкой производительностью, несмотря на корректно сконфигурированную и верифицированную политику. Одной из причин возникновения нештатной ситуации является утечки ресурсов в ПО NGate, например, утечки памяти или сетевых ресурсов.

  1. Необходимо обеспечить локальный доступ к аппаратной платформе с помощью консольного терминала или монитора и клавиатуры, подключив данные устройства к соответствующим портам (COM-порту, USB).
    Прим.: Возможно удаленное подключение по протоколу SSH. Доступ необходимо предварительно открыть, если такой доступ возможен по требованиям безопасности!
  2. Авторизуйтесь в системе под суперпользователем root.
  3. При подозрении на расходование памяти, следует выполнить следующую последовательность действий (в примере используется процесс uiad):
    1. Выполните команду для нахождения идентификатора процесса (англ. pid ‒ process ID):
      ps aux | grep nginx
    2. Для мониторинга выбираем pid либо master process, либо worker process, выполняемые на машине:
      root 6505 0.0 0.0 85964 384 ? Ss 09:16 0:00 nginx: master process /opt/nginx/sbin/nginx
      -c /etc/opt/ngate/ngconfig/current/nginx/nginx.conf
      nginx 6506 0.1 0.8 196752 4416 ? Sl 09:16 0:28 nginx: worker process
      root 12864 0.0 0.1 11112 988 pts/0 S+ 13:31 0:00 grep nginx 
    3. Проверьте количество памяти, выделенной ОС контролируемому процессу из предыдущего шага с помощью команды:
      cat /proc/6506/status | grep VmSize
      Результат выполнения команды:
      VmSize: 196752 kB
      Произведите несколько измерений, котноролируя VmSize.
    4. Если происходит увеличение количества выделенной памяти (VmSize) без видимых причин, это может сигнализировать об утечке памяти. Необходимо записать и отправить разработчику диагностические данные.
      Важное замечание: Изменения в количестве доступных ресурсов могут быть вызваны флуктуациями, связанными с непредсказуемостью сетевых потоков и изменениями в работе пользователей!
  4. Проверьте работу сетевых ресурсов при подозрении некорректной работы ресурсов. Для проверки необходимо выполнить следующую последовательность действий (в примере используется процесс nginx):
    1. Осуществите поиск unix-сокетов, открытых процессом nginx, с помощью команды:
      ss –xp | grep nginx | wc –l
    2. На экран будет выведено число открытых nginx сокетов (unix-сокетов). Контролийруйте число сокетов. Подсчёт используемых процессом сокетов производится периодически (не чаще раз в 5 с).
    3. Если в результате контроля будет установлено, что с течением времени количество используемых unix-сокетов растет, то может происходить утечка ресурсов. Необходимо записать и отправить разработчику диагностические данные.
      Важное замечание: Изменения в количестве доступных ресурсов могут быть вызваны колебаниями, связанными с непредсказуемостью сетевых потоков и изменениями в работе пользователей!