PHP Server Monitor
Open source tool to monitor your servers and websites
Welcome
PHP Server Monitor is a script that checks whether your websites and servers are up and running. It comes with a web based user interface where you can manage your services and websites, and you can manage users for each server with a mobile number and email address.
Features
- Monitor services and websites (see below).
- Email, SMS and Pushover.net notifications.
- View history graphs of uptime and latency.
- User authentication with 2 levels (administrator and regular user).
- Logs of connection errors, outgoing emails and text messages.
- Easy cronjob implementation to automatically check your servers.
There are two different ways to monitor a server:
- Service A connection will be made to the entered ip or domain, on the given port. This way you can check if certain services on your machine are still running. To check your IMAP service for example, enter port 143.
- Website You can enter a link to a website (for example http://sourceforge.net/index.php), it will use cURL to open the website and check the HTTP status code (see http://en.wikipedia.org/wiki/List_of_HTTP_status_codes for details). If the HTTP status code is in the 4xx range, it means an error occurred and the website is not accessible to the public. You can also set a regular expression to match certain content on the page itself. If the regular expression returns no matches, the website is considered down. In both cases the script will return a “status offline”, and will start sending out notifications.
Each server has its own settings regarding notification.
You can choose for email, text message (SMS) and Pushover.net notifications.
The following SMS gateways are currently available:
- Clickatell – https://www.clickatell.com
- Inetworx – http://www.inetworx.ch
- Mollie – http://www.mollie.nl
- Mosms – http://www.mosms.com
- Smsglobal – http://www.smsglobal.com
- SMSit – http://www.smsit.dk
- Spryng – http://www.spryng.nl
- Textmarketer – http://www.textmarketer.co.uk
Please note: for these gateways you will need an account with sufficient credits.
If logging is enabled in the configuration, it will log any connection errors, emails and text messages sent. The latest log records will be displayed on your web interface. The cron/status.cron.php can be added as a cronjob which will keep the server status up to date.
Requirements
Download
The latest version can be found at here. If you want to contribute to this project, you can clone the repository from Github here.
License
PHP Server Monitor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
PHP Server Monitor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with PHP Server Monitor. If not, see http://www.gnu.org/licenses/.
Recent Posts
Как сделать мониторинг сервера
Недавно меня попросили написать статью про то, как сделать мониторинг сервера на PHP. Сразу говорю, здесь не будет сразу готового скрипта с пользовательским интерфейсом. Я расскажу и покажу лишь самый базовый код и объясню, как его можно использовать для мониторинга сервера на PHP.
Скрипт мониторинга сам по себе очень и очень простой:
if (@get_headers(«http://mail.ru»)) echo «Сайт доступен»;
else echo «Сайт не доступен»;
?>
Но смысла в таком скрипте нет, вместо echo лучше записывать данные, например, в log-файл, а при недоступности сайта отправлять письмо его администратору. Сделать это всё очень просто, если Вы знаете PHP. Для тех, кто не знает, вот обучающий курс.
Также очевидно, что скрипт должен запускаться автоматически. Для этого надо воспользоваться cron. Как часто запускать данный скрипт, решать Вам. Но в большинстве случаев будет достаточно это делать каждые 5-10 минут.
Ещё один важный момент, мониторить сайт нужно с другого сервера, поэтому Вам потребуется ещё один хостинг, а это стоит денег. Отсюда вывод: если Вы не хотите создавать сервис для мониторинга сайтов для всех желающих, то свой сайт лучше мониторить с помощью отдельных сервисов. Их достаточно много, а цены там существенно ниже, чем на хостинг (если, конечно, Вам не нужен мониторинг каждую минуту).
Теперь Вы знаете, как сделать мониторинг сервера на PHP. Если хотите мониторить свои сайты, то лучше используйте сторонние сервисы. А если у Вас есть какой-нибудь «бесплатный» хостинг или сервер, то можете использовать данный скрипт, либо можете создать свой собственный сервис мониторинга сайтов.
Создано 05.06.2013 04:30:30
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 7 ):
Ну самое простое — это яндекс-метрика, зарегиться там, добавить сайт, и этот сервис отправляет письма на почту, если сайт недоступен.
Да кстати зачем утруждать сервер и себя лишний раз) а тут яндекс делает за тебя работу) а так за статейку спасибо)
Также можно использовать сервис http://ping-admin.ru/
Здравствуй Михаил! Подскажи пожалуйста, как сделать кнопку в меню активной? То есть нажимаю на кнопку перехожу в раздел, кнопка стала активной, перехожу в другой раздел — соответствующая кнопка стала активной. По моему так на большинстве сайтов сделанно.
Обычно активной её делает движок, выделяя нужный пункт меню через css для текущей страницы.
По идее, это мониторинг сайта. А как сделать мониторинг сервера игры и получить, сколько на нем игроков?(Искал долго, но не нашел нужного)
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.
PHP Server Monitor
Делаем очень простой мониторинг сервера или сайта с помощью скрипта PHP Server Monitor. Для установки и базовой работы подойдёт почти любой хостинг или сервер.
Для запуска скрипта, нам потребуется:
— PHP версии 5.3.7 и выше.
— PHP модули curl и mysql.
— Непосредственно MySQL\MariaDB база.
Установка PHP Server Monitor.
Ставим PHP Server Monitor как любой другой PHP скрипт.
1. Скачиваем, распаковываем, запускаем install.php в браузере. Ссылка на загрузку доступна на странице проекта. Загружаем архив на сервер удобным для нас способом (работая по SSH, если есть такая возможность, либо по FTP, если это обычный хостинг).
2. Жмём на кнопку Let’s go, следуем инструкциям системы.
- Указываем данные для соединения с базой данных (она, конечно же, должна быть предварительно создана), адрес панели мониторинга.
- Следующим шагом PSM попытается записать конфиг, если у него по какой-то причине не хватит прав, будет предложено создать config.php вручную.
- Последним шагом здесь будет создание пользователя, которым мы и будем работать с мониторингом.
Добавляем ресурс в мониторинг.
1. Авторизуемся в панели созданным ранее пользователем и переходим в раздел Servers. Нажимаем на кнопку «Add new +» для добавления нового сервиса.
2. На открывшейся странице заполняем нужные нам данные:
- Label — название (метка) ресурса в мониторинге.
- Domain/IP — имя домена или IP адрес, который мы будем мониторить.
- Type — тип мониторинга. Здесь мы можем выбрать простой пинг, указать конкретный сервис, либо указать адрес сайта. В соответствии с выбором далее система предложит настроить либо сервис/порт, который будет проверяться, либо ключевое слово, которое будет проверять мониторинг на странице. Так же, будет предложено настроить таймауты проверки.
- Warning threshold — количество failed ответов, после которого сервер будет помечен как упавший.
Предложенные таймауты здесь стоит выставлять очень аккуратно. Если вы будете мониторить свои собственные ресурсы со своего же сервера, то их можно уменьшить, но если вы настраиваете мониторинг, например, на хостинге, имеет смысл оставить хоть какие-то таймауты, что бы не создавать подозрительной активности частыми исходящими запросами.
При необходимости, на этой же странице мы можем настроить аутентификацию на проверяемом сервисе, настроить тип уведомлений и указать, кому из пользователей будут доступны данные мониторинга этого нашего ресурса.
Когда всё будет заполнено и настроено, нажимаем на кнопку Save, переходим во вкладку Status и видим там наш добавленный ресурс.
Настраиваем уведомления.
Монитоинг поддерживает несколько видов уведомлений — email, sms, pushover. Всё это настраивается во вкладке Config, далее, в соответствующей секции. Для почты имеется возможность прописать данные для SMTP авторизации, для отправки SMS уведомлений доступны на выбор несколько провайдеров, ну а для PUSH сообщений потребуется аккаунт на pushover.net
Дополнительные настройки.
Опять же, в разделе Config, в секции General мы при необходимости можем настроить язык интерфейса (русский имеется), указать ключ, которым будут зашифрованы введённые пароли, задать статус, в соответствии с которым будут отправляться уведомления, включить логи и, при необходимости, подключить работу через proxy сервер.
Вот такой простой, но в то же время удобный и функциональный скрипт, позволяющий даже не самому опытному в делах системного администрирования веб-мастеру настроить мониторинг своих сайтов и ресурсов.