По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сейчас существует очень много различных программ, которые помогают правильно настроить то или иное программное обеспечение. Для того, чтобы программа эффективно работала, необходимо воспользоваться реальной или виртуальной машиной. Также, имеет смысл воспользоваться программным окружением Vagrant, которое поставляется вместе с программой Ansible после покупки лицензии. Прежде чем приступать непосредственно к настройке программы, необходимо узнать, что это вообще такое и какие функции выполняет. Что такое программа Ansible и для чего она нужна? Данная программа нужна для того, чтобы управлять различными программными конфигурациями для того, чтобы разрабатывать приложения на языке Python. Ansible представляет собой список программ, объединенных в пакет для управления специальными конфигурациями. Благодаря данному пакету программ можно настраивать те или иные удалённые машины и управлять ими на большом расстоянии. На сегодняшний день настройка программы Ansible осуществляется путём изучения пособия по следующим главам: Прежде всего, специалисты обучают новичка работе с установщиком. При этом, нужно будет установить программу Ansible вместе с утилитой под названием Vagrant. Далее идет полное изучение так называемого файла инвентаризации. После того, как файл инвентаризации был настроен и как следует изучен пользователем, необходимо перейти к непосредственному сбору факторов, переменных, copy и shell. Всё это нужно установить и настроить, дабы не возникало никаких проблем, связанных с дальнейшей эксплуатацией пакета Ansible для настройки удалённых машин. После этого осуществляется процесс, в который входит детальная настройка нескольких хостом. Немаловажным этапом идёт настройка плейбуков. В качестве примера стоит вспомнить настройку кластера через Apache, который включает в себя поэтапный балансировщик уровня нагрузки на удалённую машину. После того, как все предыдущие 6 шагов были совершены, необходимо перейти к откату и изучению ошибок. С каждым запуском ошибок должна становится всё меньше, что приведет к формированию паттерна действий системы. Установка программы Ansible завершается установкой и настройкой ролей каждого узла. Сама по себе, данная программа (один из вариантов графического интерфейса) выглядит так: В чём заключается настройка программы Ansible на практике? Утилита Ansible работает в проталкивающимся режиме. Он включает в себя использование всех настроек главной машины, с которой и осуществляются все наработки и разработки узлов. Основная машина тянет определенные узлы и ветки, осуществляя поэтапную постепенную нагрузку системы вместе с ее настройкой. Какие пакеты и модули нужны для работы утилиты Ansible? Как показала практика, для работы данной утилиты достаточно иметь следующие типы модулей: Модуль под названием jinja2 Вспомогательный модуль типа yaml Следует сказать, что прежде чем устанавливать данную программу, необходимо понять, что она работает исключительно на Linux и его дистрибутивах. Как правило, самыми популярными дистрибутивами Linux для работы программы Ansible являются Ubuntu или дебиан. Через командную строку нужно запустить соответствующую команду, которая отправить запросы на запуск установщика Ansible. Внутри нужно будет найти соответствующие пакеты, которые потом должны быть переписанные в командную строку. После того, как программа Ansible было установлена, нужно будет постепенно перейти к установке дополнительной утилиты, которое было упомянута выше. Данная утилита носит название Vagrant. Как правильно установить Vagrant на Linux систему? В качестве основной среды для установки данной программы лучше всего использовать так называемую виртуальную машину. Виртуальная машина нужна для того, чтобы не нагружать основную систему и создать дополнительную среду для Vagrant. Сам по себе, процесс установки данной программы включает в себя скачивание следующего софта: Непосредственно сама виртуальная машина или Virtualbox. В том случае, если после установки Virtualbox не возникло никаких проблем, стоит перейти к поиску ещё 1 немаловажной программы под названием Ruby. Если речь идёт о современных дистрибутивах Linux, таких, как Debian или Ubuntu, то стоит с уверенностью сказать, что программа уже имеется в системе. Если же я говорится о старых версиях Ubuntu или Debian, то нужно будет перейти на файлообменники и скачать Ruby на свой персональный компьютер. Завершающим этапом установки является скачивание на персональный компьютер ещё 1 немаловажной программы под названием Vagrant 1.1+. Ее можно найти на официальном сайте. Дальнейшим этапом будет создание работающего файла виртуальной машины. Команда, запускающая программу в виртуальной машине, выглядит таким образом: «vagrant up». После ее активации процесс запустится и можно переходить к другим шагам. Для некоторых систем потребуется получить права суперпользователя или ввести Root ключ. Его нужно заранее узнать у администратора или вспомнить, если речь идёт о домашнем персональном компьютере. В виртуальной машине нужно будет добавить соответствующие ключи SSH, дабы продолжить процесс. Процесс будет запущен спустя несколько минут после того, как соответствующие команды будут введены. Программа взаимодействует следующим образом: Дальнейшим этапом будет создание файла inventory. Для того, чтобы создать соответствующий файл, необходимо прописать в нём следующие команды. host0.example.org ansible_ssh_host=192.168.33.10 ansible_ssh_user=root host1.example.org ansible_ssh_host=192.168.33.11 ansible_ssh_user=root host2.example.org ansible_ssh_host=192.168.33.12 ansible_ssh_user=root Следует сказать, что строка под названием «ansible_ssh_host» содержит в себе уникальный адрес IP хоста. Его должен знать каждый человек, который устраивает полную настройку системы. Завершающим этапом всех манипуляций, которые были приведены выше, является полная проверка путем вписывания соответствующих строк кода в командную строку. Первым делом нужно будет выполнить следующую команду: ansible -m ping all -i step-01/hosts При первых этапах проверки Ansible пытается запустить модуль под названием ping. В том случае, если программа работала верно, то и результат будет выглядеть следующим образом: host0.example.org | success >> { "changed": false, "ping": "pong" } host1.example.org | success >> { "changed": false, "ping": "pong" } host2.example.org | success >> { "changed": false, "ping": "pong" } Если данного кода нет, то что-то не так и необходимо будет искать решение проблемы на сторонних ресурсах. Консультирование со специалистом поможет избежать проблем в будущем. Всё, узлы настроены и теперь можно переходить к дальнейшим действиям. Как правильно настраивать отдельные узлы, используя основную машину? Для того, чтобы узлы могли взаимодействовать между собой, необходимо воспользоваться одноимённой командой ansible. После того, как она была введена, узлы будут взаимодействовать между собой и передавать друг другу определенные массивы зашифрованной информации. Как запустить много хостов, если использовать всего лишь одну команду? Использование одной команды для запуска нескольких узлов является очень важной вещью в создании качественно работающих систем. Если в одну систему были собраны определённые машины под управлением одной и той же операционной системы, то стоит ввести следующую команду, так как вся информация будет собрана на одну машину, с которой эта самая команда и была введена. ansible -i step-02/hosts -m shell -a 'uname -a' host0.example.org Если всё было правильно сделано, то все хосты должны дать следующий вывод касательно своего статуса: host1.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host2.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host0.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 Каждый элемент будет подсвечен, а также будет передан его статус. Для того, чтобы получить гораздо больше информации касательно того или иного элемента, нужно вести другую команду с модулем setup. Данный модуль собирают гораздо больше информации с каждого узла, точно также передавая ей на основную платформу. В качестве примера ответа будет следующая конструкция: "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.0.60" ], "ansible_all_ipv6_addresses": [], "ansible_architecture": "x86_64", "ansible_bios_date": "01/01/2007", "ansible_bios_version": "Bochs" }, ---snip--- "ansible_virtualization_role": "guest", "ansible_virtualization_type": "kvm" }, "changed": false, "verbose_override": true Выводы можно сокращать для того, чтобы получать более простые конструкции, однако их суть останется прежней. Особенности архитектуры программы Ansible Архитектура Ansible включает в себя следующие разнообразные модули: Модуль Cloud позволяет управлять публичными или частными облаками от таких компаний, как Amazon, Azure , Docker, Openstack и другие; Command делает выполнение консольных команд максимально простым и отлаженным; Monitoring занимается мониторингом всех данных. Также, сюда можно включить еще множество различных модулей для правильной работы удаленных машин. И, как мы уже говорили, Ansible работает исключительно на дистрибутивах Linux и не содержит в себе протоколов для работы с Windows или Mac OS. Основными дистрибутивами для работы Ansible являются Debian и Ubuntu. Удачи вам в освоении мира DevOps!
img
Наряду с Laravel, существует множество PHP-фреймворков с достаточно мощными техническими возможностями, такие как Symfony, CodeIgniter, Phalcon и другие. Тем не менее, Laravel бесподобен. Именно поэтому, наверное, этот фреймворк обрел широкую популярность за последние несколько лет. Он до сих пор входит в топ GitHub, с большим, чем 62k звездами. В данной статье обсудим Laravel, почему он так распространен, а затем некоторые из лучших хостинг платформ где установлен Laravel. Что такое Laravel? Laravel - часто используемый PHP-фреймворк с открытым исходным кодом, созданный в 2011 году Тейлором Отвеллом. Он используется для разработки от простых веб-сайтов до сложных веб-приложений. Он основан на архитектуре MVC (model, view, controller). Принцип этой архитектуры - разделение входных, выходных данных и основного функционала интерактивных приложений на отдельные составляющие, что позволяет писать хорошо отлаженный, гибкий и простой в обслуживании код. Есть и другие причины, по которым Laravel знаменит: Объектно-ориентированный подход с выразительным синтаксисом Встроенная авторизация и аутентификация Пакетная система для ускорения разработки приложений Несколько файловых систем - локальное хранилище и облачное хранилище, например RackSpace и Amazon S3 Консоль Artisan для управления миграциями баз данных, публикации ресурсов пакетов и т.д. Мощный ORM Отличные показатели при тестировании Трансляция и планирование задач Учитывая популярность данного фреймворка, недостатка в хостинг-платформах для него нет, но не все они имеют нужный функционал и надежность. И если решили работать с Laravel и хотите выжать максимальную пользу из этой PHP-фреймфорка, важно использовать надежную платформу. Технически приложение на Laravel можно разместить на хостинг-платформе с поддержкой PHP, но не все они будут оптимизированы под Laravel. 1. Forge Первый кандидат - Forge. Он позволяет развертывать и предоставлять неограниченные приложения на Linode, DigitalOcean, AWS, Hetzner, Vultr и других. На сегодня Forge управляет более чем 352 тысячами приложений и заслужил доверие тысячи компаний и разработчиков. Он позволяет размещать приложения на нескольких облачных среда на ваш выбор. Всю заботу по установке PHP, Nginx, MySQL, Redis, Postgres и других важных программ Forge берет на себя. И не надо беспокоиться по поводу обновления всего арсенала вручную. Буквально простым нажатием можно развернуть коды из GitHub или Bitbucket. Для эффективной совместной работы членам команды можно выдавать разные права на панель управления сервером. Forge предоставляет функцию изоляции пользователей, которая помогает разделять и защищать учетные записи пользователей. Аутентификация сервера выполняется по протоколу SSH, но необходимый брандмауэр не используется. Управлять сервером можно с помощью удобной веб-панели или API. На Forge достаточно хорошо организована интеграция с LetsEncrypt, так что можно получить SSL сертификаты бесплатно. Он предлагает доступные планы, которые начинаются с $12 в месяц за 1 сервер, неограниченное развертывание и сайты, а также функцию Push-to-Deploy. 2. A2 Hosting Если нужно чтобы веб-сайт работал отлажено и показывал высокую производительность, а это нужно, то следует обратить внимание на уже известный читателям нашей базы знаний хостинг-провайдера A2. A2 Hosting обеспечивает высокопроизводительный серверный хостинг для Laravel на платформе SwedingServer. Также можно выбрать опцию Turbo Servers, что даст в 20 раз большую производительность, чем стандартный план. Их серверы оснащены твердотельными накопителями, а Turbo Server имеет AMD EPYC с драйверами NVMEe. В результате можно ожидать, что процессоры будут на 40% быстрее, скорость записи/чтения - в 3 раза, время до первого байта (TTFB) - в 2 раза, а трафик будет обрабатываться в 9 раз быстрее. Установка Laravel буквально производится одним щелчком мыши. Их практика Perpetual Security помогает уменьшить количество интернет-угроз, постоянно скрывающихся в Интернете. Для всех планов бесплатно доступны защита HackScan, которая блокирует попытки взлома, обновления KernelCare, двусторонний брандмауэр, защита от подбора, DDoS и другие функции безопасности. A2 Хостинг удобен для разработчиков и ориентирован на предоставление лучших версий программного обеспечения для разработки с момента его создания в 2003 году. Вы можете выбрать несколько версий PHP, MySQL, MariaDB, Python, PostgreSQL, Apache, SSH доступ и бесплатный SSL. A2 Хостинг предлагает бесплатную миграцию учетных записей. Они также гарантируют 99,9% времени безотказной работы, так что на них можно положиться. Цены начинаются всего с $2,99 за 1 сайт, 100GB SSD и другие функции. Он также включает 30-дневную гарантию возврата денег. 3. Cloudways Cloudways, обеспечивает почти в 300 раз высокую скорость работы сервера и полностью оптимизированную для веб-приложений производительность. Он поставляется с функциями хостинга высшего класса, которые помогают легко управлять приложением. Cloudways помогает повысить производительность приложения с помощью предварительно настроенных решений оптимизации, таких как PHP-FPM, Redis, Supervisord и других. Вы получаете хостинг на базе твердотельных накопителей с выделенным IP-адресом, чтобы пользоваться полным контролем над вашим сервером. Для более быстрой доставки контента здесь используется продвинутый стек приложений, который включает в себя современные технологии кэширования, такие как Lacnish, Memcached и CloudingCDN. Для обеспечения безопасности Cloudways регулярно обновляет брандмауэры и микропрограммы на уровне платформы. Для защиты от злоумышленников в дополнение к двухфакторной аутентификации можно использовать белый список IP-адресов. Хостинг предлагает возможность автоматического резервного копирование каждый час или каждые 7 дней и функцию автоматического восстановления. Также можно выбрать частоту резервного копирования исходя из нужд проектов. Cloudways использует таких поставщиков IaaS, как AWS, GCE, Linode, DigityOcean и Vultr, для размещения приложений в более чем 60 центрах обработки данных по всему миру. Это дает вам гибкость вертикального масштабирования, и нет сковывающего вас долгосрочного контракта. Cloudways поддерживает интеграцию Git, клонирование серверов и приложений, а также области размещения, что способствует эффективной совместной работе путем добавления членов группы. Цена зависит от выбранной платформы IaaS. 4. Servebolt Servebolt предлагает удобную среду Laravel, предоставляя Git, Composer и другие инструменты командной строки. Его серверы способны адаптироваться к настройкам и пользовательским рабочим процессам. Провайдер предлагает полное управление сервером с помощью SSH-доступа и быстрых баз данных для исключительной производительности. Servebolt предлагает устойчивую сеть, а также мониторинг серверов 24/7/365 для обеспечения высокой производительности и стабильности. Они обеспечивают интеграцию Git на панели управления с webhooks, что удобно для автоматизированного развертывания. Вы также можете интегрировать такие популярные инструменты, как Codeship, DeployHQ, Capistrano, StartCity, Jenkins и другими. Servebolt предоставил вам бесплатную помощь миграции. Они также обеспечивают 99,90% гарантии безотказной работы, включая SLA. 5. fortrabbit fortrabbit является одним из лучших провайдеров для хостинга Laravel и получил хорошие отзывы от своих пользователей. Он предлагает довольно простую установку Laravel и позволяет развертывать коды через Git push, поручая Composer обрабатывать остальное. Он имеет отзывчивое сообщество и известен своим качеством поддержки клиентов. Функции, входящие в состав fortrabbit, представляют собой полностью управляемые серверы с твердотельным накопителем, что обеспечивает высокую скорость работы. Поскольку сервер поддерживает масштабирование, его можно увеличивать или уменьшать в зависимости от потребностей. Кроме того, вы получаете поддержку SSH и SFTP, HTTPS, резервное копирование серверов и PHP 7. Они также предоставляют вам Memcache, чтобы в свою очередь обеспечивает высокую скорость и уменьшает нагрузку на базу данных. 6. ServerPilot ServerPilot позволяет размещать приложения и сайты Laravel на таких популярных платформах, как DigityOcean, с его простым, но интуитивно понятным интерфейсом и автоматизированным управлением серверами. Достаточно установите Ubuntu и ServerPilot сам построит стек приложений, настроит брандмауэры и т. д., подключив облачный сервер. На ServerPilot разработчики и агентства могут выбрать несколько версий Laravel. Гибкость и скорость поддерживаются за счет оптимизации Apache, Nginx, PHP-FPM. На одном сервере можно разместить несколько приложений Laravel. ServerPilot обеспечивает автоматизированную защиту, созданную исследователями, и включает автоматические обновления серверов и SSL-сертификаты с поддержкой HTTP/2. В дополнение к просмотру журналов и управлению производительностью приложений, можно отслеживать состояние сервера и получать подробные статистические данные. На данном хостинге также можно изолировать приложения, чтобы предотвратить случайное разрушительное влияние небезопасных плагинов, размещенные на том же сервере, на другие части сайта,. Цена ServerPilot начинается с $5/сервер в месяц, включая $0,50/приложение. 7. FastComet Облачный хостинг Laravel, предоставляемый SunComet, эффективен и экономичен. Они помогают развертывать и оптимизировать облачный сервер не за несколько часов, а за несколько минут. Даже можно бесплатно запросить перенос Laravel с помощью экспертов технической поддержки хостинг-провайдера. FastComet предлагает cPanel, самую мощную и популярную панель управления хостингом, включая удобную управление учетными записями. С помощью твердотельных накопителей можно получите доступ к файлам на 300% быстрее. Вы можете управлять всем, как профессионал с доступом ROOT. Еженедельное или ежедневное автоматизированное резервное копирование вместе со снимками данных по требованию. FastComet позволяет изменять размер сервера в любое время в зависимости от ваших потребностей. С помощью RocketBooster провайдер обеспечивает превосходную производительность и мониторинг серверов. FastComet защищает ваши серверы от угроз в Интернете с помощью SunGuard и информирует сети о вредоносных атаках. Его набор средств защиты включает полную изоляцию учетных записей, защиту от грубого перебора, брандмауэр, предотвращение DDoS, обнаружение вредоносных программ и удаление, а также фильтр ботнетов. SunComet имеет 9 глобальных центров обработки данных корпоративного уровня, а также 200 точек доступа Anycast Network для глобальной сети CDN. 8. Vapor А для тех, кто предпочитает безсерверные решения, есть Laravel Vapar - платформа для безсерверного развертывания Laravel, которая работает на базе AWS. Его масштабируемость - это то, чем вы увлекаетесь при использовании его платформы без сервера. Он не требует обслуживания сервера, и его можно автоматически масштабировать по требованию в течение нескольких секунд. Можно создавать, восстанавливать и управлять традиционными базами данных без сервера непосредственно с интуитивно понятной панели мониторинга Vapar. Получите всю необходимую скорость для хостинга Laravel как Vapar предоставляет вам возможность создавать кластеры ElastiCache, Redis и легко управлять ими. Наслаждайтесь мощью бессерверных вычислений, записывая и отправляя задания Laravel, и вы увидите, как сотни заданий выполняются одновременно без какой-либо конфигурации. Потоковый файл легко загружается в S3 с помощью встроенных утилит JavaScript. Хостинг предлагает отслеживание метрики приложения о базах данных, приложениях и кэшах. Они также предупреждают вас в случае, если производительность не достигает нужной отметки. Для увеличения скорости загрузки сайта, Vapor автоматически загружает и сохраняет данные через CloudFront CDN или S3. Есть возможность управления DNS-записями приложения из интерфейса командной строки или пользовательского интерфейса. В дополнение к этому вы получаете несколько сред для вашего приложения, быстрые откаты в случае ошибок и бесконечные развертывания. Цена Laravel Vapor начинается от 39 долларов в месяц. Заключение Выбор в пользу того или иного из перечисленных выше хостингов для приложений Laravel не будет проигрышным выбором. Тем более, что большинство из них гарантируют возврат денег, так что можно попробовать и выбрать именно то, что лучше всего подходит для ваших нужд.
img
Представьте ситуацию, пользователи пытаются получить доступ к вашему сайту, но он не открывается. Знаете в чём дело? Возможно, есть ошибки, которые не были выявлены и решены раньше. Разочарованные пользователи покидают ваш сайт, а вы теряете лояльных пользователей. Как решить эту проблему? Как узнать о состоянии сайта раньше пользователей? Существует два возможных способа - eсли вы не против потратить немного денег, то можно обратиться к таким мониторинговым решениям, как StartCake и т.п. Однако если вы разработчик или не готовы тратиться ежемесячно, можете воспользоваться преимуществами API Geekflare - Site Up? Данный API проверяет доступность сайта из разных точек. В данном материале рассмотрим Python код, который немедленно уведомит вас через Gmail, как только сайт станет недоступен. Начнем с изучения API «Is Site Up?» API Is Site Up? Перед началом работы с API необходимо установить пакет requests, который в Python используется для работы с API. Но не обязательно использовать Python. Можно использовать любой другой язык. В любом случае, убедитесь, что настроили все необходимое, чтобы сделать API запрос. Итак, для тех, кто использует Python, установите пакет запросов с помощью команды: pip install requests Выполните настройку для других языков (если выбран другой язык, кроме Python) и переходите к следующим шагам. Теперь перейдите на страницу API Geekflare. Вы можете найти различные типы API, включая «Is Site Up?». Для использования API Geekflare нам нужен ключ API, который мы можем получить через RapidAPI. Нажмите на кнопку GET API KEY, чтобы перейти к RapidAPI. RapidAPI откроется в новой вкладке и выглядит следующим образом: Чтобы получить ключ API нужно создать учетную запись. Создайте учетную запись в RapidAPI, если у вас ее нет. Затем в верхней части всех доступных API Geekflare вы увидите API «Is Site Up?», который мы ищем. Если он не активен, найдите его с помощью поиска и нажмите на него. После этого в правой стороне должно отобразиться руководство по данному API. Из раздела Code Snippets в правой части выберите Python -> Requests. Или же если вы не используете Python, выберите другой язык с соответствующим пакетом. Вы получите код для вызова API «Is Site Up?». Давайте изменим его немного, чтобы потом легче было добавлять код. Посмотрите на измененный код в Python. import requests API_URL = "https://geekflare.p.rapidapi.com/up" def make_api_request(): headers = { 'content-type': "application/json", 'x-rapidapi-host': "geekflare.p.rapidapi.com", 'x-rapidapi-key': "YOUR_API_KEY" } payload = r'{"url": "https://www.geekflare.com"}' response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() if __name__ == '__main__': data = make_api_request() print(data) Замените API_KEY своим собственным ключом API из RapidAPI в приведенном выше коде. Он будет разным для каждого пользователя. Вы найдете его в RapidAPI в разделе Параметры заголовка: Тот же ключ API вы сможете найти в примере кода, как показано ниже. Несколько расположений В приведенном выше коде сайт проверяется из одного датацентра (Нью-Йорк, США). Но мы можем посылать запросы на сайт из разных мест с указав буквенные коды стран в теле запроса. Другие доступные места - Англия (Лондон) и Сингапур. Мы можем передать данные местоположения вместе с URL-адресом сайта следующим образом: { "locations": [ "uk", "us", "sg" ], "url": "geekflare.com" } Вы можете передать предпочитаемые расположения из списка. Мы написали код, чтобы сделать запрос API, который получает данные независимо от того, работает сайт или нет. Пришло время написать еще код, который отправляет почту, когда сайт не работает. Получение уведомления на почту В сети можно найти немало руководств о том, как отправлять электронные письма через Gmail в Python или же использовать следующий код, который использует пакет под названием yagmail специально разработан для отправки почты из Gmail. Перед отправкой сообщения через учетную запись Gmail необходимо включить параметр Разрешить небезопасные приложения. Вы можете включить его здесь. Посмотрим код: def send_mail(): gmail = yagmail.SMTP("gmail", "password") receiver = "receiver@domain.com" subject = "Testing Subject" body = "This is a testing mail" gmail.send( to=receiver, subject=subject, contents=body, ) Полное руководство по yagmail можно найти здесь. Теперь у нас есть код для запросов API и отправки почты. Следующим шагом является вызов send_mail всякий раз, когда в ответе на запрос сайт указывается как недостпный. Итак, откуда мы знаем, что наш сайт не работает или работает? Когда мы посылаем запрос к API «Is Site Up?», он возвращает нам Python словарь с некоторыми данными как следующем скриншоте: В данном словаре есть ключ message. Значение этого ключа и показывает нам состояние сайта. Данный ключ может иметь два значения: Site is up Site is down Итак, мы отправим почту, когда получим сообщение «Site is down». Окончательный код будет выглядеть так: import requests import yagmail API_URL = "https://geekflare.p.rapidapi.com/up" def make_api_request(): headers = { 'content-type': "application/json", 'x-rapidapi-host': "geekflare.p.rapidapi.com", 'x-rapidapi-key': "API_KEY" } payload = r'{"url": "https://www.abcd.com"}' response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() def send_mail(content): gmail = yagmail.SMTP("gmail", "password") receiver = "email@domain.com" subject = "Your Site is Down" gmail.send( to=receiver, subject=subject, contents=content, ) if __name__ == '__main__': data = make_api_request() message = data['message'] ## seding the mail if message == 'Site is down.': ## extracting the errors from different locations locations_data = data['data'] mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below. " for location in locations_data: mail_content += f"{location['city']}, {location['country']} - {location['error']} " mail_content += " Check the error and resolve them as soon as possible." send_mail(mail_content) Тело сообщения можете редактировать по своему усмотрению. Мы завершили код отправки почты всякий раз, когда наш сайт не работает. Смотри образец сообщения, полученного с помощью вышеуказанного кода. Но, есть еще проблема. Мы должны выполнить наш код, чтобы проверить, работает ли наш сайт или нет. Частота запуска данного скрипта зависит от ваших предпочтений. Допустим, мы должны проверять сайт каждые час. Правда, мы можем каждый час открыть терминал и запустить скрипт. Но это скучно и неэффективно. Плюс к этому, никто так не делает. Решение напрашивается само: использовать cron для автоматического выполнения нашего кода каждый час. Посмотрим, как его настроить. Настройка Cron Рассмотрим шаги по настройке cron в операционной системе на базе UNIX. Открыть терминал. Выполните команду crontab -e, которая открывает файл crontab на терминале. Нажмите клавишу i для перехода в режим ВВОДА. Теперь добавьте шаблон cron, пути к исполняемому файлу Python и нашему файлу, как указано ниже: 0 * * * * /usr/bin/python3 /home/sample.py Подробно про cron можно прочесть в этой статье. Итак, мы настроили планировщик для ежечасного запуска кода. Если нужно будет указать другое расписание, можно воспользоваться разными утилитами для генерации шаблона расписания для cron. Пожалуй, теперь все. Мы настроили проверку сайта каждый час и получение уведомления на почту, если сайт станет недоступен. Заключение Автоматизация экономит много времени и работает на нас. Можно настроить cron на каком-нибудь облаке, чтобы он постоянно работал, проверял состояние сайта и уведомлял нас при сбое.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59