- Средства системного администратора Linux
- Средства системного администратора Linux
- Администрирование
- Мониторинг
- Централизованное управление пакетами
- Логирование
- Резервное копирование
- Постскриптум
- 6 Linux дистрибутивов для сисадминов и разработчиков, которые подходят и новичкам
- 1. Ubuntu
- 2. Arch Linux
- 3. Kali Linux
- 4. Debian
- 5. Linux Mint
- 6. CentOS
Средства системного администратора Linux
Средства системного администратора Linux
Совсем недавно (5-8 лет назад) системный администратор Linux был ограничен в средствах администрирования и автоматизации. Где-то можно было обойтись самописными скриптами на bash, Python, Perl, а где-то уже требовалось решение уровня энтерпрайз от таких гигантов, как IBM, Oracle или RedHat.
С развитием Open Source стала развиваться и автоматизация в администрировании. На замену самописным скриптам и программам пришли готовые решения. Эти средства появились не на пустом месте. Это были решения по автоматизации существующих задач любого системного администратора. Зачастую это решения, развиваемые по принципу KISS (акроним для «Keep it simple, stupid»), которые получали большие перспективы развития и распространения.
Конечно, лет 5-10 назад средства централизованного администрирования в Windows были развиты лучше, чем в Linux. Это было небезосновательно, т.к. Windows был широко распространён как среди домашних пользователей, так и в офисной/серверной среде. Microsoft, похоже, не предполагала что когда-то будет соперничать с Linux в серверном сегменте. Но не будем здесь углубляться в эти застойные времена для Microsoft, когда главой корпорации был Стив Балмер.
Администрирование
Одним из часто используемых средств администрирования мною и коллегами до появления ansible/puppet/chef был cssh (Cluster SSH).
Cluster SSH в работе
Работа с cssh была проста, не нужно было повторять одни и те же действия на каждом сервере по очереди, всё сводилось к мультиплексированию ввода в терминале на группу SSH подключений. У этого решения, конечно, были очевидные недостатки — необходимо было взаимодействие с администратором, его контроль. Сегодня средства автоматизации ушли намного дальше в своих возможностях и функциональности и зачастую расширяются плагинами.
13 сентября – 9 октября, Санкт-Петербург и онлайн, Беcплатно
Одно из наиболее распространённых средств автоматизации в администрировании — Ansible. Оно позволяет автоматизировать практически любые задачи системного администратора. Для работы достаточно SSH доступа к хостам. На сайте есть обзорная статья про Ansible, как его настроить и работать. Проект развивался независимо и вскоре был куплен компанией RedHat.
Мониторинг
После настройки сервера и введения его в эксплуатацию для обеспечения SLA и не только необходимо уделить внимание мониторингу.
Мы часто разделяем мониторинг на два отдельных компонента:
- мониторинг с оповещениями,
- статистика по показателям.
Нет необходимости настраивать предупреждения по всем показателям в системе, но собирать показатели системы для статистики и дальнейшего выявлений аномалий — полезно и удобно.
- Zabbix/Nagios/Icinga — используем для получения событий агентами и уведомлений по триггерам.
- Grafana + InfluxDB — в эту связку входят также Chronograf, Kapacitor, Telegraf.
-
- InfluxDB — time series база данных, принимает на вход данные с различных источников. Имеет широкий функционал возможностей для работы с данными.
- Chronograf — веб-панель с дашбордами и система управления Influxdb, Kapacitor.
- Kapacitor — обработчик событий.
- Telegraf — агент, отправляет данные с удалённых систем.
- Grafana — всем известная система построения дашбордов/графиков.
Также в категории мониторинга стоит обратить внимание на Netdata. Это одновременно и агент, и система мониторинга в реальном времени с дашбордом для просмотра статистики, предварительно настроенными графиками и триггерами. После установки остаётся настроить лишь способы оповещений с указанием канала передачи.
Netdata — это «швейцарский нож» в системе мониторинга, обладает широкой функциональностью, поддержкой модулей на Python, Go и не только.
Централизованное управление пакетами
В качестве централизованного управления набором ПО и его обновлениями мы использовали RedHat Spacewalk.
Интерфейс RedHat Spacewalk
С выходом RHEL 7 RedHat провели обновление, вследствие чего заменили Spacewalk на RedHat Satellite, который во многом напоминает Foreman. Для перехода на RedHat Satellite необходимо было бы перенастраивать уже работающие с RedHat Spacewalk системы, отлаживать новое решение (RedHat Satellite) и почти гарантированно бороться с новыми проблемами.
Зачастую в госструктурах и энтерпрайзе широко использовались решения RedHat. И тут со второго плана выходит компания Oracle, которая занималась развитием дистрибутивов Oracle Enterprise Linux/Oracle Unbreakable Enterprise Kernel.
Это продукты, основанные на кодовой базе RedHat Enterprise Linux, но с большим количеством доработок под собственные нужды, в которые том числе входило создание и поддержка среды для, наверное, основного продукта компании Oracle — Oracle Databases.
Но, в отличие от RedHat, дистрибутив которого скачать можно было только по подписке (лицензировании), не говоря уже об обновлениях, Oracle предоставляет это бесплатно. Именно Oracle взялся поддерживать и продолжать развитие Oracle Spacewalk, который вскоре был обновлён в Oracle Linux Manager.
Логирование
С увеличением количества обслуживаемых хостов возникает необходимость централизованного сбор логов. Для этих задач отлично подходят уже готовые Open Source решения, которые мы используем:
Агенты — rsyslog, syslog-ng (доступны в большинстве дистрибутивов)
При небольшом количестве администрируемых хостов можно обойтись syslog-ng как централизованным хранилищем для файлов логов, который будет принимать сообщения на 514 UDP порт. Он умеет раскладывать сообщения по директориям в зависимости от источника (FQDN/IP-адреса), сервиса, дате и прочее.
Резервное копирование
Для резервного копирования выбор достаточно прост. Где-то достаточно rsync + tar (синхронизации и сжатия), а где-то требуется Bacula/Bareos.
В резервном копировании есть достаточно хорошие проприетарные решения, например, «Veeam backup». Если вы используете виртуализацию VMWare, то здесь Veeam упрощает резервное копирование и предоставляет поддержку.
Также в своих решениях мы используем резервное копирование для /etc директории — etckeeper. Он позволяет автоматизировать сохранение содержимого каталога /etc в хранилище системы контроля версий (VCS), отслеживает, когда ваш пакетный менеджер сохраняет изменения в /etc при установке или обновлении пакетов.
Помещение /etc под контроль версий сейчас рассматривается как лучшая практика в индустрии. Преимуществом etckeeper является то, что он делает этот процесс безболезненным, насколько это возможно, и удобным. При наличии незакоммиченных изменений etckeeper будет ежедневно их сохранять, если это не отключено, и отправлять в централизованный репозиторий.
Иногда случается так, что подготовленный к установке/обновлению пакет программ может перезаписать существующие файлы в /etc , т.к. некоторые заказчики пользуются сторонними службами/пакетами. Etckeeper умеет фиксировать конфигурацию перед установкой пакетов и после, что значительно облегчает работу.
Постскриптум
Выбор любого инструмента зависит от поставленных задач. Если для своих задач вы не нашли готового решения, всегда можно взяться за его реализацию самостоятельно. Обязательно найдутся те, кто вас поддержит и присоединится к развитию вашего решения. Возможно, именно оно будет решать задачи лучше других.
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
Источник
6 Linux дистрибутивов для сисадминов и разработчиков, которые подходят и новичкам
Самым значительным преимуществом Linux является его индивидуальная настройка. Не имеет значения, в какой отрасли вы работаете; Есть дистрибутивы, которые вы можете использовать в своей работе. Некоторые дистрибутивы лучше всего подходят для научной работы, которая требует научного подхода и программирования.
Кроме того, большинство дистрибутивов можно использовать для повседневной деятельности. Как технический специалист, всегда полезно попробовать разные дистрибутивы Linux и попытаться понять, какой из них лучше подходит для вас.
1. Ubuntu
Если вы ищете знакомый дистрибутив, чтобы начать, то вы не ошибетесь с Ubuntu. Это всемирно известный дистрибутив. Он лучше всего подходит для тех, кто хочет использовать Linux ежедневно.
Для установки Ubuntu вам потребуется следующие ситсемные требования, необходимые для эффективной работы.
- 4 ГБ ОЗУ
- Двухъядерный процессор 2 ГГц
- 25 ГБ на жестком диске
Это рекомендуемое требование, но вы можете установить Ubuntu на компьютер с 512 МБ ОЗУ, 700 МГц процессором и 5 ГБ на жестком диске.
Итак, что делает Ubuntu таким особенным?
Прежде всего, это простой в использовании функционал.
Во-вторых, он безопасный и предоставляет отличную платформу для новичка.
Технически, Ubuntu основан на Debian. Это также поставляется с Long Team Support(LTS). Это означает, что вы можете установить стабильную версию для вашей машины. Есть и другие версии Ubuntu, которые вы можете попробовать, в том числе Ubuntu Core для безопасной сборки устройств IoT, для корпоративных нужд и Ubuntu Server для серверных нужд.
- Лучший дистрибутив для начинающих
- Хорош для повседневной деятельности
- Предлагает поддержку LTS
- Поставляется с несколькими версиями
- Безопасный
2. Arch Linux
Arch Linux — это легкий, гибкий дистрибутив Linux. Он предлагает отличную настройку из коробки. Однако Arch Linux не для начинающих. Он должен использоваться только опытными пользователями, которые уже знают операционную систему Linux.
Лучше всего подходит для программистов или опытных пользователей Unix. По сути, он разработан по строгому принципу дизайна. Это затрудняет работу. Итак, если вы знакомы с основной работой системы, тогда дистрибутив для вас.
Это также легкий дистрибутив и поставляется с различными инструментами настройки.
Минимальное требование — 1 ГБ дискового пространства, 512 МБ ОЗУ и 64-разрядный процессор.
- Лучше всего для программистов и опытных пользователей
- Облегченный
- Инструменты настройки
- Arch Linux следует строгой философии дизайна
3. Kali Linux
Если вы работаете в сфере кибербезопасности , то Kali Linux для вас. Это продвинутый дистрибутив Linux, который предлагает доступ к сотням инструментов тестирования на проникновение. По сути, Kali Linux основана на Debian. Это означает, что он постоянно обновляется новыми функциями и поддержкой инструментов.
Он опирается на ветку Debian Testing, которая является ультрасовременной веткой, которая содержит все последние функции и исправления ошибок.
Чтобы начать работу с Kali Linux, вам необходимо не менее 512 МБ ОЗУ, архитектура AMD64 или i386 и минимум 3 ГБ на жестком диске. Так что, если вы интересуетесь тестированием или кибербезопасностью, дистрибутив для вас. Изначально проект назывался BackTrack, но затем он перешел на Kali Linux.
Некоторые из основных предустановленных инструментов на проникновение включают Nmap, Wireshark, Aircrack-ng и так далее!
- Подходит для тестеров на проникновение или экспертов по кибербезопасности
- Быстрый и легкий
- Поставляется с тоннами инструментов для тестирования на проникновение
- Основан на Debian
4. Debian
Debian — одна из самых популярных операционных систем на основе Unix. Я перечислил его, потому что вы можете легко найти много дистрибутивов на основе Linux на основе Debian. Главной причиной того, что он является ключевым компонентом современных дистрибутивов, является его огромное хранилище. В настоящее время здесь находится более 50 000 пакетов программ. Коллекция программного обеспечения делает его идеальным местом для изучения.
Debian также очень стабилен, безопасен и быстрый. Любой может использовать это. Он гибок в выборе рабочего стола. В меню загрузки вы можете выбрать XFCE, LXDE и KDE.
Для правильной работы Debian вам потребуется минимум 1 ГГц ЦП, 256 МБ ОЗУ и 10 ГБ на жестком диске.
- Может быть использован любым
- Активное сообщество
- Позволяет пользователям выбирать среду рабочего стола
- Предлагает сочетание открытого и платного программного обеспечения
- Простота установки и обучения
5. Linux Mint
Если вы ищете легкий дистрибутив Linux, то Linux Mint для вас. Он основан на Debian и Ubuntu. Дистрибутив также обеспечивает удобным интерфейсом. Он лучше всего подходит для новичков, но в равной степени полезен и для опытных пользователей.
Linux Mint, как и большинство дистрибутивов, управляется сообществом. В плане интерфейса, вы можете выбрать между Xfce, KDE, GNOME, Cinnamon и MATE. Вы также можете свободно выбирать из хранилища 30 000 пакетов.
Чтобы использовать его правильно, вам нужно минимум 512 МБ ОЗУ, 9 ГБ на жестком диске и современный процессор.
- Основано на Debian и Ubuntu
- Безопасный и простой в использовании
- Современный интерфейс рабочего стола
- Поставляется в нескольких вариантах
- Среда Cinnamon похожа на Mac OS
6. CentOS
CentOS совместим с Red Hat Enterprise Linux (RHEL). Если вы когда-нибудь хотели попробовать Red Hat Enterprise Edition, но не смогли из-за вашего бюджета и возможностей, то CentOS для вас.
CentOS можно использовать на персональном компьютере, но в основном он предназначен для серверов и распределенных сетей. Если вы пытаетесь настроить домашний сервер, то CentOS — это идеальный дистрибутив сервера, который вам нужен. Он очень стабилен и предлагает десятилетний цикл поддержки.
Системные требования CentOS сложны, и поэтому я рекомендую вам ознакомиться с их официальным сайтом для лучшего понимания.
- Лучше всего для домашних серверов
- Предлагает десятилетний цикл поддержки
- Очень стабильный
- Поставляется с последними программными пакетами
Источник