Назад | Перейти на главную страницу

Регистрация использования полосы пропускания?

Чтобы упростить себе жизнь, я хочу в течение дня регистрировать всю полосу пропускания, используемую на моем сервере, а затем как-то экспортировать ее. Неважно, как он это экспортирует, потому что я могу сам разбирать этот материал, но мне нужно программное обеспечение, чтобы иметь возможность точно регистрировать входящий и исходящий трафик eth0.

Если кто-нибудь знает о таком программном обеспечении, был бы признателен, если бы вы предоставили ссылку. Я уже гуглил такие вещи, но ничего подходящего не нашел.

Ура.

Моя рекомендация vnStat:

vnStat - это консольный монитор сетевого трафика для Linux и BSD, который ведет журнал сетевого трафика для выбранных интерфейсов.

Он работает так, как рекламируется, и кажется подходящим для ваших нужд.

Чтобы облегчить синтаксический анализ, вы, вероятно, захотите взглянуть на --xml и --dumpdb переключиться в документация vnstat:

  • --xml : Показать содержимое базы данных для выбранного интерфейса или всех интерфейсов в формате xml. Все значения трафика на выходе указаны в КиБ.
  • --dumpdb : Вместо того, чтобы показывать базу данных с форматированным выводом, этот вывод будет выгружать всю базу данных в формате, который должен быть легко проанализирован с большинством языков сценариев.

Список возможностей:

  • быстро и просто установить и запустить
  • собранная статистика сохраняется после перезагрузки системы
  • может контролировать несколько интерфейсов одновременно
  • несколько вариантов вывода
  • сводка, ежечасно, ежедневно, ежемесячно, еженедельно, 10 лучших дней
  • необязательный вывод изображения PNG (с использованием libgd)
  • месяцев можно настроить для отслеживания расчетного периода
  • легкий, минимальное использование ресурсов
  • одинаково низкое использование процессора независимо от трафика
  • можно использовать без прав root

При использовании logstash с кибаной это легко настроить

Что мы сделали, так это записали общий трафик в файл журнала с помощью следующего сценария bash.

LOGPATH="systemstatus.log"



timestamp() {
  date +"%Y-%m-%dT%T.%N"
}


while ( sleep 60 ) ; do
#clear log file 
truncate -s 0 $LOGPATH

#log timstamp and type of log line
echo -n "$(timestamp) linux::systemstatus::network " >> $LOGPATH
#remove tabs and spaces from grep result
grep "eth" /proc/net/dev |head -n1|sed -e 's/^[ \t]*//'| sed -n 's/  \+/ /gp' >> $LOGPATH

Done

Nxlog экспортирует журнал в logstash и kibana.

В logstash строка разбирается на отдельные значения. Kibana делает трафик видимым на производной гистограмме (это показывает разницу от одного значения к другому)

Это дает нам хороший общий график используемой полосы пропускания. Вдобавок к этому мы также регистрируем использование ЦП, диска и памяти сервера.

Примечание: мы анализируем всю строку журнала из / proc / net / dev на отдельные значения на тот случай, если мы хотим отслеживать потерянные пакеты или ошибки.

Поскольку вы сказали eth0, Я должен предположить, что у вас должен быть какой-то дистрибутив Linux. Если да, добавьте linux отметьте свой вопрос.

Если вы ищете хороший регистратор сетевого трафика для Linux, рассмотрите ulogd. Он может записывать очень подробные данные об IP-пакетах в текстовые файлы и базы данных. Вы можете контролировать, что вам нужно регистрировать, используя -j ULOG в правилах iptables.

Рассматривали ли вы возможность использования SNMP для регистрации этого (и многих, многих других) в вашей системе? Многие системы мониторинга должны иметь возможность получать информацию, и если она у вас уже есть, вы, вероятно, сможете использовать ее без необходимости развертывания другого решения.

можешь попробовать ntop или пропускная способность. зависит от того, какие службы вы используете.

эти два чаще всего развертываются на маршрутизаторах, пересылающих трафик на множество компьютеров, но они также должны работать на одной машине.