Рубрики

Лучшие статьи

phpBB users online

Опубликовал 23 июля 2011 в рубрике Cacti. Комментарии: Комментариев нет   Просмотров: 1 просмотров

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

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

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

#!/usr/bin/perluse 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.

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

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

Шаблон cacti для мониторинга количества пользователей на форумах phpbb

Поделись:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • unixtips.ru&subject=phpBB%20users%20online+<+unixtips.ru" title="LiveJournal">LiveJournal
  • MySpace
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • LinkedIn
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Blogger
  • Блог Li.ру
  • Блог Я.ру
  • Одноклассники

Метки:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка ... Загрузка ...



Оставить комментарий или два

RSS

rss Подпишитесь на RSS для получения обновлений.

Add to Google Reader or Homepage

Подписаться на рассылку E-Mail:

Опрос

Статьи на какую тему Вам более интересны?

Просмотреть результаты

Загрузка ... Загрузка ...