Думаю если ты сейчас читаешь эту заметку, то не один раз видимо задумывался о мониторинге числа активных пользователей билинга в графическом виде. Чтож, на самом деле ничего нет проще, немого времени и конечно же желание познать кое-что новенькое )))
Начнем с написания скрипта, который нам будет предоставлять данную информацию.
Т.к. билинг написан на perl, то и скрипт тоже будет перловский, хотя никто вам не мешает использовать тот язык, который ближе, мне захотелось попробовать свои силы в perl.
Выглядит он так:
#!/usr/bin/perl
use DBI;
my $host = "mysqlhost"; # MySQL-сервер нашего хостинга
my $port = "3306"; # порт, на который открываем соединение
my $user = "bill"; # имя пользователя
my $pass = "123456789"; # пароль
my $db = "bill"; # имя базы данных
$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass);
$sth = $dbh->prepare("SELECT count(id) FROM `users` where `auth` <> 'no'");
# готовим запрос
$sth->execute; # исполняем запрос
while ($ref = $sth->fetchrow_arrayref) {
print "$$ref[0]n"; # печатаем результат
}
$rc = $sth->finish;
$rc = $dbh->disconnect; # закрываемсоединение
Думаю расказывать то, что необходимо заменить параметры подключения к серверу БД и самой базе данных нет, поэтому настроив все это дело под себя, сохраняем его например в файлик getonline.pl и кладем в директорию, к которой имеется доступ демону snmpd, например в /tmp/
Приступим к настройке самого snmpd.
# ee /usr/local/etc/snmpd.config
и добавляем в него наш скриптик:
extend .1.3.6.1.4.1.2021.8 online /tmp/getonline.pl
рестартим демон:
# /usr/local/etc/rc.d/snmpd restart
Stopping snmpd.
Waiting for PIDS: 7195.
Starting snmpd.
и валим настраивать cacti в меню выбираем Data Templates добавляем новый и приводим его к такому виду:
В поле OID вставляем следующее значение: .1.3.6.1.4.1.2021.8.4.1.2.6.111.110.108.105.110.101.1 — это и есть оид нашего скрипта, проверить его можно snmpwalk-ом, но сейчас не об этом.
Далее открываем вкладку Graph Templates, заводим новый и приводим его к такому виду:
Далее, заходим в Devices, выбираем устройство с которым будем ассоциировать график и в Associated Graph Templates добавляем наш Nodeny OnLine Users, думаю смысла нет рассказывать как построить график.
Спустя некоторое время, в кактусе будет красоваться новый график:
4 комментария. Оставить новый
сейчас уже не помню как точно делал чтобы отображались авторизованными те у кого всегда онлайн, но факт что на форуме была тема, причем не левыми модулями а правкой пары строк в скриптах билинга
Спасибо за ответ, но в данном случае не подходит, так как авторизаторы не более чем у 20% клиентов. Остальные всегда онлайн и без авторизаторов.
Нужен запрос MYSQL , чтобы делать выбдрку по наличию трафика за определенный срез времени.
Похоже http://forum.nodeny.com.ua/index.php?topic=892.0
Приветствую!
у нас у многих такая же ерунда, на форуме nodeny есть
http://forum.nodeny.com.ua/index.php?topic=112.0
т.е. там модифицируется немного скрипт, и то что описано в статье будет работать и для твоего случая.
Добрый день.
С большим интересом прочитал статью. Попробовал сделать у себя,но столкнулся с проблемой . В MYSQL не силен.
У нас в сети большая часть клиентов — всегда онлайн (привязка по MAC-IP).
Как модифицировать запрос , чтобы реально вычислять людей с активностью по трафику .
С уважением Игорь.