Comments 31
Ваш способ не сработает если IP пулами заведует RADIUS:
[] show ippool Available IP pools: poolsat: used 0 of 510
Но можно узнать количество сессий с помощью вот такого скрипта:
#!/usr/local/bin/bash online=`ifconfig | grep ng | wc -l` echo $online" exit 0
Дело в том, что работа скрипта осуществляется на DNS сервере, который не является MPD5 сервером, поэтому вариант с ifconfig не подходит. Кол-во сессий можно еще узнать так:
http://0.0.0.0:5006/bincmd?show%20mem
Среди прочей информации будет значение BUND — количество фактически поднятных ng интерфейсов
Дело в том, что работа скрипта осуществляется на DNS сервере, который не является MPD5 сервером, поэтому вариант с ifconfig не подходит.

Подходит. Если есть ssh доступ к серверу с MPD. У меня так графики загруженности в rrdtool рисуются.
И чем http лучше ssh?
Согласен, в принципе, можно было и через ssh организовать. Мне показалось, что проще будет распарсить одну страницу http. Дело, как говориться, вкуса.
Как правило для такого туннелирования используются либо серьезные железки (Cisco, Juniper, etc), либо софт-роутеры на базе FreeBSD и MPD5.

Либо Linux и poptop/accel-pptp/rp-pppoe/accel-ppp
В Linux pppd сотоварищи шибко ущербное решение в сравнении с MPD. Мы это поняли, когда, устав от спорадических зависаний серверов доступа под Debian, преревели их на FreeBSD с MPD. И виснуть перестало и кучу «полезностей» получили.
FreeBSD вообще на мой взгляд лучше в качестве шлюза, роутера, сервера доступа. Таже quagga для BGP чувствует себя на фряхе заметно лучше. Организация работы VLAN просто чудесна по сравнению с Linux. Зато в качестве сервера приложений мне больше нравится Linux, хотя и фря вполне себе со многими задачами справляется.
У любителей фряхи в линуксах всегда что-то не работает.
Мне лично фря параллельна. Главное что работает без сбоев и можно в выходные спокойно отдохнуть от всего этого бедлама.
Подправьте использования grep. Он может напрямую парсить файл.

grep used "$workdir/$ipsrv" 
у меня балансер находится на днс-сервере и лазит по vpn-ам через ssh с авторизированным ключем. В списке балансера у каждого сервера vpn стоит коэффициент его вычислительной мощности. при опросе серверов выбирается наименее запруженный, который и становится vpn.local
скрипт который выполняется на vpn:

#!/bin/sh
/bin/ps ax | grep -v grep | grep -c mpd5
/usr/bin/netstat -rn | grep -v grep | grep -c ng

отдаёт: жив ли mpd и сколько текущих сессий
Реализовывал аналогичную штуку, только dns сервер был самописный. Статистика снималась через fabric, а dns сервер был реализован на twisted.
Документацию по bind не удосужился прочитать и NIH роль сыграл ) Ну и к тому же там еще была необходимость некоторых пользователей сажать на определенные сервера. Был вариант — powerdns + pipe backend, но решил сам имплементить это добро.
В свое время стояло 20 разных впн-серверов. Основные моменты в принципе как во всех выше приведенных примерах:
1. у каждого сервера был свой «вес», коэффициент в зависимости от его процессорной мощности (использовались несколько однотипных платформ, так что при установке нового сервера вес бы уже известен)
2. каждый впн-сервер раз в минуту собирал сам некое взвешенное число получаемое из кол-ва своего трафика в pps'ах и кол-ва сессий. Почему только не один из этих параметров, а совокупность? — потому что большое кол-во сессий не всегда прямо пропорционально трафику (допустим сломалась маршрутизация и т.п, и трафика нет, а балансер будет все кидать и кидать сессии на этот сервер). NAS отдавал эти числа по обычному snmp (exec в snmpd.conf на сервере и snmpwalk .1.3.6.1.4.1.2021.8.1.101 на балансере)
По snmp же строились графики онлайна, загрузки, pps
3. TTL для имени впн-сервера был крайне малым — 1-2 минуты, выдавались 4 самых ненагруженных nas'а роунд-робином

для выключения nas'а из балансировки для обслуживания можно было погасить снмп демон на нем.
А что же вы делаете с клиентами, у которых статический ип-адрес?
выход в интернет только через туннель. если без туннеля, то клиент варится в локальных ресурсах
Я про статический ип в инернет. Если раздавать реал, то пуллы закреплять за насами нужно, а они тут балансируют видите ли. Как на практике решаете вопрос статика за разными насами? BGP? proxy arp? Еще что-нибудь
Only those users with full accounts are able to leave comments. Log in, please.