Nodeny, snmpd, cacti график число пользователей онлайн
Думаю если ты сейчас читаешь эту заметку, то не один раз видимо задумывался о мониторинге числа активных пользователей билинга в графическом виде. Чтож, на самом деле ничего нет проще, немого времени и конечно же желание познать кое-что новенькое )))
Начнем с написания скрипта, который нам будет предоставлять данную информацию.
Т.к. билинг написан на 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, думаю смысла нет рассказывать как построить график.
Спустя некоторое время, в кактусе будет красоваться новый график:
Поделись с друзьями:
Рубрики: FreeBSD, NoDeny, perl, Programming · Теги: cacti, nodeny, online, snmpd, users
11.05.2012 в 16:11
· Ссылка
сейчас уже не помню как точно делал чтобы отображались авторизованными те у кого всегда онлайн, но факт что на форуме была тема, причем не левыми модулями а правкой пары строк в скриптах билинга
11.05.2012 в 15:03
· Ссылка
Спасибо за ответ, но в данном случае не подходит, так как авторизаторы не более чем у 20% клиентов. Остальные всегда онлайн и без авторизаторов.
Нужен запрос MYSQL, чтобы делать выбдрку по наличию трафика за определенный срез времени.
Похожеforum.nodeny.com.ua/index.php?topic=892.0
11.05.2012 в 14:24
· Ссылка
Приветствую!
у нас у многих такая же ерунда, на форуме nodeny есть
т.е. там модифицируется немного скрипт, и то что описано в статье будет работать и для твоего случая.
11.05.2012 в 12:31
· Ссылка
Добрый день.
С большим интересом прочитал статью. Попробовал сделать у себя, но столкнулся с проблемой . В MYSQL не силен.
У нас в сети большая часть клиентов — всегда онлайн (привязка по MAC-IP).
Как модифицировать запрос, чтобы реально вычислять людей с активностью по трафику .
С уважением Игорь.