Название: UpTime в веб-админке Отправлено: nops от 07 Февраля 2012, 07:27:51 Всем здрасте!
Вот тут мне захотелось реализовать такую фишку: Сделать в админке блок с аптаймом сервера. если вот в консоли Код: uptime Как такое можно реализовать?! P.S. Не задавайте вопросов типа: "зачем оно надо?" или "Зайди в консоль и посмотри..." Хочу именно админке и только для админов. Название: Re: UpTime в веб-админке Отправлено: ser970 от 07 Февраля 2012, 09:55:52 вариантов море
$up = `cat /proc/uptime | awk ' {print $1}'`; или так use Shell; $up= uptime(); Название: Re: UpTime в веб-админке Отправлено: versus от 07 Февраля 2012, 10:30:26 Поставь заббикс и спи спокойно
Название: Re: UpTime в веб-админке Отправлено: nops от 07 Февраля 2012, 14:24:10 да нет, забикс мне не надо, это просто фишка, не несущая никакого функционала;)
Вопрос в другом, куда воткнуть то, что вы посоветовали... Название: Re: UpTime в веб-админке Отправлено: 0xbad0c0d3 от 07 Февраля 2012, 15:16:45 Смотря где это должно отображаться... Туда и втыкать
Название: Re: UpTime в веб-админке Отправлено: nops от 07 Февраля 2012, 15:23:02 вот когда админка открывается, там вверху меню, вот либо под ним, либо справа от него....
Это куда вставить? Название: Re: UpTime в веб-админке Отправлено: 0xbad0c0d3 от 07 Февраля 2012, 21:44:04 cgi-bin/adm/adm.pl
Название: Re: UpTime в веб-админке Отправлено: nops от 07 Февраля 2012, 22:05:39 Вы определенно издеваетесь. куда именно?!
Название: Re: UpTime в веб-админке Отправлено: ser970 от 07 Февраля 2012, 22:38:45 вы просили как
вам показали. сказали куда. причем абсолютно верные ответы. ну а писать за вас никто не будет. за удовольствие нужно платить а не возмущаться. даже не зная перла - открыв файл можно проанализировать - попробовать и за 1-2 часа получить результат Название: Re: UpTime в веб-админке Отправлено: nops от 07 Февраля 2012, 23:08:18 хорошо, спасибо. Завтра попробую:)
Название: Re: UpTime в веб-админке Отправлено: nops от 13 Февраля 2012, 11:12:46 Итак.
Решение найдено. Отдельное спасибо Redmen Открываем файл adm.pl В самом верху, после: Цитировать #!/usr/bin/perl Вставляем следующее:# ------------------- NoDeny ------------------ # Copyright (с) Volik Stanislav, 2008, 2009 # Read license http://nodeny.com.ua/license.txt # --------------------------------------------- $VER=49.32; use Time::HiRes qw( gettimeofday tv_interval ); use Time::localtime; use DBI; Цитировать use Shell; ВАЖНО: Не пропустите закрытие ковычек в конце, я пропустил и выдало 500-ю ошибку!use POSIX qw(floor); sub ptime { $var = `sysctl -n kern.boottime | awk '{print \$4}'`; $var =~ s/,//g; $vary = `date +%s`; chomp($vary); $varx = $vary - $var; $varx = sprintf("%2d", $varx); $vard = floor($varx / 86400); $varx %= 86400; $varh = floor($varx / 3600); $varx %= 3600; $varm = floor($varx / 60); if($vard eq 0) { $vard = ''; } elsif($vard >= 1) { $vard = $vard.'д '; } if($varh eq 0) { $varh = ''; } elsif($varh >= 1) { $varh = $varh.'ч '; } if($varm eq 0) { $varm = ''; } elsif($varm >= 1) { $varm = $varm.'м '; } return $vard.$varh.$varm; } далее тут же ищем следующее: Цитировать $OUT.=&Table('width100', Вместо этого вписываем:&tag('tr', &tag('td',&ahref("$scrpt0&a=mytune","<img src='$Adm_pic'>")). &tag('td',' ',"width='16%'"). &tag('td',$out,"align=center valign=top"). &tag('td',' ',"width='16%'"). &tag('td','Адм:'.$br.$Display_admin) ). Цитировать $OUT.=&Table('width100', (выделил строчки, которые изменяются)&tag('tr', &tag('td',&ahref("$scrpt0&a=mytune","<img src='$Adm_pic'>")). &tag('td','UpTime:'.$br.&ptime,"align=center width='8%'"). &tag('td',' ',"width='8%'"). &tag('td',$out,"align=center valign=top"). &tag('td',' ',"width='16%'"). &tag('td','Админ:'.$br.$Display_admin) ). В итоге сохраняем и пробуем. В левом верхнем углу, справа от аватары появится значение аптайма. Название: Re: UpTime в веб-админке Отправлено: Александр (AleksHr) от 13 Февраля 2012, 11:36:18 А как вставить например по центру, там где пишет Здравствуйте, такой то админ, под ним как раз.
Название: Re: UpTime в веб-админке Отправлено: nops от 13 Февраля 2012, 12:13:45 В этом случае Uptime сервера будет показываться только на одной странице, на главной так сказать, в меню указано как знак параграфа.
Покопайте файл /usr/local/nodeny/web/title.pl Нашел для Вас решение: Открываем файл: Код: /usr/local/nodeny/web/title.pl Код: $OUT.=&div( 'row2',&Printf('[br]Здравствуйте, [filtr|bold][br2]',$Aname || 'администратор' ) ); Код: $OUT.=&div( 'row2',&Printf('Сервер работает уже: [filtr|bold][br2]',&ptime ) ); P.S. Знающие и понимающие в перле люди, не пинайте, это реально самое первое, что написал на перле, хоть и по аналогии:-D Название: Re: UpTime в веб-админке Отправлено: ser970 от 13 Февраля 2012, 12:22:58 sub ptime { $var = `sysctl -n kern.boottime | awk '{print \$4}'`; $var =~ s/,//g; $vary = `date +%s`; chomp($vary); $varx = $vary - $var; $varx = sprintf("%2d", $varx); $vard = floor($varx / 86400); $varx %= 86400; $varh = floor($varx / 3600); $varx %= 3600; $varm = floor($varx / 60); if($vard eq 0) { $vard = ''; } elsif($vard >= 1) { $vard = $vard.'д '; } if($varh eq 0) { $varh = ''; } elsif($varh >= 1) { $varh = $varh.'ч '; } if($varm eq 0) { $varm = ''; } elsif($varm >= 1) { $varm = $varm.'м '; } return $vard.$varh.$varm; } @up=split/\,/,uptime(); ну и вывод переменой $up[0]; 12:21PM up 212 days на Название: Re: UpTime в веб-админке Отправлено: poxy. от 13 Февраля 2012, 22:43:30 ИМХО - изврат, есть системы мониторинга, а биллинг, это биллинг.
Название: Re: UpTime в веб-админке Отправлено: Cell от 14 Февраля 2012, 09:35:42 Ну как сказать.. такая фича была бы полезна на странице мониторинга саттелитов, только мониторить соотвественно нужно и саттелиты тоже.
Название: Re: UpTime в веб-админке Отправлено: nops от 14 Февраля 2012, 09:53:43 Cell, Вы мне предлагаете добавить найти и сделать так, чтобы разделе мониторинг сателитов выдавалась та же строчка?!
А Вам не кажется что для первого раза мне лишку несколько?! Я ноль в перле...:( Название: Re: UpTime в веб-админке Отправлено: Rico-X от 14 Февраля 2012, 10:37:03 Система мониторинга? Не, не слышал...
<sarcazm>А чего только аптайм? можно еще температуру, загрузку, свободное место выводить</sarcazm> Название: Re: UpTime в веб-админке Отправлено: ser970 от 14 Февраля 2012, 12:05:57 Cell, Вы мне предлагаете добавить найти и сделать так, чтобы разделе мониторинг сателитов выдавалась та же строчка?! ну уже не ноль... ;DА Вам не кажется что для первого раза мне лишку несколько?! Я ноль в перле...:( решая задачи такие задачи и опыт прийдет. Система мониторинга? Не, не слышал... <sarcazm>А чего только аптайм? можно еще температуру, загрузку, свободное место выводить</sarcazm> так что ли? Название: Re: UpTime в веб-админке Отправлено: Rico-X от 14 Февраля 2012, 14:31:58 Именно :) Только вот не пойму, зачем оно в биллинге?
Название: Re: UpTime в веб-админке Отправлено: ser970 от 14 Февраля 2012, 14:56:14 Именно :) Только вот не пойму, зачем оно в биллинге? облом было куктус ставить и туда добавлять - один черт сюда вносить надо как мне проще (ленивый я)Название: Re: UpTime в веб-админке Отправлено: Cell от 14 Февраля 2012, 16:36:25 Cell, Вы мне предлагаете добавить найти и сделать так, чтобы разделе мониторинг сателитов выдавалась та же строчка?! Да ничего я тебе не предлагаю, констатировал факт, где и для чего эта фича была бы полезной. Но мне кажется в том виде как я это вижу затраты на получение данной фичи слегка неадекватны полученному от этого эффекта. Поэтому предлагаю забить )Название: Re: UpTime в веб-админке Отправлено: bnet от 14 Февраля 2012, 20:57:12 как то все сложно...
для себя так сделал: title.pl Код: use Shell; Код: 8:57PM up 3:57, 0 users, load averages: 0.20, 0.36, 0.34 USER TTY FROM LOGIN@ IDLE WHAT Название: Re: UpTime в веб-админке Отправлено: nops от 21 Февраля 2012, 10:16:13 Уважаемые друзья!
Появился непонятный мне баг. сегодня отваливалось железо у прова, мне переназначились серые IP. Так же был перезапущен mpd5. После этого, ну не сразу, а спустя пару часов, захожу в админку а там вижу чудо: Цитировать Сервер работает уже: 15391 д 8 ч 16 м меня это так сильно удивило...вот что в консоли: Цитировать $ uptime Скрин во вложении.2:13PM up 15 days, 18:46, 1 user, load averages: 0.20, 0.13, 0.09 $ Объясните мне, как такое возможно?! Ну и как поправить;-) Название: Re: UpTime в веб-админке Отправлено: Aivanzipper от 21 Февраля 2012, 17:52:06 где-то регексп кривой
Название: Re: UpTime в веб-админке Отправлено: 0xbad0c0d3 от 21 Февраля 2012, 18:29:38 Не, ну нормальный аптайм, что не так? ))))))
P.S. Нужно делать проверки на ошибки и на валидность исходных данных. |