phpBB users online - Cacti / Статьи, заметки на тему администрирования Unix систем.
Unixnotes.ru - записная книжка Unix-администратора
www.unixnotes.ru > Cacti > phpBB users online
Меню
Статьи
Статистика

Хостов сегодня: 10

Хитов сегодня: 42

Статей: 29


шиномонтажное оборудование

phpBB users online

Наткнулся на интересный шаблон для кактуса, отображающий количество юзверей на форуме, работающем на движке phpbb. Ввиду большой популярности данного движка и самог окактуса, думаю такой шаблон будет полезен не только мне :)

Инфу для графиков будем выдирать из mysql базы естественно, где phpbb и хранит всю инфу.

Итак, первый скрипт. Находится на машине, где работает phpbb. Скрипт выдирает кол-во юзеров онлайн на форуме:

#!/usr/bin/perl

use DBI;

# Define the databaseconnection
my $dsn = 'DBI:mysql:db_name:db_hostname';
my $db_user_name = db_user;
my $db_password = db_pass;
my $dbh = DBI->connect($dsn, $db_user_name, $db_password);

my $sth;

# Fetch number of posts posted during the last hour
$sth = $dbh->prepare("SELECT COUNT(post_id) AS posts FROM phpbb_posts WHERE (post_time + 3600) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $posts1h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($posts1h)
print "posts1h:$posts1h ";

# Fetch number of posts posted during the last 3 hours
$sth = $dbh->prepare("SELECT COUNT(post_id) AS posts FROM phpbb_posts WHERE (post_time + 10800) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $posts3h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($posts3h)
print "posts3h:$posts3h ";

# Fetch number of posts posted during the last 24 hours
$sth = $dbh->prepare("SELECT COUNT(post_id) AS posts FROM phpbb_posts WHERE (post_time + 86400) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $posts24h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($posts3h)
print "posts24h:$posts24h ";

# Fetch number of topics posted during the last hour
$sth = $dbh->prepare("SELECT COUNT(topic_id) AS posts FROM phpbb_topics WHERE (topic_time + 3600) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $topics1h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($topics1h)
print "topics1h:$topics1h ";

# Fetch number of topics posted during the last 3 hour
$sth = $dbh->prepare("SELECT COUNT(topic_id) AS posts FROM phpbb_topics WHERE (topic_time + 10800) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $topics3h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($topics3h)
print "topics3h:$topics3h ";

# Fetch number of topics posted during the last 24 hour
$sth = $dbh->prepare("SELECT COUNT(topic_id) AS posts FROM phpbb_topics WHERE (topic_time + 86400) > UNIX_TIMESTAMP(NOW())");
$sth->execute();
my $topics24h = $sth->fetchrow_array();
$sth->finish();
# print out the result ($topics24h)
print "topics24h:$topics24h ";

Для перла должен быть установлен модуль mysql. Вначале скрипта указываем настройки соединения с БД. Делаем запускаемым

www#/usr/local/sbin/scripts> chmod +x forum_users.pl

Пробуем запустить

www#/usr/local/sbin/scripts> perl forum_users.pl
guests:0 registered:4 total:4 www#/usr/local/sbin/scripts>

Как видим на форуме 0 гостей, 4 зарегистрированных пользователя и всего 4. Вывод должен быть точно таким иначе кактус не поймёт, что от него хотят. guest, registered и total своего рода переменные, которые отдаём пулеру cacti.

У нас cacti находится на другой машине, поэтому пишем еще 1 скрипт на тачке с кактусом:

#!/usr/bin/perl

$ip=$ARGV[0];
chomp($ip);
$rdata=`/usr/bin/ssh -l root -i /root/.ssh/new_key $ip \"perl /usr/local/sbin/scripts/forum_users.pl"`;
chomp($rdata);
print $rdata;
exit();

Здесь просто вызываем первый скрипт на другой машине, используя авторизацию по ключам ssh.

Теперь заводим темплейты в админке кактуса.

Импортируем шаблоны. И заводим новый график.

Выглядит это примерно так


Добавлено: 2009-03-24      Просмотров: 571      Источник: www.unixnotes.ru


Комментарии к статье "Cacti / phpBB users online":

Имя:

E-Mail

Комментирвоать

Какой нынче год?

Новое:

microdc2 консольный клиент DC++

Потребовалось раздавать юзерам сети контент с фтп сервака не только с помощью самого ftp сервера, но и через DC++ протокол.

Added: 2009-08-25


FreeBSD net-snmpd

Очень много возможностей Cacti работают только при работающем демоне SNMP. Загрузка сетевых карт, мониторинг дискового пространства, загруженность процессора/памяти и много

Added: 2009-08-13


Копирование файла с фтп

Начались проблемы с нехваткой места на биллинг сервере. Раньше все бекапы хранились на нём же, просто на другом диске. Основное

Added: 2009-08-08




НАШИ ДРУЗЬЯ
Скидки на плитку FAP Ceramiche - плитка fap. Выбираем плитку.
Модель бюджета - система управленческого учета.
Укомплектованные по последнему слову квадроциклы atv в широком ассортименте.
Lexmark E120n
Проверенные доски разделочные в Москве.