Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб Мониторинг сервера(-ов) для сайта v0.8.0

Это типо выводить график онлайна. Который будет строится по онлайну за сутки? Кстати надо бы суточный рекорд добавить.
Именно так, но минус придется юзать бд, хранить запись в файлах, это нечто :D
 
Именно так, но минус придется юзать бд, хранить запись в файлах, это нечто :D
Да почему. Запись в файле тоже можно хранить. Для чего я и сделал что-то подобие кеша. В кеш можно положить json строку в которой размещать онлайн за сутки. Потом загружать кеш в переменную изменять json и обратно записывать. Это не такой уж и геморный процесс. Вроде как.

Не по теме: Кстати MineCon идет :)
 
Да почему. Запись в файле тоже можно хранить. Для чего я и сделал что-то подобие кеша. В кеш можно положить json строку в которой размещать онлайн за сутки. Потом загружать кеш в переменную изменять json и обратно записывать. Это не такой уж и геморный процесс. Вроде как.
Ну так-то да... Но немного неудобно будет... Лично для меня не удобно, но для остальных я хз =)
Если сможешь реализовать, то реализуй.
 
Ну так-то да... Но немного неудобно будет... Лично для меня не удобно, но для остальных я хз =)
Если сможешь реализовать, то реализуй.

PHP:
self::cache('cache_name', 'cache_data'); //Записываем значение "cache_data" в файл с именем md5("cache_name").
PHP:
self::get_cache('cache_name'); //Получаем данные из файл с именем md5("cache_name").
PHP:
    private static function cache($key, $value){
        $cache_dir = PATH_ROOT.'temp/cache/';
        if(!file_exists($cache_dir)) mkdir($cache_dir, 0755, true);
        $file_cache = fopen($cache_dir.md5($key).'.temp', 'w');
        $cache_write = fwrite($file_cache, $value);
        fclose($file_cache);
        return $cache_write;
    }
    private static function get_cache($key){
        return @file_get_contents(PATH_ROOT.'temp/cache/'.md5($key).'.temp');
    }
И нечего сложного.

То бишь структура записываемого json кода в файл примерно такая:
JSON:
{"next_time": 0,[{"time": 0,"recoed": 10}],[{"time": 0,"recoed": 10}]}
Где next_time это следующий день. То есть после этого времени (в unix) наступит следующий день. А дальше идут уже рекорды, где time это время начала дня для которого собственно рекорд идёт и record это сам рекорд.

Теоретически всё норма.
 
Последнее редактирование:
PHP:
self::cache('cache_name', 'cache_data'); //Записываем значение "cache_data" в файл с именем md5("cache_name").
PHP:
self::get_cache('cache_name'); //Получаем данные из файл с именем md5("cache_name").
PHP:
    private static function cache($key, $value){
        $cache_dir = PATH_ROOT.'temp/cache/';
        if(!file_exists($cache_dir)) mkdir($cache_dir, 0755, true);
        $file_cache = fopen($cache_dir.md5($key).'.temp', 'w');
        $cache_write = fwrite($file_cache, $value);
        fclose($file_cache);
        return $cache_write;
    }
    private static function get_cache($key){
        return @file_get_contents(PATH_ROOT.'temp/cache/'.md5($key).'.temp');
    }

И нечего сложного.
Хех, ну лан, уговорил :D :D :D
 
понравилось.
в fsockopen хорошо бы указать таймаут на коннект, а то у некоторых хостеров с 10-ю fail серверами в монике можно словить лаг на минуту. Ну эт для универсальности))
1 cекунды на серв за глаза, иначе можно его считать недоступным уже с таким пингом
 
понравилось.
в fsockopen хорошо бы указать таймаут на коннект, а то у некоторых хостеров с 10-ю fail серверами в монике можно словить лаг на минуту. Ну эт для универсальности))
1 cекунды на серв за глаза, иначе можно его считать недоступным уже с таким пингом
Щас переписываю слегка код. Добавлю максимум онлайн за сутки и приму к сведению ваше замечание.
Мониторинг обновлен до 0.7.1. Шапка темы изменена.
-> Временно удален файл быстрой настройки (Придется редактировать конфиг вручную).
-> Список серверов вынесен в отдельный файл, а сама конфигурация слегка изменена.
-> Переписана функция кеша и рендиринга готового мониторинга.
-> Добавлен рекорд онлайна за текущие сутки.
 
Нормальный мониторинг спасибо!
Там небольшой баг с счетом рекорда дня. 7 Октября обновлю мониторинг с исправленным ведением рекорда дня. Так же добавлю новый скрипт установки. =)
 
Ну куда же без них то. Как не крути всегда будут)
Мониторинг обновлен до 0.7.3. Шапка темы изменена.
-> Добавлен новый мастер настроек мониторинга.
-> Исправлен счетчик показывающий рекорд посещаемости за день.
Ну как обещал, вот и обнова :) Если есть желание помогите с кодом, я не такой уж и асс в пыхе, а то там есть вещи которые можно упростить, знать бы как. :rolleyes:
 
Последнее редактирование:
А как его собственно на сайт поместить?
Всё, разобрался
Если смогу переделать дизайн, то это отличный мониторинг.
 
Анимацию полоскам заполненности бы, при загрузке мониторинга и обновлении
 
Если смогу переделать дизайн, то это отличный мониторинг.
Не думаю что это так сложно. :)
Анимацию полоскам заполненности бы, при загрузке мониторинга и обновлении
В мониторинге нет авто обновления на странице. Это всё вы делаете сами по средству ajax если требуется. Мониторинг загружается вместе с страницей сайта и соответственно с каждой перезагрузкой обновляется.
Есть у меня немного другая идея с этим мониторингом. Возможно воплощу. МБ даже лучше будет.
Мониторинг обновлен (0.8.0)
- Добавлен крон (Не было возможность протестировать!)
- Добавлено авто обновление.
 
Когда на сервере 1 - человек в мониторинге пишет что 0\0.
Как это исправить ?
 
Можно добавить список игроков при наведении на онлайн.
 

Поделиться этой страницей

Назад
Верх