Что-то произошло! Отчет о состоянии серверов

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Скрипт/Шаблон мониторинга игрового сервера, с просмотром онлайна и статистики для SAMP, Rust, Counter Strike и Minecraft

MishaKonsta/GameServerWebsiteMonitoring

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Читайте также:  Css для img src

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Скрипт/Шаблон мониторинга игрового сервера, с просмотром онлайна и статистики для SAMP, Rust, Counter Strike и Minecraft Показ текущего количества игроков сервера на сайте, возможность заполнения заголовков и описания проекта, статистика онлайна за последние 24 часа. Встроенный Votifer API.

image

SAMP: Дополнительно отображает информацию о времени и погоде на сервере Rust: Показывает дату последнего вайпа на сервере, игроков в очереди

Поддерживаются мониторинги серверов с JSON API:

  • Rust / Rust Legacy (https://rust-servers.ru/api)
  • San Andreas Multiplayer / CR-MP / Trilogy Multiplayer (https://samp-servers.ru/api)
  • Counter Strike Global Offensive / CS 1.6 / CSS (https://cs-servers.ru/api)
  • Minecraft / Minecraft: Pocket Edition (https://craftservers.ru/api)

Откройте настройки в файле config.php, и укажите необходимые параметры Для получения ID сервера, добавьте сервер в один из мониторингов, и укажите его API ID

image

About

Скрипт/Шаблон мониторинга игрового сервера, с просмотром онлайна и статистики для SAMP, Rust, Counter Strike и Minecraft

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

License

phpservermon/phpservermon

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Support for mysql unix socket

Git stats

Files

Failed to load latest commit information.

README.rst

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.

  • Monitor services and websites (see below).
  • Email, SMS, Discord, Pushover, Telegram and Jabber 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, it will then use cURL to open the website and check the HTTP status code. If the HTTP status code is in the 4xx/5xx, it means an error occurred and the website is not accessible to the public. You can also set a regular expression to match for 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), Pushover.net, Telegram and Jabber notifications. The following SMS gateways are currently available:

  • Clickatell —
  • Inetworx —
  • Messagebird —
  • Mosms —
  • Smsglobal —
  • SMSit —
  • Spryng —
  • Textmarketer —
  • FreeVoipDeal —
  • Nexmo —
  • OctoPush —
  • FreeMobile (FR) —
  • Twilio —
  • CM Telecom —
  • GatewayAPI —
  • SolutionsInfini —
  • Plivo —
  • Callr —
  • SMSAPI —
  • OVH SMS PRO —
  • PromoSMS —
  • Infobip —
  • LabsMobile —
  • Tele2 Messaging —

Please note: for these gateways you will need an account with sufficient credits.

  • Web server
  • MySQL database
  • For PHP5: 5.5.9+
  • For PHP7: 7.0.8+
  • PHP Extensions (modules)
    • ext-curl
    • ext-ctype
    • ext-filter
    • ext-hash
    • ext-json
    • ext-libxml
    • ext-openssl
    • ext-pdo
    • ext-pcre
    • ext-sockets
    • ext-xml

    Please see docs/install.rst. In a nutshell: unzip, upload, run install.php, enjoy.

    If you have downloaded the source from GitHub (and not a pre-built package), the dependencies are not included. To be able to run an installation from the repo, you need to run the following command to install the dependencies:

    If you are familiar with Vagrant (https://www.vagrantup.com):

    The documentation is available in the docs folder or https://docs.phpservermonitor.org.

    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.

    Источник

    H Мониторинг доступности сервера или сайта с применением PHP в черновиках

    Применения PHP для целей системного администрирования редкая вещь, но для решения простых задач — это вполне допустимо. На Хабре данная тематика освещена слабо. Но возможно представить ситуацию, когда у человека есть знания PHP и его основная работа не дает времени изучить что-то другое, например, Python или Perl. Вот для такой категории людей может пригодится эта статья.

    Предлагаемый скрипт дает возможность пинговать серверы и получать код состояния HTTP. Соответственно можно оперативно узнать время выхода сайта из строя или отсутствие доступности какого-то сервера для ping. Оповещение приходит на email и СМС. Решение с почтой вряд ли вызовет вопросы, чего не скажешь об отправке СМС. Реализация отправки сообщений на телефон организована с помощью услуг сайта sms.ru. Данный сервис предоставляет до 60 бесплатных СМС программистам для своих разработок. Вам потребуется зарегистрироваться на сайте и в разделе «Программистам» взять готовый PHP-пример для отправки сообщений на свой телефон. Он будет выглядеть примерно так:

    $body=file_get_contents("http://sms.ru/sms/send?api_id=505dfad707-a5df30-aa04jkhkjhk-02f507654e7c&to=380950000000&text=".urlencode(iconv("windows-1251","utf-8","Привет!"))); 

    Практически без изменений пример попадет в скрипт. В вашем варианте будет другой ID и номер телефона соответственно.

    Скрипт мониторинга рассчитан для работы на Linux системе. Обратите внимание, чтобы выполнить скрипт в терминале указывая просто название, его потребуется сделать исполняемым командой chmod +x и в начало текста программы добавить #!/usr/bin/env php, что уже сделано в нашем случае. Иначе, имя скрипта в терминале придется предварять словом php. Также, удобно запускать скрипт с помощью cron каждые 30 минут. Для обкатки рекомендую запустить вначале в терминале, если будут ошибки они отобразятся на экране.

    Для правильной работы на компьютере должны быть установлены и настроены: PHP, PHP-CLI, sendmail.

    Вот собственно и текст скрипта:

    #!/usr/bin/env php > /* Проверяем существование файла, если нет, выводим справку, его размер * (если пустой, выводим справку), если аргументов больше одного, выводим справку, * если указан аргумент -h, выводим справку. */ if ((!$hostToPing) || (filesize(__DIR__."/hosts_to_ping") == "0") || ($argc > 1) || ($help == "-h")) < echo /* Читаем первую строку, там должен быть e-mail, если не проходит проверку на @ * выводим ошибку в терминал. */ $tomail = fgets($hostToPing); $tomail = trim($tomail); if (strpos("$tomail", "@") === false) < die("Указан неправильный e-mail!. Смотрите справку указав аргумент -h.\n"); >$text_error_ping = "Нет ответа на ping."; $text_error_http = "Ответ сервера:"; // Читаем со второй строки. while (!feof($hostToPing)) < $stroka = fgets($hostToPing); /* Ищем пустые строки. Убираем все пробельные символы и смотрим длину строки, * если 0, то она пустая, пропускаем итерацию цикла. */ $test = preg_replace('/\s/', "", $stroka); if (strlen($test) == "0") < continue; >// Убираем пробелы вначале и в конце строки. $stroka = trim($stroka); // Меняем все табы и где больше одного пробела на один пробел. $stroka = preg_replace('/\s+/', " ", $stroka); // Делим строку по пробелу. $opcii = explode(" ", $stroka); // Выбираем тип проверки, проверяем, если ошибка отсылаем на мыло и телефон. if ($opcii[1] == "http") < $URL = "http://".$opcii[0]; if (!get_headers($URL))< sendMailError($URL, "Нет ответа на http запрос. Возможно сервер не пингуется!", $tomail); sendSMS($URL.": Ошибка http! Возможно сервер не пингуется!"); >else < $otvet = get_headers($URL); if (substr($otvet[0], 9, 3) != "200") < $text_error_http = $text_error_http." ".substr($otvet[0], 9, 3); sendMailError($URL, $text_error_http, $tomail); sendSMS($URL." ".$text_error_http); >> > elseif ($opcii[1] == "ping") < $command = 'ping -c 10'." ".$opcii[0]." 2>/dev/null 1>&2"; system($command, $return_var); if ($return_var != "0") < sendMailError($opcii[0], $text_error_ping, $tomail); sendSMS($opcii[0].": ".$text_error_ping); >> // Отсылаем ошибку на мыло и телефон, если указан неправильный аргумент elseif ($opcii[1] != "ping" && $opcii[1] != "http") < sendMailError($opcii[0], "Указаны неправильные настройки в конфигурационном файле! Смотрите справку указав аргумент -h.", $tomail); sendSMS($opcii[0].": неправильная настройка в конфиге!"); >> fclose($hostToPing); // Функция отправки сообщения на mail. function sendMailError($nameServer, $text, $toaddress) < $date_m = date('l jS \of F Y h:i:s A'); $mailcontent = "     

    Что-то произошло! Отчет о состоянии серверов

    Сервер: $nameServer

    Сообщение:

    $text

    $date_m

    "; $subject = "Что-то произошло! Отчет о состоянии серверов."; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= "From: admin@helper". "\r\n"; mail($toaddress, $subject, $mailcontent, $headers); > function sendSMS($textSMS) < $body=file_get_contents("http://sms.ru/sms/send?api_id=505adfdd707-adf0-aa04-99b9dkfkj7654e7c&to=380950000000&text=" .urlencode("$textSMS")); >?>

    Конечно, кто-то спросит: «Зачем это все?». Я назову несколько аргументов: бесплатно, просто и полезно. Ведь есть интернет-сервисы с аналогичным базовым функционалом и при этом, услуги предоставляются за деньги. На этом все.

    Источник

Оцените статью