Поиск сообщества
Показаны результаты для тегов 'инструкция'.
Найдено: 1 результат
-
Постановка задачи · Нужен мониторинг VPS (Windows Server) на случай внеплановых отключений, перезагрузок. · Сервисы вроде ping-admin (тут описывали как настроить сервис https://tlap.com/kak-ustanovit-i-nastroit-vps-server-dlya-torgovli-na-foreks/) не решают задачу, т.к. для работы терминалов нужно авторизоваться в Windows. В случае внеплановой перезагрузки сервер даже без авторизации будет отвечать на ping, telnet и т.п. · Желательно бесплатное решение. Вариант решения · Создать скрипт на https://script.google.com/, отправляющий раз в 15 минут на указанный email сообщение, что сервер недоступен. · На Windows Server в Task Scheduler добавляем задачу, которая каждые 15 минут будет слать информацию в наш скрипт на Google, что сервер работает и с ним все в порядке. · Если скрипт на Google получил уведомление от VPS, что VPS работает, то скрипт пропускает плановую отправку уведомления о недоступности сервера. Если подтверждения от VPS не пришло, то скрипт в плановом порядке отправляет уведомление на email. Как настроить 1. Запускаем https://script.google.com/, создаем новый проект. 2. В поле два указываем имя скрипта (в моем случае checkServer), в поле 3 пишем скрипт. Вместо mymail@gmail.com вставляете свой email. Скрипт: function checkServer() { var lastCheckTime = PropertiesService.getScriptProperties().getProperty('lastCheckTime'); if (lastCheckTime) { var currentTime = new Date(); lastCheckTime = new Date(lastCheckTime); var timeDifference = (currentTime - lastCheckTime) / 1000 / 60; // Разница во времени в минутах if (timeDifference > 15) { // Проверяем, прошло ли более 15 минут с последней проверки sendEmail("Server is not reachable or admin is not logged in."); } } else { sendEmail("Server has never confirmed its status."); } } function confirmServer() { var currentTime = new Date(); PropertiesService.getScriptProperties().setProperty('lastCheckTime', currentTime); } function sendEmail(message) { var emailAddress = "mymail@gmail.com"; // Замените на ваш email var subject = "Server Status Notification"; MailApp.sendEmail(emailAddress, subject, message); } // Добавляем функцию doGet для обработки GET-запросов function doGet(e) { var func = e.parameter.func; if (func === "confirmServer") { confirmServer(); return ContentService.createTextOutput("Server confirmed successfully"); } else if (func === "checkServer") { checkServer(); return ContentService.createTextOutput("Server status checked"); } else { return ContentService.createTextOutput("Invalid function name").setMimeType(ContentService.MimeType.TEXT); } } 3. Далее кнопка «Сохранить» (3), после открыть меню триггеры (4), выбрать «Добавление триггера» (5). 4. Настройки триггера. Вводим следующие настройки. · Название нашего скрипта (checkSever). · Основное развертывание. · Триггер по времени. · По минутам. · Раз в 15 минут. Далее «Сохранить». Гугл запросит права доступа к скрипту от имени вашего аккаунта, подтвердите их. 5. Получить ссылку. Жмем «Начать развертывание» (6), выбираем «Новое развертывание» (7). Выбираем тип (8) – Веб-приложение (9). После еще раз подтверждаем кнопкой «Начать развертывание» (10). 5. В итоге получаем ссылку, которую можно скопировать кнопкой (11). Ссылка выглядит примерно так: https://script.google.com/macros/s/AKfycbyhkLgiwagzKwaHtAXsKtik8TJlG0hT5JDkhwEWkybwTnGQ3pTbVH9HQn0XSVB-hA2GFQ/exec 6. После ждем 15 минут. Этот скрипт будет отправлять на вашу почту каждые 15 минут сообщение «Server Status Notification: Server is not reachable or admin is not logged in.». При желании можно сделать эти сообщения на русском в теле скрипта. 7. Теперь на Windows Server надо настроить Планировщик, который будет уведомлять скрипт Google, что сервер работает. У меня Windows Server 2012, настройки пишу под него. Для этого открываем Пуск – Администрирование – Планировщик заданий. Выбираем «Создать задачу» (1). 8. Общие настройки. · При выполнении задачи использовать следующую учетную запись пользователя – ваш логин. · Выполнять только для пользователей, вошедших в систему. · Выполнять с наивысшими правами. 9. Вкладка Триггеры – Создать. Создаем триггер со следующими настройками. 10. Проверить наличие утилиты curl. Утилита curl входит в стандартный комплект Windows. У меня ее не оказалось пришлось установить ее. · Проверить наличие можно таким образом. Нажимаете Win+R, команда cmd. Далее в командной строке вводите curl --version (два тире это не опечатка, надо именно так). Если в ответ видите версию, то вам повезло, переходите к пункту 11. · Иначе скачиваете отсюда эту утилиту https://curl.se/windows/ и распаковываете в любую папку на VPS. Например, c:\curl\. · Далее открываете Свойства системы (Win+Pause/Break), выбираете Дополнительные параметры системы - Переменные среды – Переменная Path, нажимаете Изменить. К указанному там тексту через точку с запятой добавляете папку, куда распаковали утилиту. В моем случае было: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ Добавила: ;C:\curl\bin Стало: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\curl\bin 11. Вкладка Действия – Создать. Программа или сценарий – Curl. В поле аргументы пишем следующую ссылку. Исходная ссылка: https://script.google.com/macros/s/AKfycbyhkLgiwagzKwaHtAXsKtik8TJlG0hT5JDkhwEWkybwTnGQ3pTbVH9HQn0XSVB-hA2GFQ/exec К ней добавляем текст: ?func=confirmServer Получаем: https://script.google.com/macros/s/AKfycbwUbcvDnPIlFnO_HCrH89bJkhTixTHGiyz-Oqh_xgixCC1p4o-0zdLWNiFPnQ-p7iY/exec?func=confirmServer P.S. Где-то находила, что текст должен писать в кавычках. У меня работать стало если текст написан без кавычек. 12. Вкладка Условия, флажки не ставим. 13. Вкладка Параметры. 14. На этом все. Если сервер работает и уведомляет скрипт Google, то все ок. Если сервер перестает слать уведомления скрипту Google, то вы будете получать уведомления. PS админы, если не в той теме - перенесите, пожалуйста, куда нужно...Мне кажется многим будет полезна информация..
- 1 ответ
-
- 4
-
- vps
- инструкция
-
(и ещё 1 )
C тегом: