По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Зачастую можно столкнуться с задачами, когда необходимо обеспечить доступ к внутренним корпоративным (или домашним) ресурсам из Интернета. В этом случае, нужно выполнить, так называемый "проброс портов". Что это такое, зачем это нужно и как настраивать на примере роутера Mikrotik 951Ui-2HnD – расскажем в данной статье. /p> Как это работает? Давайте представим себе следующую ситуацию – у нас есть корпоративная сеть, в которой пока ещё локально разворачивается сервер IP-телефонии на базе Asterisk, управляется он при помощи графической оболочки FreePBX. Задача состоит в том, чтобы предоставить возможность администратору сервера управлять им из Интернета. Итак, имеем следующую схему: Для начала остановимся на понятии “проброс порта”. Проброс порта – это функционал маршрутизаторов, поддерживающих NAT, который позволяет получить доступ к ресурсам локальной сети, из Интернета по средствам перенаправления трафика определенных портов с внешнего адреса маршрутизатора на внутренний адрес хоста в локальной сети. Иными словами, мы должны настроить на роутере правило, в котором при поступлении TCP запроса на внешний адрес, в данном случае 35.135.235.15 и определенный порт, например 23535, открывался бы доступ к интерфейсу FreePBX, который в данным момент доступен только в локальной сети по адресу 192.168.1.100 и, соответственно на порту 80 (HTTP). Настройка Перейдём к настройке. Заходим на адрес нашего роутера Mikrotik 951Ui-2HnD, видим следующее окно: Скачиваем приложение WinBox. Вводим учётные данные и подключаемся. По умолчанию логин - admin, пароль - пустой. Если у вас уже настроены логин и пароль, то укажите их. Далее необходимо создать NAT – правило. Для этого переходим по следующему пути – на панели управления слева выбираем IP → Firewall → NAT Открывается следующее окно: Нажимаем на +, открывается страница добавления нового NAT- правила. Задаём следующие параметры: Chain → dstnat - направление запроса из внешней сети во внутреннюю. Protocol → tcp, поскольку в нашем случае нужно предоставить доступ к HTTP страничке. Dst.Port → 23535 - это тот самый порт назначения, на который будет отправлять запрос из вне на получение доступа к FreePBX. In.Interface → all ethernet - входной интерфейс. Это интерфейс, которым роутер смотрит в Интернет и на котором он будет прослушивать указанный выше порт. Должно получиться вот так: На вкладках Advanced и Extra настраиваются расширенные опции, такие как лимит по битрейту, политика IPsec, время, в течение которого правило будет активно и так далее. Переходим на вкладку Action и объясняем роутеру, какие действия он должен выполнить при поступлении запроса на указанный порт. Выбираем Action → netmap, то есть трансляция с одного адреса на другой. To Addresses → 192.168.1.100, то есть адрес нашёго FreePBX. И последнее - To Ports → 80, то есть запрос на HTTP порт. Должно получиться так: Далее нажимаем OK и правило готово. Теперь если вбить в адресной строке браузера сокет 35.135.235.15:23535 то мы попадем на страницу авторизации FreePBX.
img
В эпоху автоматизации люди все время ищут средства для эффективного выполнения задач. А почему бы и нет, каждая секунда имеет значение! Аналогично, если вы пользуетесь Unix-подобной операционной системой, планировщик Cron очень экономит время за счет автоматизации рутинных задач. Давайте кратко разберем, как это работает, а затем изучим некоторые облачные решений для мониторинга самого Cron. Так, что же такое Cron и с чем его едят? Планировщик Cron - это служебная программа, которая выполняет заранее запланированные сценарии или команды на сервере. Эта команда встроена в запланированное время и дату для автоматического выполнения без выполнения вручную. Кроме того, планировщик Cron точно реализованы для автоматизации повторяющихся задач, таких как удаление файлов за неделю, перезагрузка сервера или выполнение некоторых других функций. Основные элементы задания Cron Планировщик Cron работает поверх трех важными компонентов: Сценарий - сценарий является первым составляющим Cron, которое вызывается для выполнения. Расписание - когда запускать указанные сценарии. Действие - это ход вывода, который происходит после окончательного выполнения. Типы заданий Cron, требующих мониторинга Отсутствие уведомлений о статусе заданий Cron может не иметь сиюминутных последствий, но может помешать работе системы в долгосрочной перспективе. Вот некоторые из заданий Cron, которые обычно остаются незамеченными если не использовать эффективную службу мониторинга: Резервные копии Обновление SSL-сертификата Антивирусное сканирование Динамические обновления DNS Перезагрузка сервера Преимущества мониторинга статуса заданий Cron Помимо контроля за своевременным выполнение запланированных заданий Cron, службы мониторинга предоставляют следующие практические преимущества: Планирование заданий - можно запланировать любые задания доступные через планировщик Cron прямо из панели управления сервиса; Мгновенные оповещения - если какое-либо приложение или процесс задания занимает больше времени, чем ожидалось, то эти службы будут выдавать мгновенные оповещения. Metric Insights - вы можете отслеживать все метрики по заданиям и оптимизировать их выполнение. Теперь давайте рассмотрим некоторые облачные средства мониторинга Cron. 1. HealthChecks Простота и эффективность HealthCheck делают его одним из лучших вариантов для мониторинга заданий Cron. Она предоставляет еженедельные отчеты по триггерам оповещений, сбоям в выполнении запланированных задач, сбоям резервного копирования и многом другом. Еще одна впечатляющая вещь в HealthCheck заключается в том, что он предлагает уникальный URL для каждой задачи, для которой включен мониторинг. Вы можете легко проверять запросы на обслуживание по HTTP или отправлять сообщения по электронной почте. Применение HealthChecks для мониторинга cron уменьшит количество автоматических сбоев. Сервис располагает удобной панелью мониторинга с интерактивным обновлением, которая предоставляет подробные сведения обо всех предупреждениях или проверках. Можно также назначить имена или теги всем проверяемым службам, что в конечном итоге поможет легко распознать их при необходимости. Она поставляется с простой конфигурацией с параметрами "Grace Time" и "Period" для указания различных аспектов или состояния мониторинга. Он позволяет добавить подробное описание для каждого задания Cron. Для выполнения дальнейших действий можно добавить указатели и заметки. Кроме того, можно просмотреть историю отправленных или полученных сообщений ping. Другие функции включают в себя публичные значки состояния, поддержку выражений Cron и интеграцию с Slack, Email, WebHooks, Microsoft Teams и т.д. 2. Cronitor Cronitor поможет вам более удобно планировать задачи с помощью быстрых оповещений. Он работает с несколькими заданиями Cron, такими как запланированные события AWS, планировщик заданий Microsoft, планировщик Jenkins, Kubernetes Cron, Java Cron и многое другое. Мониторинг контрольного сигнала позволяет получить представление о состоянии конвейеров данных, фоновых заданий, демонов, сценариев, ETL-заданий и других. Его легко можно использовать для любого языка и на любой платформе. Сервис обладает гибкими настройками политик и правил оповещения. Cronitor также предлагает мониторинг времени безотказной работы для веб-сайта, API, S3 объектов Amazon (корзин) и т.д. 3. Cronhub Cronhub устраняет необходимость в написании любых кодов для планирования и контроля фоновых заданий. Вам просто нужно сконцентрироваться на своих приложениях и позволить им планировать ваши задачи. Вы получаете мгновенные предупреждения о всех аспектах мониторинга, как только появится отклонение от нормы в любом из запланированных задач. Поддерживается планирование заданий с использованием выражений Cron или временных интервалов. Для этого достаточно задать API или целевой URL-адрес, который будет выполняться в задании. Затем Cronhub отправляет HTTP-запрос на указанный API или целевой URL. Если расписание будет прервано по какой-либо причине, Cronhub немедленно отправит предупреждения через настроенные каналы, в число которых входит SMS, Slack, Email и другие. Помимо этого, Cronhub также помогает отслеживать информацию о запланированных заданиях, обеспечивает поддержку команды, доступ к журналу. Это в конечном итоге поможет вам найти лазейки в приложении вместе с заданиями в фоновом режиме. 4. Dead Man’s Snitch Еще один сервис, который на русский язык переводится довольно забавно "Стукач Мертвеца" Dead Man’s Snitch завоевал рынок, во время бума служб мониторинга планировщика Cron. Он больше ориентирован на задания вроде выставления счетов или резервного копирования, которые не были выполнены в соответствии установленным графикам. Dead Man's Snitch гарантирует, что разработчики и пользователи будут следить за работой Cron так, как они ожидали. С помощью этого сервиса можно контролировать Cron, Heroku Scheduler и другие планировщики. Для уведомления о сбоях в работе может использоваться любой HTTP клиент, например, cURL. cURL - это фрагмент, добавляемый как суффикс к концу строки Crontab. Он предлагает запрос к Dead Man 's Snitch, чтобы проверить, выполняется ли задание или выполняется ли оно должным образом или нет. Для различных заданий, вы можете изменить Snitch URL, чтобы знать результаты мониторинга для каждого из них по отдельности. Другой интересной особенностью является добавление к заданию функции "Полевой агент". Можно загрузить и установить его для улучшения результатов мониторинга вместе с метриками и записями данных. С его помощью можно проверить журналы ошибок заданий Cron, чтобы найти лучшее разрешение для них. Эти функции являются идеальным сочетанием для обеспечения лучшего отслеживания фоновых заданий. Его цены начинаются всего от 5 долларов в месяц для трех "доносчиков" и неограниченных членов команды. 5. CronAlarm CronAlarm - это универсальный концентратор, помогающий получить представление о надежности и производительности запланированных задач с минимальными сложностями. Лучшее в CronAlarm это поддержка каждого Cron задания с возможностью доступа к URL без особых хлопот. Обо всех фоновых заданиях приложений, будь то выполняющиеся слишком быстро или медленно, либо с опережением, или с отставанием, сообщается и пользователям. Существует несколько платформ интеграции для оповещения пользователей, включая электронную почту, Slack и webhooks. Необходимо предоставить CronAlarm информацию о расписаниях работы, таких как время запуска, продолжительность выполнения и т.д. Он назначает определенный ключ API различным заданиям. Чтобы начать работу со службой мониторинга CronAlarm, необходимо просто добавить ключ API или вызов в начале или конце URL. Вы также можете обратиться к CronAlarm чтобы получить более функциональный API, оснащенный интегрированными функциями для более эффективного решения проблем. 6. WebGazer Web Gazer помогает планировать задачи и выполнять мониторинг всех выбранных заданий Cron для отслеживания производительности. В Web Gazers не посылает ложные аварийные сигналы, так как инциденты проверяются в течение нескольких секунд перед отправкой предупреждения пользователю. Кроме того, Web Gazer обеспечивает квитирующий мониторинг (heartbeat monitoring), мониторинг SSL. Его план начинается с $19/месяц, а также доступна бесплатная версия со всем основным функционалом. Заключение За автоматизацией будущее. Планирование и мониторинг заданий Cron помогают эффективно выполнять задачи. В противном случае, как бы вы узнали, что выполняются ли запланированные операции подобающим образом или нет? Но к счастью, вышеуказанные решения, в конечном итоге, помогут вам оптимизировать задачи и устранить недочёты, мешающие работе пользователя.
img
API расшифровывается как Application Programming Interface (программный интерфейс приложения). Что же это такое? По сути, это описание способов взаимодействия между программами, как они могут общаться и передавать данные друг другу. Рассмотрим пример из жизни: Приходя в ресторан вы взаимодействуйте с официантом - можете попросить меню, сделать заказ, попросить принести счет. Официант является интерфейсом вашего взаимодействия с рестораном - вам не нужно знать о том как готовится еда, ингредиенты, как рассчитывать чек, все это сделает ресторан, и отдаст вам результаты при помощи официанта, который в этом примере представляет собой API ресторана. От вас скрываются сложные детали и просто происходит общение между двумя системами - клиентом и рестораном. Вернемся к компьютерам. Предположим, что у нашей платформы доступного айти образования Merion Academy есть интерфейс работы с клиентами - тот самый API, в котором есть определенные функции, куда можно отправить какой - то запрос, и получить ответ. Представим, что у нашего API есть функция вернуть список курсов по Linux, на которые сейчас действует скидка 50% - в такой случае браузер должен сделать запрос к нашему API на получение такого списка курсов, а ответ получить эти данные и отрисовать на странице. Важно учесть, что API интерфейсы не всемогущи - вы получите только те функции, которые заложил разработчик. Например, если помимо курсов по Linux со скидкой 50% вы захотите еще получить прогноз погоды в селе “Добрые Пчёлы” - то сорри, наш API пока так не умеет. Для добавления каждой такой новой функции программист должен разработать ее. API состоит из двух частей: это сам интерфейс взаимодействия, скажем так некий мост, портал, окно, а вторая часть - это его описание, которое отвечает на вопрос “а как этой штукой то пользоваться?” Взаимодействие может быть не только между клиентом и сервером, как в примере с нашей ИТ платформой, но и между серверами. Представьте: решили вы полететь в солнечный Дубай, купили билетик на сайте, а он вам еще и погоду показывает. Как же так! Неужели у компании по продаже билетов еще и метеорологические датчики по всему миру стоят, которые сообщают о погоде? Конечно нет - сайт с билетами взаимодействует с каким - то сервисом погоды по API, который как раз занимается погодными данными. А сайт с билетиками еще и скорее всего платит за каждый запрос небольшую денюжку. Кстати, API может быть не только у веб - сервисов, где общение происходит по протоколу HTTP. API есть и у операционных систем, для взаимодействия с самой операционкой и железом. Например, если вы создаете свой аналог инстаграма, то для работы с камерой на устройстве вам нужно взаимодействовать с API системы, которая уже знает как работать с камерой, а не придумывать что-то самому с нуля, да еще и для миллиона разных устройств. API действительно делает жизнь разработчика удобнее, а чтобы работа с API не превратилась в бардак, оно стандартизировано. Самый популярный, это конечно же REST API, но перед тем как перейти к нему, скажем пару слов про SOAP (Service Object Access Protocol), который появился несколько раньше и описывал правила синтаксиса для сообщений запросов и ответов, отправляемых веб-приложениями. Подробнее про SOAP - тут. Ну и все, кто поддерживал SOAP должны были обмениваться XML-сообщениями между системами через HTTP или SMTP. XML (Extensible Markup Language), он же расширяемый язык разметки - это формат для хранения и передачи данных, в котором данные размещены в тегах, что делает их легко читаемыми как для компьютера, так и для человека. Развиваясь, люди перешли на REST, который в отличии от SOAP не является протоколом, а является архитектурным стилем. В SOAP приходилось писать в разы больше кода и заворачивать каждое сообщение в XML. REST же делает данные доступными в качестве ресурсов, которые представлены уникальным URL-адресом, и можно запросить этот ресурс, указав его URL-адрес. Например чтобы посмотреть свои подписки на ютубе нужно выполнить запрос на вот такой адрес https://www.youtube.com/feed/subscriptions. Веб-API, соответствующие стандартам подхода REST, называются RESTful API. Они используют различные HTTP-запросы для работы с ресурсами, такие как GET - запрос, который используется для получения информации или POST, который в свою очередь нужен для отправки данных. RESTful системы поддерживают обмен сообщениями в различных форматах, таких как самый обычный текст, HTML формат, YAML, XML и JSON, в то время как SOAP разрешает только XML, как мы и сказали ранее. Самый популярный это конечно JavaScript Object Notation, он же JSON - простой и универсальный формат, который содержит в себе набор пар ключ:значение. Также хотим сказать про штуку, которая называется gRPC (Remote Procedure Calls) которая в основном используется для связи между разными сервисами и работает очень быстро благодаря тому что тут используется протокол HTTP/2 который работает гораздо быстрее засчет всяких новинок вроде сжатия хедеров, а вместо JSON или XML используется формат Protocol Buffers (protobuf), который работает быстрее и потребляет меньше ресурсов при работе с ним. Работает все это настолько быстро, что можно делать вызов к функции на другом сервере с такой же скоростью, как если бы она находилась на нашем. Подробнее про gRPC и Protobuf - тут Ну и не можем не сказать про модный GraphQL - это язык запросов для API который позволяет указывать точные данные, которые ему нужны, и упрощает получение и склейку данных из нескольких источников, поэтому разработчик может использовать один вызов API для запроса всех необходимых ему данных.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59