По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Учет использования системных ресурсов, производительности и возможных проблем в обслуживании довольно сложная задача. Более серьёзные сложности появляются при создании инфраструктуры, включающей несколько компонентов, таких как сервер, база данных, обмен сообщениями, аутентификация, балансировка нагрузки и т.д. Когда у вас есть 1 или 2 сервера, то, вероятно, ими легко управлять вручную, но когда вы имеете дело с сотнями или тысячами, то вам нужен инструмент для управления ими. Умный инструмент, который может помочь ускорить административные задачи как установка, внесение исправлений, конфигурация, контроль, и т.д. Представьте, что вы - sysadmin и должны управлять сотней серверов вручную. На это не хватит времени чисто физически. В этой статье приведём некоторые инструменты, которые можете использовать для облегчения и упрощения рутинных задач. Некоторые из них бесплатны, поэтому не придётся убеждать своего начальника в целесообразности вложения. Cockpit Cockpit - это решение с открытым исходным кодом для администрирования Linux серверов. С его помощью можно запускать контейнеры, управлять дисками, настраивать сеть, анализировать логи и т.д. и т.п. Система имеет возможность одновременного управления и мониторинга состояние нескольких серверов. Для этого достаточно добавить нужные хосты в систему и Cockpit начнёт следить за ними. Вот некоторые возможности системы: Визуализация производительности системы Управление Docker-контейнерами Веб-оболочка в окне терминала Командная строка Управление учетными записями Сбор конфигурации системы и диагностической информации Изменение настроек сети Благодаря хорошей документации эту систему можно легко установить и сразу же начать пользоваться. Ajenti Ajenti - популярное решение с открытым исходным кодом, которое предлагает панель администрирования сервера через браузер. Можно устанавливать дополнительные пакеты и выполнять команды, а также просматривать важную информацию о состоянии сервера, например, количество используемой оперативной памяти, размер свободного места на диске и т. д. Ajenti предлагает очень удобный инструмент для управления несколькими веб-сайтами. Для этого нужно установить дополнительную надстройку под названием Ajenti V. Она позволяет управлять сайтами на основе PHP, Python, Ruby и Node.js. Ajenti модульный, легко расширяемый, который удивительно полезен для различных случаев использования. Некоторые из его особенностей включают: Понятный и хорошо документированный интерфейс Графический интерфейс пользователя на AngularJS Одностраничное приложение на AJAX Интуитивный дизайн Уведомления, модульные окна и обновления в реальном времени Подключаемая аутентификация и авторизация Брандмауэр Webmin Webmin - как и говорит название, панель управления для Linux серверов через веб-браузер. Он поддерживает более 100 Unix дистрибутивов. Он выполняет функции комплексного интерфейса для базовых приложений на серверах, включая поддержку настройки таких приложений, как FTP, ssh, почта, Web, базы данных и многое другое. Webmin модульная система, благодаря чему любой кто может писать плагины очень легко может добавлять новые функции и возможности Webmin основан на модуле, что позволяет легко добавлять новые функциональные возможности и возможно для любого, кто хочет писать плагины для управления сервером. По умолчанию, доступно более 100 модулей. InterWorx InterWorx состоит из двух модулей: NodeWorx - для управления серверами SiteWorx - для управления сайтами и доменами Система имеет поддержку на основе приложений, которая включает в себя Apache, PHP, MySQL, Perl и Djbdns (DNS), а также работу электронной почты и включает в себя сервисы POP3, IMAP, SMTP, использующие Qmail. Ниже перечислены некоторые возможности системы Управление резервными копиями Использование полосы пропускания Уведомления в случае сбоев CLI, API и поддержка плагинов Кластеризация для отказоустойчивости cPanel Пожалуй, самая известная система управления сайтом. Система работает на Linux, имеет простой и понятный графический интерфейс и позволяет автоматизировать задачи управление веб-хостингом. cPanel безусловно одна из лучших панелей управления веб-хостингом в своей отрасли. Она имеет возможность публикации веб-сайта, создания электронной почты и календарей, безопасного управления файлами, управления доменами, запуска баз данных, добавления или удаления DNS, настройки FTP, планирования заданий с помощью cron, отображения статистики логирования и многое другое. Plesk Plesk - система, позволяющая управлять облачными серверами, WordPress-ом, Joomla и т.д. Она поддерживает больше ста расширений. Почему для управления хостингом стоит выбирать Plesk? Все просто: Дружественный интерфейс; Мультитенантность; Высокая безопасность; Набор SEO-инструментов. Мультитенантность - элемент архитектуры программного обеспечения, где один экземпляр запущенного на сервере приложения обслуживает множество клиентов («арендаторов»). Почти все ИТ специалисты, разработчики, цифровые агентства, контент-менеджеры - пользователи Plesk. Plesk - основной конкурент cPanel, о котором упоминалось выше. Directadmin DirectAdmin - не менее популярная система управление веб хостингом, которая по умолчания имеет три уровня доступа - администраторы, реселлеры, пользователи. Каждый их уровней имеет свой функционал. Администраторы имеют право на администрирование и кластеризацию DNS, управление IP, управление пользователями, обновление программного обеспечения и многие другие функции. Реселлеру доступны функции управления учетными записями и пакетами, управления связями с пользователями, системной информацией. Пользователи получат возможность управления файлами и базами данных, администрирования электронной почты, управления FTP, резервного копирования сайта и многие другие функции. Virtualmin Virtualmin мощная и расширяемая панель для управления веб-хостингом для Linux и BSD систем. Панелью можно пользоваться через настольные ПК, планшеты и мобильные устройства. Virtualmin решение с открытым исходным кодом с премиум поддержкой. Эта система с большим чем 100 тысяч установок - одна из самых популярных панелей управления веб-хостингом. После установке Virtulmin вы получаете все функции управления веб-хостингом, как web, электронная почта, домен, DNS, аналитика, отчетность и т. д. Она также предлагает некоторые эксклюзивные возможности, как двухфакторная аутентификация, аутентификация через LDAP, управление посредством командной строки и много других передовых средств управления доступом. Заключение Подключение к серверам по одному и ручная проверка их работы действительно занимает очень много времени пользователя. Именно поэтому управление серверами со временем привлекло к себе столько внимания. Средства удаленного администрирования серверов облегчают управление серверами и повышают эффективность.
img
Ansible один из двух (наряду с SaltStack) наиболее популярных программных комплексов третьей волны, которые позволяют удалённо управлять конфигурациями. Тем не менее, в сегменте сетевого оборудования лидирует наш сегодняшний герой (если о ПО можно так сказать). В первую очередь это вызвано тем, что Ansible не поставит перед пользователем задачи устанавливать агент на хостинги, требующие от него управления. Тем паче ежели Ваш аппарат взаимодействует с ними через CLI, то Ansible это то, что доктор прописал. Одним выстрелом три "электронных зайца" Вообще, прежде чем знакомить уважаемых читателей со сценарием работы в данном программном комплексе, позвольте перечислить несколько его достоинств: Ansible позволяет параллельно подключать по SSH к устройствам (пользователь может сам определить их число). Ansible может передавать задачи на подключённые машины. Ansible способен разбивать машины, входящих в систему, на подгруппы и передавать специальных задачи для каждой подгруппы. Конечно, указаны не все достоинства Ansible. Просто в данных 3 пунктах, как мне кажется, отражена основная суть работы в данной среде. Выполняя эти три задачи, система автоматически освобождает Вас от головной боли по делегированию задач и функций в компании. Время деньги, как говорится. Сценарии Ну и переходим к основному блюду нашего материала - сценариям (playbook). Они состоят из двух частей набора команд для выполнения (play) и конкретных команд (task). Они выполняются друг за другом. Все записи данных осуществляются с помощью YAMLа. К несомненным плюсам его использования следует отнести то, что он гораздо лучше воспринимается людьми, нежели тот же самый JSON. Ежели Вы больше привыкли Вы к Python, то тут у Вас не возникнет проблем с адаптацией, так как синтаксис у них схожий. А вот так происходит процесс написания сценария (комментарии даны построчно к выводу): Имя сценария обязательный элемент для любого сценария; Сценарий применяется к машинам в подгруппе cisco-routers; Выключение режима сбора событий в конкретной машине (если не выключить данный режим, то система потратит много времени на решение ненужных задач); В разделе task указывается список команд для каждого конкретного случая; После чего происходит выполнение команды: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] TASK [run sh ip route] **************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] PLAY [Run show commands on switches] ************************************************** TASK [run sh int status] ************************************************************** changed: [192.168.100.100] TASK [run sh vlans] ******************************************************************* changed: [192.168.100.100] PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.100 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=2 unreachable=0 failed=0 И запускаем проверку выполнения команд: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run s hip int br] *************************************************************** Changed: [192.168.100.1] => {“changed”: true, “rc”: 0, “stderr”: “Shared connection To 192.168.100.1 closed. ”, “stdout”: “ Interface IP-Address OK? Method Status Protocol Ethernet0/0 192. 168.100.1 YES NVRAM up up Ethernet0/1 192.168.200.1 YES NVRAM up up Loopback0 10.1.1.1 YES manual up up ”, “stdout_lines “: [“”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopaback0 10.1.1.1 YES manual up up “]} А что внутри? А теперь поговорим о начинке сценария. Основу составляют переменные. Это могут быть данные о машине, выводы команд, а также их можно вводить вручную. Главное не забывать правила написания имён. Их всего два: имена всегда должны состоять из букв, цифр и нижнего подчёркивания; имена всегда должны начинаться с буквы. Переменные могут быть определены разными способами: Инвентарным файлом [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 [cisco-routers:vars] ntp_server=192.168.255.100 log_server=10.255.100.1 PLAYBOOKом -name: Run show commands on router: hosts: cisco-routers gather_facts: false vars: ntp_server: 192.168.255.100 log_server: 10.255.100.1 tasks: -name: run sh ip int br raw: s hip int br | ex unass -name: run s hip route raw: sh ip route Специальными файлами, созданными для групп: [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 Или группами каталогов |– group_vars _ | |– all.yml | | |–cisco-routers.yml | Каталог с переменными для групп устройств | |–cisco-switches.yml _| | |–host vars _ | |–192.168.100.1 | | |–192.168.100.2 | | |–192.168.100.3 | Каталог с переменными для устройств | |–192.168.100.100 _| | |–myhosts | Инвертарный файл Команда register позволяет сохранять результаты выполнений модулей в переменные. После чего переменная может быть использована в шаблонах, принятиях решений о выполнении заданного сценария. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: s hip int br | ex unass register: sh_ip_int_br_result --- debug отображает информацию в стандартном потоке вывода в виде произвольной строки, переменной или фактах о машине. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: sh ip int br | ex unass register: sh_ip_int_br_result -name: Debug registered var debug: var=sh_ip_int_br_result.stdout_lines После чего результатом работы станет следующее: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.2] changed: [192.168.100.3] TASK [Debug registered var] *********************************************************** ok: [192.168.100.1] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.2] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.3] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.3 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “, “Loopback10 10.255.3.3 YES manual up up “ ] } PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=1 unreachable=0 failed=0 Вместо заключения Можно ещё долго приводить примеры работы в системе, но ещё один факт так сказать "вишенка на торте". К плюсам Ansible следует отнести и то, что заданную команду система может выполнять практически до бесконечности. Пока не наступит требуемый результат трансформации не прекратятся. Пользователю можно не беспокоиться - программа сама всё сделает за Вас, а Вы можете заниматься другими делами.
img
Проксирование HTTP и FTP запросов от клиента осуществляется proxy-сервером по средствам сохранения копии (кэширования) запрашиваемых клиентом данных из Интернета на системе, которая расположена ближе к получателю и последующей передачи кэшированных данных получателю с более низкой задержкой. Это может быть страничка сайта, которая расположена на определённом URL'e, например - http://shareit.merionet.ru или же какой-нибудь файл, который лежит на FTP сервере. Введение Роутеры MikroTik способны выполнять следующие функции в качестве web-proxy сервера: Стандартное проксирование HTTP. Когда пользователь сам указывает кто является для него proxy-сервером и настраивает браузер соответствующим образом; Прозрачное проксирование. Когда пользователь не знает, что его запросы перенаправляются через proxy-сервер; Настройка списка доступа по адресу источника, назначения, URL и методу передачи запросов (GET, POST др.); Список кэшируемых объектов. Определяет какие копии каких ресурсов сохранять, а какие нет; Прямой список доступа. Определяет какие ресурсы доступны без проксирования и для каких нужен proxy-сервер; Логирование событий и операций proxy-сервера Поддержка родительских proxy-серверов. В этом случае указывается дополнительный сервер и запрос направляется к нему, если первый сервер не имеет доступа к запрашиваемому объекту. Proxy-сервер располагается между клиентом и конечным сервером с ресурсом, к которому клиент хочет получить доступ. Web-proxy сервер случает запросы от клиентов и сохраняет ответы у себя в памяти. Если он получит запрос, содержащий тот же URL, то он может просто отправить имеющуюся копию. Если же копии нет, то он запрашивает её у конечного сервера. То же самое с файлами, если есть сохранённая копия файла, он отправит её клиенту, если нет - скачает с FTP сервера. Есть несколько целей применения proxy-сервера: Ускорение получения доступа к ресурсам, которые физически находятся дальше от получателя (большая задержка при передаче пакетов); Использование в качестве HTTP Firewall'а. Блокирование доступа к нежелательным ресурсам; Фильтрование web-контента по заданным параметрам, например IP-адрес источника, IP-адрес назначения и порт, URL ресурса, метод HTTP запросов; Сканирование передаваемого из внутренней сети контента, например, для предотвращения утечек. При этом совсем не обязательно использовать функции кэширования на web-proxy. Настройка стандартного web-proxy В роутерах MikroTik, настрока web-proxy через терминал происходит через команду: /ip proxy set Ниже приведен список параметров доступных для настройки: enabled - активирует функционал web-proxy. (yes - включен, no - выключен); src-address - устанавливает IP-адрес proxy-сервера; port - задаёт порт, на котором будет работать proxy-сервер; parent-proxy - задаёт адрес родительского proxy-сервера; cache-drive - указывает куда складывать кэшируеемых данные. cache-administrator - email администратора, который будет показан на странице с ошибкой; max-cache-size - указывает максимальный объём для хранения кэшируемых данных на диске в килобайтах (в случае использования внешнего диска); max-ram-cache-size - указывает максимальный объём для хранения кэшируемых данных в RAM роутера в килобайтах; cache-only-on-disk - указывает создавать ли внутреннюю базу данных, описывающую кэшируемый на диске контент. Может сократить потребление памяти, но повлиять на скорость; maximal-client-connections - максимальное число подключений к proxy-серверу от клиентов. Подключения сверх указанного здесь количества будут отклоняться; maximal-server-connections - максимальное число подключений к серверам. Подключения от клиентов к другим серверам сверх указанного здесь количества будут находиться в режиме ожидания, пока некоторые текущие подключения не завершатся ; max-fresh-time - максимальный срок хранения кэшируемого контента; Настроим стандартный proxy-сервер на адресе 192.168.11.1, для этого через терминал вводим команду: ip proxy> set enabled=yes port=8080 src-address=192.168.11.1 Для настройки через Winbox открываем IP → Web Proxy ставим галочку напротив Enabled, указываем IP адрес и порт, на котором будет работать наш proxy-сервер, кстати, тут же настраивается родительский прокси в разделе Parent proxy. При настройке обычного функционала web-proxy, должна быть также выполнена настройка на стороне клиента (браузера) и указан сервер, который выступает в качестве proxy. Для настройки в Google Chrome нужно открыть Settings → Advanced → Confidentiality and Security, крутим в самый низ до пункта System и выбираем Proxy settings. В появившемся окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced. В появившемся окне вбиваем параметры нашего proxy-сервера в строку HTTP (в нашем случае 192.168.11.1 и порт 8080) и применяем настройки: Настройка прозрачного проксирования Прозрачное проксирование не требует дополнительных настроек на стороне клиентов. Более того, пользователи даже не будут подозревать, что их запросы направляются через proxy-сервер. Чтобы настроить прозрачное проксирование, необходимо добавить NAT’ирующее правило в Firewall, которое будет определять какие HTTP запросы будут проходить через локальный proxy. Ниже показан пример того, как можно проксировать все запросы пользователей из сети 192.168.11.0/24 ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24 dst-port=80 action=redirect to-ports=8080 Списки доступа или использование Firewall’а на основе proxy Пожалуй, этот функционал понравится вам больше всего :) Список доступа работает здесь также, как и в правилах Firewall – сначала читаются самые приоритетные правила, затем, вниз по списку - менее приоритетные. Критерием для применения правил может быть совпадение таких параметров как: адрес источника, порт источника, адрес назначения, порт назначения, запрашиваемый URL или HTTP метод (POST, GET и др.) В случае совпадения критериев, заданных в правиле и параметров подключения, такое подключение может быть разрешено (allow) или запрещено (deny). Если параметры подключения не подпадают ни под один из критериев правил, то оно по умолчанию разрешается. Понятно, что использование правил должно применяться вместе с настройками прозрачного проксирования, которые мы рассматривали выше. Итак, допустим мы настроили прозрачное проксирование для сети 192.168.11.0/24 и пустили все HTTP запросы из этой подсети через наш прокси сервер. ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24 dst-port=80 action=redirect to-ports=8080 Что если мы теперь хотим запретить пользователям в данной подсети сидеть во всеми любимом вконтактике? Очень просто – настроим список доступа. Для этого: /ip proxy access add src-address=192.168.1.0/24 dst-host=www.vk.com action=deny Мы также можем заблокировать web-сайты, которые содержат какое-либо ключевое слово или часть слова в названии, например: /ip proxy access add src-address=192.168.1.0/24 dst-host=:er action=deny И гуд-бай - Tinder.com, Twitter.com, Viber.com, ну вы поняли :) Мы даже можем запретить скачивание определённых файлов: /ip proxy access add src-address=192.168.1.0/24 add path=*.pdf action=deny add path=*.png action=deny add path=*.docx action=deny add path=*.mp3 action=deny add path=*.zip action=deny add path=*.rar action=deny Стоит отдельно рассказать про маски (wildcard), которые позволяют настроить более тонкое соответствие проверяемых URL’лов и других названий. В dst-host и dst-path можно указывать следующие маски - * - любое количество символов. Например - *ings.docx будет искать .docx файлы, названия которых оканчиваются на ins или же просто файл ings.docx, то есть сюда подходят такие названия файлов – paintings.docx, wings.docx – перед ings может стоять любое количество символов. Если поставить маску ?, то поиск будет осуществляться по количеству символов. Например маска ??ings.docx найдёт файл wnings.docx, но не найдёт paintings.docx, потому что маска задана на 2 символа. Также поддерживаются регулярные выражения, но если вы собираетесь их использовать, то перед этим обязательно нужно поставить двоеточие :.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59