Как установить netstat для проверки нагрузки сервера и т.д.?

Я вошел в приложение командой ./launcher enter app и выполнил команду

apt install net-tools

Это не сработало.

Я обычно не трогаю настройку Discourse, но мне нужно разобраться с недавним ростом нагрузки на сервер (увеличением спроса пользователей), поэтому я предположил, что мне нужно зайти в приложение и запустить netstat.

Оказывается, эта утилита не установлена по умолчанию, и я не могу её установить.

Я понимаю, что это довольно простой вопрос, и, вероятно, упускаю что-то очевидное. Возможно, мне вообще не нужно находиться внутри приложения?

Контейнеры Discourse создаются с использованием шаблона app.yml, и все необходимые пакеты должны быть установлены в процессе сборки образа (т.е. при запуске команды ./launcher rebuild app). Установить пакеты интерактивно изнутри запущенного контейнера невозможно.

В результате такие распространённые утилиты, как net-tools (предоставляющая команду netstat), обычно не включаются в образ и не могут быть легко добавлены после запуска контейнера.

Если вам требуется netstat внутри контейнера, необходимо добавить его в ваш файл app.yml, а затем пересобрать контейнер.

Понял, спасибо за эту информацию.

Вот почему я больше или меньше оставляю вещи там как есть. Я вообще не очень знаком с этим, только с плагинами и кастомизацией базового app.yml.

Есть ли на Meta руководство, которое охватывает более масштабные приключения с app.yml?

Почему бы не установить это на хосте, а не в контейнере? Если вы хотите проверить нагрузку на сервер, имеет смысл делать это на уровне хоста.

Когда вы говорите «хост», вы имеете в виду уровень ОС / Linux?

У меня есть netstat в ОС Ubuntu, но я думал, что он нужен внутри контейнера (где и происходит вся магия, с nginx и т. д.), если я правильно понимаю.

Я пытался оценить, есть ли у нашего дроплета похожая или даже та же проблема, что и в этом случае другого пользователя: Discourse overloaded real traffic or DDOS? 100% CPU usage despite of decent traffic and high specs server

Действительно, необходимо установить мониторинг на внешнем уровне. Рассматривайте контейнер как средство изоляции: идея заключается в том, что процессы внутри контейнера не могут нарушить работу внешних систем. Однако внешний уровень может отслеживать всё, что происходит внутри: весь сетевой трафик, активность процессора, нагрузку на память.