/usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
Table of Contents |
---|
Клиент-серверное приложение для мониторинга и построения графиков загрузки сети и учёта работы различных сервисов. Для построения графиков используется MRTG. В пакет входит 2 программы:
rstats - Сервер мониторинга
Параметр Описание ipfw num:num Получать данные с ipfw snmp oid:oid Данные SNMP iptable трафик с iptable net_bufs FreeBSD net buffer load Загрузка системы mysql Количество mysql запросов и медленных запросов memory Память memnocache memory cache swap Swap info tuns_traf трафик по всем tun интерфейсам ppp_count количество активных pppd интерфейсов ng_count количество активных mpd tun_count Количество активных tun интерфейсов mikrotik_ppp Количество ppp сессий mikrotik_load Нагрузка на процессор mikrotik_mem Нагрузка на память rstatc - Клиент для снятия данных с удалённого сервера
Другие файлы:
mrtg.cfg - Примеры настройки конфигурационного файла MRTG.
Возможности
Мониторинг проходящего трафика через интерфейс
Съём данных с ipfw (FreeBSD) iptables (Linux)
Мониторинг загрузки процессора
Мониторинг использования памяти
Мониторинг количества VPN сессий (tun, ng, pppd)
Мониторинг загрузки сервера баз данных (Mysql)
Мониторинг количества консольных пользователей
Мониторинг почтовой очереди
Поддержка ОС Linux, FreeBSD
Мониторинг сервисов как локально, так и на удалённых серверах
Установка
Code Block | ||
---|---|---|
| ||
git clone https://github.com/nabat/rstat.git cd rstat make install |
Установка MRTG
Code Block | ||||
---|---|---|---|---|
| ||||
apt-get install mrtg |
Code Block | ||||
---|---|---|---|---|
| ||||
pkg install mrtg |
Code Block | ||||
---|---|---|---|---|
| ||||
yum install mrtg |
Настройка
Code Block | ||
---|---|---|
| ||
WithPeak[_]: ymwd XSize[_]: 300 XScale[_]: 1.5 Options[_]: growright, transparent # Каталог для графиков. WorkDir: /usr/abills/webreports/ # Мониторинг загрузки fxp2 интерфейса на локальном сервере Target[vpn_traf]: `/usr/local/sbin/rstats iface fxp2` Options[vpn_traf]: growright, transparent MaxBytes[vpn_traf]: 12500000 Title[vpn_traf]: VPN Interface PageTop[vpn_traf]: <H1>Traffic Analysis for VPN interface </H1> # Мониторинг количества активных VPN соединений Target[vpn_count]: `/usr/local/sbin/rstats tun_count` Ylegend[vpn_count]: VPN Counts ShortLegend[vpn_count]: Users  Options[vpn_count]: gauge,nopercent,noinfo,transparent,growright MaxBytes[vpn_count]: 200 Title[vpn_count]: VPN Interface count PageTop[vpn_count]: <H1>VPN interface count</H1> Legend1[vpn_count]: Total users logged in Legend2[vpn_count]: Unique users logged in Legend3[vpn_count]: Maximal 5 Minute Incoming Traffic Legend4[vpn_count]: Maximal 5 Minute Outgoing Traffic LegendI[vpn_count]: Total Users: LegendO[vpn_count]: Unique Users: Colours[vpn_count]: SILVER#C0C0C0,BLACK#000000,DARKGREEN#006600,VIOLET#ff0 #Server load from local server Target[server-load]: `/usr/local/sbin/rstats load` Title[server-load]: Abills billing CPU load PageTop[server-load]: <h1> portal.caspel.net CPU load</H1> MaxBytes[server-load]: 500 Ylegend[server-load]: Load Avg Options[server-load]: gauge,nopercent,noinfo,growright,transparent ShortLegend[server-load]: Percent  Legend1[server-load]: CPU Load 1 Minute Avgerage Legend2[server-load]: CPU Load 5 Minute Average Legend3[server-load]: Maximal 5 Minute Incoming Traffic Legend4[server-load]: Maximal 5 Minute Outgoing Traffic LegendI[server-load]: CPU Load 1 Min. Avg.: LegendO[server-load]: CPU Load 5 Min. Avg.: Colours[server-load]: RED#ff0000,BLACK#000000,DARKGREEN#006600,VIOLET#ff00ff |
Для отображения статистики по радиусу, нужно:
В /usr/local/etc/mrtg/mrtg.cfg добавить содержимое файла mrtg_radius.cfg из директории rstat.
Code Block | ||
---|---|---|
| ||
cp /usr/local/etc/raddb/sites-available/status /usr/local/etc/raddb/sites-enabled/ |
Перезапускаем радиус.
Создаём центральную страницу для графиков. Для дистрибутива ABillS каталог /usr/abills/webreports/.
Code Block |
---|
indexmaker /usr/local/etc/mrtg/mrtg.cfg > /usr/abills/webreports/index.htm |
Code Block | ||
---|---|---|
| ||
https://your.host:9443/reports/ |
Code Block | ||
---|---|---|
| ||
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg |
Warning |
---|
На некоторых системах mrtg может ругаться на некорректную работу с UTF-8 В таком случае запускаем указывая env LANG=C : */5 * * * * root env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg |
Настройка мониторинга с удалённого сервера
Если VPN работает на удалённом сервере, тогда на локальном сервере правим в mrtg.cfg
Code Block |
---|
/usr/local/sbin/rstats меняем на /usr/local/bin/rstatc remotehost remotehost - Адрес удалённого сервера |
На удалённом сервере.
Code Block |
---|
tar zxvf rstat.tgz cd rstat cp rstats /usr/local/sbin/ |
Code Block | ||
---|---|---|
| ||
rstats 30003/tcp |
При использовании inetd:
Правим /etc/inetd.conf
Code Block |
---|
rstats stream tcp nowait root /usr/local/sbin/rstats rstats |
Перезагружаем inetd
Code Block |
---|
killall -1 inetd |
Code Block |
---|
service rstats { disable = no port = 30003 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/local/sbin/rstats env = HOME=/var/log } |
Перезапуск сервиса:
Code Block |
---|
/etc/rc.d/xinetd restart |
Дополнительно
В админ панели по пути
Настройка > Сервер доступа > выбрать NAS > MRTG доступна генерация mrtg config для выбранного NAS
Генерируется конфиг путем опрашивания по SNMP public community NAS ip address.
Включение SNMP на Cisco:
Code Block |
---|
snmp-server community abills RO 50 |
На сервере выполняем следующие команды :
Code Block | ||
---|---|---|
| ||
# по желанию, работаем в отдельной рабочей директории mkdir -p /usr/abills/webreports/cisco-mrtg # опрашиваем по snmp коммюнити abills , Cisco с ip адресом 10.0.0.1 и создаем mrtg config cfgmaker --global 'WorkDir: /usr/abills/webreports/cisco-mrtg' --output /etc/mrtg/cisco.cfg abills@10.0.0.1 # в конфиге просматриваем и правим данные (имена графиков, расположение и т.д.) для лучшей визуализации или оставляем как есть # генерируем html с данными indexmaker /etc/mrtg/cisco.cfg > /usr/abills/webreports/cisco-mrtg/index.html # добавляем в крон vim /etc/crontab */5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/cisco.cfg |