- Мониторинг (измерение) потребляемого траффика в Linux
- Пошаговая инструкция
- Рулим трафиком в Linux. Аккаунтинг, сбор статистики
- Настройка PPTP-сервера
- Настройка ulog-acctd
- Настройка iptables
- MySQL и схема БД
- Парсим лог
- Более чем 80 средств мониторинга системы Linux
- Network related monitoring
- System related monitoring
- Log monitoring tools
- System tools
- Infrastructure monitoring tools
- Бонус
Мониторинг (измерение) потребляемого траффика в Linux
Однажды мне потребовалось измерить количество трафика, которое «пожирает» некоторое приложение. Один из способов такого измерения — это установить прокси. Но что, если не хочется ставить прокси-сервер. Мне вот не хотелось. В поисках других способов я сначала перерыл Хабр, потом интернет. Так как я в своё время потратил на это много времени, то сейчас я создаю эту заметку, чтобы у других такой проблемы не возникло.
ВАЖНО:
Этот метод работает, если мы знаем по какому адресу (адресам) обращается наше приложение, или же с какого/каких портов.
Пошаговая инструкция
1. iptraf
iptraf — это небольшая программа, которая умеет мониторить всю сетевую активность компьютера.
Исходники и бинарники можно загрузить с сайта iptraf.
В случае Ubuntu установить iptraf можно выполнив команду:
sudo apt-get install iptraf
2. Запускаем!
В терминале пишем: iptraf
3. Настраиваем
Надо включить логирование (иначе программа ограничиться выводом на экран). Делается это, очевидно, в разделе «Configure».
4. Запуск мониторинга
Уходим из настроек, жмём «IP traffic monitor» и выбираем путь к файлу, куда будем логировать сетевую активность.
После этого мы должны увидеть такую картину:
Это всё, что нужно! Почти.
5. Анализ
Как я уже упоминал выше, нужно знать, по какому адресу/порту обращается наше приложение (трафик которого мы высчитываем).
Например, если мы хотим посчитать сколько трафика «стоит» час радио last.fm, мы должны определить следующее:
приложение last.fm обращается к адресам вроде таких:
195.24.* (last.fm не обращается к одному адресу, а обращается к диапазону адресов).
Чтобы вытащить из лога (который писался час) количество трафика, которое было съедено, я написал небольшую «программку» на java, которая этот трафик и считает:
Этот вариант хорошо работает, когда вы постоянно пишите логи, а потом уже надо «что-то там» измерить. Просто нужно написать/сконфигурировать парсер именно так, как необходимо в конкретной ситуации, и тогда можно получить все необходимые данные.
Источник
Рулим трафиком в Linux. Аккаунтинг, сбор статистики
Каждый админ должен в своей жизни настроить сендмейл, написать биллинг и обругать маздай 🙂
© bash.org.ru
Сендмейл мы настраивать не будем, как и ругать детище Билли, а попробуем создать что-то вроде биллинга, т.к. этот вопрос рано или поздно встает практически перед всеми системными администраторами.
Статья ориентирована на новичков в администрировании и опытным спецам навряд ли будет интересна.
И так, что мы имеем? Сеть из 50-200 компьютеров, выделенный интернет-канал (ADSL, Ethernet, etc..), linux-роутер. Требуется считать интернет-трафик пользователей (по разным направлениям), ограничивать скорость, определять лимиты трафика в месяц. В дополнение, хочется управлять всем этим через какую-нибудь веб-морду.
За основу возьмем дистрибутив ubuntu-server 8.04.
Чтобы однозначно идентифицировать пользователя и обезопасить кражи трафика при помощи подмены айпи-адресов, настроим VPN-сеть, используя PPTPD.
Практически все действия в консоли будем выполнять от рута, поэтому чтобы не писать каждый раз sudo, пишем:
Настройка PPTP-сервера
# apt-get install pptpd
Открываем конфиг /etc/pptpd.conf и добавляем строчки:
определяем адрес сервера и диапазон адресов пользователей в виртуальной сети.
По-умолчанию pptpd хранит аккаунты пользователей в файле /etc/ppp/chap-secrets, добавляем тестовые аккаунты:
# Secrets for authentication using CHAP
# client server secret IP addresses
user1 pptpd 123 10.1.0.2
user2 pptpd 567 10.1.0.3
обратите внимание на айпи-адреса, они должны быть из диапазона, указанного в параметре remoteip файла /etc/pptpd.conf!
Перезапускаем сервис pptpd:
Разрешаем подключения к нашему сервису:
# iptables -A INPUT -s 192.168.0.0/24 -p tcp -m state —state NEW -m tcp —dport 1723 -j ACCEPT
Вместо 192.168.0.0/24 подставьте адрес своей локальной сети. Пробуем подключиться к нашей виртуальной сети, для этого создаем на машине с Win XP новое VPN — соединение («Создание нового подключения» — «Подключение к сети на рабочем месте» -«Подключение к виртуальной частной сети»). Если все получилось двигаемся дальше.
Настройка ulog-acctd
# apt-get install ulog-acctd
Открываем конфиг /etc/ulog-acctd.conf. Нас интересуют параметры accounting format и fdelay.
Параметр accounting format отвечает за формат записи лога, подробное описание каждого параметра есть в комментариях, так что подробно расписывать не буду. Нам нужен такой формат:
# время отправитель получатель трафик
accounting format=»%t\t%s\t%d\t%b\n»
Параметр fdelay определяет через какой промежуток времени ulog-acctd будет сбрасывать накопленную статистику в лог, выставим его в 10 секунд.
Настройка iptables
# iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
Этим правилом сообщаем ulog’у какой трафик логировать:
# iptables -A FORWARD -d 10.1.0.0/24 -j ULOG —ulog-cprange 48 —ulog-qthreshold 50
Нас интересует транзитный трафик, идущий в VPN — сеть.
Теперь протестируем получившуюся связку, подключитесь к сети и попробуйте что-нибудь скачать, в логе /var/log/ulog-acctd/account.log должны появится такие записи:
1224187495 208.67.222.222 10.1.0.2 126
1224187534 205.188.9.192 10.1.0.2 40
1224187556 62.213.122.2 10.1.0.2 10660
1224187594 205.188.9.192 10.1.0.2 40
1224187599 62.213.122.2 10.1.0.2 22130
1224187615 62.213.122.2 10.1.0.2 1037
.
Первое значение — время в формате unix, второе — адрес отправителя, третье — адрес получателя (пользователя), четвертое — количество байт.
MySQL и схема БД
# apt-get install mysql-server
Создаем в MySQL пользователя ulog и импортируем схему БД:
CREATE DATABASE `ulogdb` DEFAULT CHARSET utf8;
CREATE TABLE `data` (
`id` int(11) NOT NULL auto_increment,
`id_user` int(11) NOT NULL,
`ts` int(11) NOT NULL,
`bytes` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET utf8;
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(32) NOT NULL,
`password` varchar(64) NOT NULL,
`ip` varchar(15) NOT NULL,
PRIMARY KEY (`id`),
KEY `ip` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET utf8;
Это упрощенная схема, позже мы ее модернизируем. В таблице data храним агрегированную статистику по трафику, в users информация о пользователях. Добавьте в таблицу users пользователей, которых указали в /etc/ppp/chap-secrets.
INSERT INTO `users` (`login`, `password`, `ip`) VALUES
(‘user1’, ‘123’, ‘10.1.0.2’);
INSERT INTO `users` (`login`, `password`, `ip`) VALUES
(‘user2’, ‘567’, ‘10.1.0.3’);
Парсим лог
# apt-get install libdbd-mysql-perl
Привожу полный текст срипта:
# определяем имя БД, пользователя и пароль
my $db_name = «ulogdb»;
my $db_user = «ulog»;
my $db_pass = «1234»;
# путь к лог-файлу
$account_log = «/var/log/ulog-acctd/account.log»;
# подключаемся к нашей базе
my $DBH = DBI->connect(«DBI:mysql:$db_name:localhost»,$db_user,$db_pass) or die «Error connecting to database»;
# получаем список пользователей в связке ip+id_user
my $STH = $DBH->prepare(«select ip,id from users»);
$STH->execute;
while (@tmp = $STH->fetchrow_array()) <
$users <$tmp[0]>= $tmp[1];
>
$STH->finish;
# делаем временную копию лога и очищаем оригинальный файл
system «cp $account_log /tmp/ulog-parser.tmp && cat /dev/null > $account_log»;
open LOGFILE,» ) <
chomp;
# переменную $saddr пока не используем,
# она пригодится позже
($ts,$saddr,$daddr,$bytes) = split /\t/;
# создаем новую временную метку, необходимо для агрегирования
# статистки пользователя за определенный интервал времени
# в одну запись. интервалом будем считать 1 минуту
# сопоставляем айпи из лога со списком пользователей
# если айпи имеется в базе — наш клиент
# массив со статистикой имеет древовидную структуру:
# метка времени -> id пользователя -> полученный трафик
# подготавливаем запросы к БД
my $STH_CHK = $DBH->prepare(«select id_user,id from data where ts=?»);
my $STH_ADD = $DBH->prepare(«insert into data (id_user,ts,bytes) values(. )»);
my $STH_UPD = $DBH->prepare(«update data set bytes=bytes+? where >
# проходим по всему массиву статистики вложенным циклом
#
for $ts (keys %data) <
# проверяем, если ли в базе записи с такой меткой времени
$STH_CHK->execute($ts);
%ex_data = ();
while (@tmp = $STH_CHK->fetchrow_array()) <
$ex_data <$tmp[0]>= $tmp[1];
>
$STH_CHK->finish;
# выбираем данные о пользователях в текущем периоде
for $id_user (keys %<$data<$ts>>) <
if (exists($ex_data<$id_user>)) <
# если запись уже есть, то просто обновляем значение поля bytes
$STH_UPD->execute($data<$ts><$id_user>,$ex_data<$id_user>);
$STH_UPD->finish;
> else <
# иначе добавляем новую запись
$STH_ADD->execute($id_user,$ts,$data<$ts><$id_user>);
$STH_ADD->finish;
>
>
>
# отключаемся от БД
$DBH->disconnect;
Сохраним скрипт как /usr/bin/ulog-parser.pl и установим атрибуты:
# chmod 700 /usr/bin/ulog-parser.pl
Пробуем запустить, и смотрим, появились ли данные в таблице data:
При минимальных знаниях PHP и SQL сделать вывод статистики не составит труда 😉
На этом я пока закончу, статья и так слишком большая получилась. Если данная тема будет Вам интересна — напишу продолжение (группировка по трафика по направлениям, ограничение скорости).
Источник
Более чем 80 средств мониторинга системы Linux
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
1. первый инструмент — top
Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
2. htop
htop — системный монитор, как альтернатива команде top, показывает динамический список всех (в отличие от top) системных процессов, время непрерывной работы, использование процессоров и памяти.
atop — интерактивный монитор, аналогичен top, выводит новые изменения об активных процессах в системе. Хороший инструмент для отслеживания узких мест, контроль загрузки центрального процессорного устройства, RAM, компьютерной сети. Из-за того, что работает непрерывно может грузить сервер. Сочетает в себе возможности top, netstat, iostat, accounting и другие. Сохраняет данные в файл собственного двоичного формата (записывает состояние системы в сжатый файл).
apachetop — консольная утилита, мониторит трафик в реальном времени, разбивает логи apache и показывает вывод на экран, одним словом показывает подробную картину использования ваших сайтов.
утилита ftptop дает основную информацию о всех текущих ftp-соединениях с сервером, информацию об общем количестве сеансов, количество загрузок и скачиваний, кто клиент. Позволяет увидеть подключенных к ftp серверу пользователей.
Интересная, удобна и полезная утилита под названием mytop. Подобна утилите top для систем Unix, mytop просматривает все обращения к MySQL серверу в реальном времени.
powertop — утилита, позволяющая обнаружить в системе компоненты, которые потребляют больше энергии чем нужно на вашем ноутбуке, и показывает общее электропотребление (в Вт), информация считывается с различных источников ядра. Это позволит управлять /эксперементировать с настройками по управлению электропитанием, эффективно настроить потребление энергии под вашу машину.
iotop — утилита подобна утилите top, но отображает использование не CPU и памяти, а работу процессов с дисками, написана на Python. Поможет вам определить какой процесс обращается к жесткому диску в Linux. Отображает активные процессы, которые в данный момент выполняют операции I/O с диском, собирает статистику за определенное время.
Network related monitoring
ntopng является следующим поколением ntop, инструмент позволяет мониторить сколько, что и какой IP прокачал через интерфейс на шлюзе, показывает распределение IP-трафика, геолокации хостов, анализ сетевого трафика.
iftop — выводит информацию об активных сетевых соединениях, скорость сетевой закачки/отдачи, мониторит трафик онлайн, разделяет трафик по протоколам, интерфейсам и хостам.
iftop аналогичен top по части использования сети.
jnettop визуализирует сетевой трафик аналогично iftop, мониторит сетевую активность. Утилита для мониторинга трафика в реальном времени.
bandwidthd — утилита для контроля трафика конечных пользователей, строит сводные таблицы (html) и графики по каждому пользователю по IP и по подсети с разбивкой по дням, неделям и месяцам.
EtherApe — показывает сетевой трафик в виде графика, показывает не только соединения, но и поток по каждому из них, вид протокола по номеру порта, сетевую активность разных хостов. На графике узлы выведены в виде кольца, а соединения в виде линий, так вот, чем интенсивнее трафик, тем толще соединительные линии, различные типы трафика обозначены различными цветами.
ethtool — утилита настройки сетевых интерфейсов в Linux. Это означает, что bond0, tun0 и другие устройства, которые не являются физическими, с помощью ethtool ни просматривать, ни редактировать их параметры нельзя.
NetHogs — утилита, которая отслеживает любую сетевую активность всех процессов на компьютере, аналогична top только для сети. Утилита есть в стандартных репозиториях и устанавливается всего одной командой:
Запустить утилиту можно только с правами root-пользователя:
iptraf — утилита наблюдения за сетевыми интерфейсами, мониторит трафик по всем TCP соединениям, приводит статистику по загрузке сетевых интерфейсов, по протоколам, по портам, по размерам пакетов.
ngrep — тотже grep только на сетевом уровне, служит для выборки и просмотра содержимого пакетов, является pcap-совместимой утилитой, дает возможность использовать шестнадцатиричные строки при определении шаблонов.
MRTG — утилита мониторит сетевые линки. MRTG на выходе генерирует html страницы с графиками в png.
bmon — утилита для мониторинга сразу нескольких сетевых интерфейсов в режиме реального времени, поддерживает разные методы ввода/вывода и фильтры, показывает загруженность сетевого интерфейса в виде графика, суммарная загрузка сетевого интерфейса выводится в виде таблицы.
traceroute — утилита с помощью которой можно определить на каком участке IP-сети произошел сбой, «исследовать» IP-сети (маршрутизацию, серверы DNS, магистральный канал передачи данных, он же бэкбон, систему подсетей и т.д.)
IPTState — выводит статистику открытых портов в виде таблицы с указанием IP адресов. Эффективный инструмент, мониторит IP трафик, выводит как общую статистику для всех сетевых интерфейсов, так и детализированную статистику для отдельного взятого интерфейса.
darkstat — мониторит сетевой трафик, выводит статистику использования сети, отправляет отчеты по http. Собранная информация о скорости, количестве переданных пакетов, байтах, посещенных хостах и данных о хостах выводится в виде веб странички.
vnStat — утилита для учета сетевого трафика, сохраняет историю сетевого трафика для выбранных интерфейсов, трафик считается как входящий, так и исходящий для каждого интерфейса. vnStat получает данные из ядра Linux.
netstat — утилита используется для проверки активных TCP соединений, выводит информацию о используемом протоколе, локальном адресе и номере порта, внешнем адресе и номере порта, а также информацию о состоянии соединения.
ss — утилита, можно использовать вместо netstat, она способна показывать более детальную информацию и быстрее, если хотите вывести суммарную статистику — эта утилита для вас. ss собирает и выводит информации о всех TCP и UDP портах, открытых ssh / ftp / http / https соединениях и т.д.
nmap — утилита позволяет сканировать сервер, определяет какая ОС установлена, можно узнать, защищен ли компьютер какими-либо пакетными фильтрами или фаерволом и многие другие возможности (утилита с открытым исходным кодом для исследования сети и проверки безопасности).
MTR — утилита для диагностики сети, комбинирует в себе возможности программ traceroue и ping, производит исследование соединений между узлом, на котором она запущена и целевым узлом, программа позволяет определить узел, на котором происходят потери пакетов.
Tcpdump — выводит заголовки пакетов проходящих через сетевой интерфейс, которые совпадают с булевым выражением, входит в большинство дистрибутивов Unix и позволяет перехватывать и отображать/сохранять в файл сетевой трафик. С помощью tcpdump можно анализировать трафик на сетевом уровне (ARP, ICMP), на транспортном уровне (TCP, UDP).
Justniffer — консольная утилита для анализа трафика, сниффер протокола HTTP, основанный на pcap и заточенный под TCP.
System related monitoring
nmon — утилита системного мониторинга, выводит информацию о ЦП, оперативной памяти, сети, дисках, как в виде графиков, так и в числовых данных, файловых системах, NFS, самых нагружающих процессах, ресурсах.
conky — многофункциональный полностью настраиваемый системный монитор для Linux и BSD систем, отслеживает многие показатели системы, такие как CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
Glances — утилита для мониторинга системных ресурсов в режиме реального времени, выполняет мониторинг в одном окне, выводит информацию о использование CPU, Load Average, использование RAM и Swap, битрейт интерфейсов, данные сенсоров (только в Linux), битрейт ввода/вывода, использование ФС, информацию о процессах.
saidar — маленький инструмент, который выводит основную информацию о системных ресурсах (показывает загрузку процессора, памяти, процессов и сетевых интерфейсов).
RRDtool — утилита для мониторинга сети и аппаратных ресурсов, набор утилит RRDtool предназначен для хранения, обработки и отображения любых данных, изменяющихся во времени, сюда относятся: сетевой трафик, пропускная способность сети, загрузка процессора и ОЗУ, температура.
RRDTool собирает информацию и создает графики, информация хранится в кольцевой БД. Размер БД остается постоянным, потому что ячейки задействованы циклически.
monit — утилита выполняет те же функции что и monitord, мониторит состояние сервисов, отправляет уведомления о различных событиях по email, совершает действия по перезапуску служб в зависимости от условий. Есть возможность следить за состоянием системы как из командной строки, так и через собственный веб-сервер monit.
Linux process explorer — компактное, но мощное C++ / QT графическое приложение для просмотра активных процессов (диспетчер задач) и мониторинга состояния системы (системный монитор) подробно
df — утилита, выводит данные о размере свободного дискового пространства указанной файловой системы или файловой системы, к которой относится указанный файл, сообщает его размер, точки монтирования. Если не заданы ни файл, ни файловая система, утилита выводит статистику по всем cмонтированным файловым системам. Выводимые значения соответствуют количеству 512-байтных блоков.
discus — аналогичен df, отличие графически вывод выглядит приятнее)
xosview — является классическим инструментом для мониторинга системы, он прост, отображает текущее состояние системы в виде набора графических полос, длинна и ширина которых зависит от размера окна.
Dstat — хорошая утилита, чтобы мониторить состояния системы, анализировать производительно и диагностировать сбои в интерактивном режиме. Можно подключать разнообразные модули для мониторинга различных служб (mysql, nfs, postfix). Универсальная замена для Vmstat, IOSTAT, NetStat и ifstat.
SNMP — протокол модели OSI, был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов, потом сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера, машины под управлением Windows NT.
Утилиты пакета Net-SNMP — для отслеживания параметров маршрутизатора.
incron (INotify CRON) — пакет утилит, можно запускать скрипты по событиям на файловой системе, используя систему уведомлений ядра Linux inotify. Утилита типа как cron, но в качестве рычага для выполнения команды не время, а совпадение заданного события файловой системы применительно к указанному файлу.
monitorix — простой инструмент для мониторинга системы, можно контролировать загрузку и температуру процессора, оперативной памяти, жестких дисков и прочего оборудования. Изначально был создан для использования в производственных серверов Linux / UNIX, но может быть использован на встроенных устройствах.
vmstat — статистика виртуальной памяти, небольшой встроенный инструмент, который отслеживает и отображает краткую информацию о состоянии памяти в компьютере.
uptime — утилита, показывает текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут.
46. mpstat — встроенный инструмент, который отслеживает использование процессоров в системе. Наиболее часто используемая команда mpstat -P ALL — показывает развернутую статистику всех процессов системы.
pmap — выводит данные о распределении памяти между процессами, позволяет найти причину узких мест, связанных с использованием памяти.
ps — утилита для мониторинга процессов в режиме реального времени, показывает список всех процессов, которые выполнялись на момент запуска этой программы, работает быстрее чем top, ориентирована на просмотр PID спецефического процесса и всей командной строки каждого процесса.
sar — утилита, часть Systat пакета, используется для мониторинга различных подсистем Linux (процессор, память, ввод/вывод) в реальном времени. Мощная утилита, она удобна, когда нужно собрать информацию об активностях за некоторый период для дальнейшего использования.
collectl — утилита для мониторинга загрузки процессора, сети, мониторит производительность и собирает статистику с различного оборудования, различных служб таких как bind, apache, openvpn, mysql и других.
iostat — утилита для выявление узких мест, связанных с диском, выдает информацию о дисковом вводе/выводе и об использовании процессора.
free — утилита выводит информацию о полном обьеме памяти, свободной и занятой части памяти, включая swap-разделы.
/Proc file system — файловая система дает возможность изучить ядро Linux изнутри). Из этих статистических данных вы можете получить подробную информацию о различных аппаратных устройств на вашем компьютере.
GKrellM — настраиваемый виджет с различными темами, который отображает на рабочем столе данные об устройстве системы: CPU, температуру, память, сеть и так далее.
Gnome system monitor — мониторит работу системы, утилита выводит в виде графиков информацию в реальном времени о ресурсах — использование процессора (CPU), использование оперативной памяти (RAM) и файла подкачки (SWAP), а также использование сети.
Log monitoring tools
GoAccess — утилита, с помощью которой можно анализировать логи веб серверов и строить отчеты (анализ логов доступа к вашим сайтам) в режиме реального времени. Кроме того, данные можно выводить в HTML, JSON или CSV. Выводит общую статистику, топ посетителей, 404, геолокации и многое другое.
Logwatch — анализирует логи системы по различным критериям с возможность составления отчета и отправки его по почте, построена на модульном принципе, вы можете создать собственные критерии для анализа.
Swatch — утилита для активного мониторинга журналов регистрации, контролирует практически любые типы лог файлов.
MultiTail — консольный инструмент, можно наблюдать за log файлами, а также за выводом других команд (таких как rsstail, wtmptail, negtail), может разбивать терминал на много маленьких окон.
System tools
acct or psacct — утилиты для мониторинга пользователей и приложений, которые работают или работали в системе, работает в режиме background и собирает в логи данные, можно отслеживать количество ресурсов потребляемых тем или иным приложением.
whowatch — утилита, отслеживает пользователей в вашей системе и позволяет видеть в реальном времени, какие команды и процессы они используют.
strace — утилита, которая отслеживает системные вызовы, которые делает указанный процесс, а также какие сигналы он получает.
DTrace — большой брат strace, утилита для отладки iOS-приложений, она нужна при отладке сложных случаев, когда вам нужно задать правила для фильтрации вызываемых функций, утилита не для слабонервных, нужно изучить «1000 и 1 „книгу для работы с ней.
webmin — веб-инструмент для системного администрирования, избавляет от необходимости вручную редактировать файлы конфигурации Unix, позволяет удаленно управлять системой в случае необходимости, вы можете настраивать аккаунты юзеров, сервер Apache, DNS, файловый сервер и другое.
stat — встроенный инструмент, отображает информацию о состоянии файлов и файловых систем, выводит данные о том как, когда файл был изменен, или о его правке.
ifconfig — команда позволяет конфигурировать сетевые интерфейсы.
ulimit — утилита, с ее помощью можно установить ограничения на общесистемные ресурсы, обеспечивает контроль над ресурсами для оболочки и процессов, запущенных под ее управлением, встроена в интерпретатор bash. Значения limit, как правило указывается в 1024-байтных блоках.
cpulimit — небольшая утилита, которая поможет ограничить использование процессом CPU.
lshw — небольшая утилита предоставляет детальную информацию о конфигурации оборудования компьютера, выводит данные о памяти, версии микропрограммы, устройстве материнской платы, типе и скорости работы процессора, конфигурации кэша, частотах шин.
w — встроенная команда, которая отображает информацию о пользователях, которые в настоящее время используют машину, краткий учет о текущей активности в системе.
lsof (List Of Opened Files) — утилита для вывода информации о том, какие файлы используются теми или иными процессами.
Infrastructure monitoring tools
Server Density — инструмент мониторинга Linux, позволяет настраивать оповещения и просматривать графики для системной и сетевой метрики.
OpenNMS — мониторит различные сервисы и внутренние системы сетевого и серверного оборудования.
SysUsage — утилита, работает на всех unix-платформах и отображает подробную информацию о процессорах, памяти, устройствах ввода/вывода, сетевых устройствах, файлах, процессах и датчиках температуры. Диаграммы создаются при помощи rrdtool.
brainypdm — веб-инструмент управления данными и мониторингом, который собирает данные о производительности с помощью nagios.
PCP — дает возможность собирать метрики с нескольких хостов, можете получить доступ к данным графика через веб-интерфейс или GUI. Хорошо подходит для мониторинга больших систем.
KDE system guard — менеджер задач, графический монитор, выдающий сведения о системе в режиме реального времени, приложение для KDE, позволяет осуществлять мониторинг локальных и удаленных хостов.
Munin — OpenSource проект, который написан на Perl и использующем RRDtool, инструмент мониторинга ресурсов, собирает данные с нескольких серверов одновременно и выводит все в графиках (все прошедшие события сервера, нагрузку).
Nagios — приложения для полного мониторинга системы и сетей.
Zenoss — системы мониторинга, которая наблюдает за состоянием устройств в сети, что может помочь предупредить проблемы еще до их появления, функция автообнаружения позволяет быстро собрать информацию обо все активных системах в сети, ядро Zenoss анализирует среду, что дает возможность быстро разобраться с большим количеством специфических устройств.
Cacti — с помощью протокола SNMP снимает статистику с устройств, через RRD-tool делает наглядные графики, будь то использование дискового пространства на файл-сервере, или загрузка интерфейсов комутатора.
Zabbix — система мониторинга, которая состоит из нескольких подсистем, причем все они могут размещаться на разных машинах, используется для мониторинга серверов (в основном).
Бонус
collectd — собирает статистку об использовании ресурсов, легконастраиваемый инструмент.
Observium — система мониторинга и наблюдения за сетевыми устройствами и серверами.
Nload — инструмент командной строки, контролирует пропускную способность сети, если возникает потребность получить визуальное представление о загруженности сетевых интерфейсов системы, увидеть общую статистику по сетевому трафику.
Вы можете установить его с помощью:
SmokePing — утилита для накопления информации о задержках в передаче и потере пакетов, отображает все состояния в виде графиков, можно контролировать скорость реакции сервисов на запросы.
MobaXterm приходит на помощь и позволяет использовать многие из терминальных команд, которые обычно встречаются в Linux, если вы работаете в среде Windows.
Shinken monitoring — система мониторинга, гибкая в настройке, много совместимого софта, с собственным WebUI, с широким спектром поддерживаемого сетевого и серверного оборудования.
Источник