Как стать автором
Поиск
Написать публикацию
Обновить
178.59

Серверное администрирование *

Установка, настройка, обслуживание

Сначала показывать
Период
Уровень сложности

Мониторинг и Kubernetes (обзор и видео доклада)

Время на прочтение10 мин
Количество просмотров33K
28 мая на проходившей в рамках фестиваля РИТ++ 2018 конференции RootConf 2018, в секции «Логирование и мониторинг», прозвучал доклад «Мониторинг и Kubernetes». В нём рассказывается об опыте настройки мониторинга с Prometheus, который был получен компанией «Флант» в результате эксплуатации десятков проектов на Kubernetes в production.



По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!

Установка MTProto Telegram прокси из исходников на Centos 7

Время на прочтение2 мин
Количество просмотров22K

simply run 'make'


Всем привет. Обойдусь без лишних прелюдий — многие ждали официального релиза, и вот — дождались. На хабре уже есть парочка статей как установить MTProxy из докера.

А вот с установкой из исходников многие обломались — после simply run 'make' выдаются ошибки. Как установить MTProxy из исходников без ошибок на Centos 7 — под катом
Читать дальше →

Мониторинг Elasticsearch без боли и страданий

Время на прочтение10 мин
Количество просмотров43K
«А оно там делает магию»
кто-то из тех, кого я удалённо консультировал по Эластику.

Я всегда говорю, что верю в три вещи: мониторинг, логи и бэкапы.

Тема про то, как мы собираем и храним логи, достаточно полно была раскрыта в предыдущих статьях, тема про бэкапы в Elasticsearch — совсем отдельная история, поэтому в этой, возможно заключительной, статье цикла я расскажу как происходит мониторинг моего любимого кластера. Это не очень сложно (и не требует использования дополнительных плагинов и сторонних сервисов) — ибо REST API, предоставляемое самим Elasticsearch простое, понятное и удобное в использовании. Всего-то надо немного углубиться в его внутреннее устройство, понять, что означают все эти метрики, пулы тредов, веса распределения шардов по нодам, настройки очередей — и не останется никаких вопросов о том, что же за «магию» эластик делает прямо сейчас.



На недавней конференции Highload++ 2017 я рассказал о том, как строил кластер своей мечты, и говорил, что недостаточно просто построить сервис. Критически важно в любой момент знать, в каком он состоянии, причём контроль обязательно должен быть многоуровневым. Разбудите меня посреди ночи (отделу мониторинга привет!) — и через две минуты я буду знать, в каком состоянии находится кластер. Причём одна минута из двух уйдёт на подключение к корпоративному VPN и логин в Zabbix.
Так как же мы это делаем?

Сисадмину нужны длинные руки

Время на прочтение10 мин
Количество просмотров20K
Пару лет назад мы писали об ITSM-системах, сравнивая их с всевидящим оком сисадмина и даже с бубном. Реалии изменились. Информационная безопасность стала объектом острого внимания не только межгалактических крупных корпораций, но даже малого и среднего бизнеса. Слишком много рисков окружают компании в киберпространстве, самый опасный и очевидный из них — человеческий фактор, связанный с сотрудниками. Они могут вредить умышленно, могут по недомыслию, но всегда с каким-либо ущербом. В общем, за ними нужен глаз да глаз. Без специального софта здесь не обойтись. Так какими они должны быть, длинные руки системного администратора?

Читать дальше →

Официально представляем dapp — DevOps-утилиту для сопровождения CI/CD

Время на прочтение4 мин
Количество просмотров16K
Читатели этого блога, а также посетители последних HighLoad++ и РИТ++ с большой вероятностью уже слышали про нашу утилиту для DevOps-инженеров dapp, но теперь мы решили официально и окончательно представить её «большому миру». Формальное право на то нам даёт тот факт, что мы работаем с dapp для решения задач в production уже больше года, поэтому считаем, что технология созрела для более массового использования.

Обновлено 13 августа 2019 г.: в настоящее время проект dapp переименован в werf, его код переписан на Go, а документация значительно улучшена.



Итак, dapp — написанный на Ruby инструмент, созданный в компании «Флант» как Open Source-проект для реализации и сопровождения процессов CI/CD. Что он позволяет?
Читать дальше →

ENTRYPOINT vs CMD: назад к основам

Время на прочтение6 мин
Количество просмотров321K

Construction


Название ENTRYPOINT всегда меня смущало. Это название подразумевает, что каждый контейнер должен иметь определенную инструкцию ENTRYPOINT. Но после прочтения официальной документации я понял, что это не соответствует действительности.

Читать дальше →

Способы диагностики PostgreSQL — Владимир Бородин и Ильдус Курбангалиев

Время на прочтение14 мин
Количество просмотров33K
Одним из самых популярных докладов конференции PG Day в 2015 году стал рассказ Владимира Бородина и Ильдуса Курбангалиева о ситуациях, когда посгресовым базам становится плохо, надо их диагностировать и искать узкие места. Все примеры в докладе взяты из реальной практики Яндекса, сопровождаются иллюстрациями и подробным рассказом о поиске «боттлнека». Не смотря на то, что проблемы рассматривались в разрезе 9.4 и 9.5 версий базы данных, общая ценность и практическая применимость советов Владимира и Ильдуса остается неизменной. Рады предложить вам транскрипцию этого доклада.

Вступление Ильи Космодемьянского: сейчас у нас будет рассказ о том, как жить, если очень хочется иметь Oracle, а его нет. На самом деле, это полезный доклад, потому что одна из проблем, которую мы сейчас имеем – это проблема средств диагностики. Средства диагностики местами не достают, местами, вместо привычных средств диагностики нужно использовать довольно сложные тулзы, которые вообще предназначены для разработчиков Linux, а не для DBA. У DBA зубы начинают болеть, когда они смотрят на эти скрипты. И вот ребята из Яндекса и PG Pro расскажут о методах диагностики Postgres, которые они применяют, как ими пользоваться и немного расскажут о том, как они собираются улучшить этот мир.


Читать дальше →

MeteorJS, Nginx, mongodb, iptables… продакшен

Время на прочтение15 мин
Количество просмотров15K

Здравствуйте, меня зовут Александр Зеленин, и я веб-разработчик сисадмин.


К сожалению, вся информация о полноценной развёртке приложения на MeteorJS довольно разрозненна, и приходится вручную решать миллион задач. В этой статье я хочу разобрать самую базовую (но уже достаточную для безопасной работы в продакшене) настройку сервера и последующий процесс ручного деплоя.


Разворачивать будем на Ubuntu 16, но в целом схема на 99% совпадает и для Debian 8.

Читать дальше →

Как протестировать образ для docker за полсекунды

Время на прочтение4 мин
Количество просмотров19K

В этой статье рассматривается простой способ создания и тестирования образов docker. По ходу повествования, используя Goss, мы напишем тесты, с помощью которых можно проверить официальный образ Nginx всего за ~0,5 с.

Читать дальше →

Как я сделал зеркалирование виртуальных машин для Free ESXi

Время на прочтение4 мин
Количество просмотров19K

В своей домашней лаборатории я использую бесплатную виртуализацию от VMware – это дешево и надежно. Сначала был один сервер, потом в него начал добавлять локальные датасторы, потом собрал второй сервер… Стандартной проблемой при этом был переезд виртуальной машины. Делая эти операции вручную, я наткнулся на один способ, который позволял переключить работающую виртуальную машину на копии флэтов совершенно в другом месте. Способ крайне прост: достаточно создать снапшот виртуальной машины, склонировать флэты в новое место, а затем в дельте перебить ссылку на родительский диск. Гипервизор не держит файлы метаданных диска открытыми, поэтому при удалении снапшота происходит сливание с новым диском, а старый можно спокойно удалять. Этот способ прекрасно работает без всякого VDDK, который недоступен на бесплатных гипервизорах и которым пользуется, например, Veeam в похожей ситуации.


Я без труда автоматизировал эту процедуру на python, применив еще несколько трюков, которые, при наличии запросов, смогу раскрыть в следующих статьях. Немного позже нашелся хороший человек из моих бывших коллег по цеху, который согласился написать гуй, последний, правда, реализован на Unity, но для получившегося бесплатного солюшена, названного нами Extrasphere, это было совсем не плохо. Чем не игрушка для админа?

Читать дальше →

Принт-сервер на linux с интеграцией в AD

Время на прочтение12 мин
Количество просмотров51K
В данной статье я хотел поселиться опытом по созданию принт-сервера на базе linux с интеграцией в AD. Под интеграцией понимается ввод linux сервера в домен Windows и расшаривание Cups принтеров через Samba, включая драйвера принтеров. Возможно коряво выразился, но если проще, то это выглядит так — для того, чтобы установить принтер пользователю Windows, достаточно нажать«установить новый принтер», вывести список принтеров в AD и клацнуть на нужный принтер — принтер установится автоматически с установкой всех необходимых драйверов. При этом, все права на управление, доступ, печать подтянутся из AD.

Часть 1. Тонкости настроек


Исходные данные


  • Домен контроллер — Windows Server 2008 R2 (AD, DNS, DHCP) IP — 10.10.15.31
  • Имя домена — INITIAL
  • Принт сервер — ОС linux (я использую OpenSUSE 13.2 x64, kernel 3.16.7-42-default) IP — 10.10.15.11
  • kerberos 1.12.2-24.1
  • winbind 4.2.4-40.1
  • LDAP 2.4.39-8.9.1
  • Samba 4.2.4-40.1
  • CUPS 1.5.4-21.9.1
Читать дальше →

Mesos. Container Cluster Management System

Время на прочтение25 мин
Количество просмотров62K


Apache Mesos — это централизованная отказоустойчивая система управления кластером. Она разработана для распределенных компьютерных сред c целью обеспечения изоляции ресурсов и удобного управления кластерами подчиненных узлов (mesos slaves). Это новый эффективный способ управления серверной инфраструктурой, но и, как любое техническое решение, не "серебряная пуля".

В некотором смысле суть его работы противоположная уже традиционной виртуализации — вместо деления физической машины на кучу виртуальных, Mesos предлагает их объединять в одно целое, в единый виртуальный ресурс.

Mesos распределяет ресурсы CPU и памяти в кластере для задач в похожей манере, как ядро ​​Linux выделяет ресурсы железа между локальными процессами.

Представим себе, что есть необходимость выполнить различные типы задач. Для этого можно выделить отдельные виртуальные машины (отдельный кластер) для каждого типа. Эти виртуальные машины, вероятно, не будут полностью загруженными и некоторое время будут простаивать, то есть не будут работать с максимальной эффективностью. Если же все виртуальные машины для всех задач объединить в единый кластер, мы можем повысить эффективность использования ресурсов и параллельно с тем повысить скорость их выполнения (в случае если задачи краткосрочные или виртуальные машины не загружены полностью все время). Следующий рисунок, надеюсь, прояснит сказанное:



Но это далеко не все. Кластер Mesos (с фреймворком к нему) способен пересоздавать отдельные ресурсы, в случае их падения, масштабировать ресурсы вручную или автоматически при определенных условиях и т.п.

Пройдемся по компонентам Mesos-кластера.
Читать дальше →

Webmin — такой, каким мы все хотели бы его видеть

Время на прочтение3 мин
Количество просмотров52K
Webmin — это web-интерфейс для системного администрирования Unix. Кто из системных администраторов не знает об этом?

Также все знают, что проект Webmin был начат очень давно (около 15 лет назад), что наложило свой отпечаток на управление и интегрирование современных тем (оформлений) для панели. Часть современных модулей в Webmin управляются посредством библиотеки под названием ui-lib.pl, входящей в его дистрибутив, которая и обрабатывает поступающий на дальнейшее отображение модуль. Только вот проблема заключается в том, что множество из представленных модулей, в силу своей древности, вовсе не взаимодействуют с библиотекой упомянутой выше. Старые модули просто создавались каждый в отдельности, как получится. По словам разработчиков, проблему полного разделения логики и презентации планируется полностью устранить в версии Webmin 2.0, но это случится годами позже.

Сегодня создать идеальную тему оформления панели, соблюдая все современные правила и стандарты, крайне не просто. Поставив данную задачу перед собой, и потратив около 200 часов работы, в конечном счете, я получил результат, который оказался превосходящим все мои первоначальные ожидания.

Презентация




Читать дальше →

Ближайшие события

Программно-конфигурируемые сети — как это работает?

Время на прочтение7 мин
Количество просмотров26K

— Мы принесли вам подключение к современному миру.
— Через месяц мы вернемся с антидепресантами.


Пост «Сколько стоит SDN» собрал свою долю внимания Хабра — по приглашению sergeykalenik я теперь буду вести свой блог на хабре и в меру сил рассказывать об отечественных успехах в области SDN-технологий.

История с Nicira, о том, как меньше чем за 5 лет трое университетских преподавателя и частных инвестора смогли построить стартап стоимостью в $1,26 млрд., который, по мнению экспертов, способен сильно изменить расстановку сил на рынке сетевого оборудования и, возможно, даже стать «убийцей» Cisco (верится с трудом, но, тем не менее, такое мнение есть.)

В комментариях к посту было много обсуждений о том, что собственно из себя представляют программно-конфигурируемые сети (ПКС) и насколько все это применимо в реальности. Коротко комментарии можно разделить на следующие группы:

  • ПКС не нужны, ибо и так все хорошо работает
  • интересно, но непонятно что и зачем
  • маркетинговый буллшит
  • подход строго лабораторный, для тестов в университетах, а в практической жизни скорей всего неприменим

В общем-то, последняя точка зрения отчасти правда. Саму концепцию новой сетевой архитектуры предложили только в 2007 году в рамках диссертации одного профессора Стэнфордского университета. С тех пор, ПКС развивались преимущественно в научной лаборатории Стэнфорда и Беркли и в промышленно значимых масштабах ее еще никто не пробовал. Поэтому как «идеализировать», так «хоронить» ПКС как минимум преждевременно.

Читать дальше →

Централизованный syslog

Время на прочтение6 мин
Количество просмотров44K
Привет. В виду растущего количества серверов которые админю, и всяких других девайсов (роутеры, IP телефоны и тд.) в своей IT инфраструктуре, появилась необходимость собирать логи в одном месте и иметь более-менее читабельный интерфейс для их вывода. Возможно я изобретаю велосипед, но в то время не удалось нагуглить по-быстрому чего нибудь подходящего, да и самому захотелось что нибудь сотворить.
Читать дальше →

Apache HTTP Server: Обслуживание нескольких HTTPS-хостов на одном IP-адресе

Время на прочтение5 мин
Количество просмотров21K
При миграции сервера в облако возникла необходимость разместить несколько веб-сайтов, работающих по HTTPS на одном физическом IP-адресе.
При этом нужно было остаться на той же операционной системе CentOS 5.6 и штатном apache-2.2.19.
Готового решения для CentOS не нашел, поэтому предлагаю свой вариант решения.

Теория


Согласно RFC 4366, раздел 3.1. Server Name Indication это возможно.
Для полноценной работы это расширение должен поддерживать и сервер и клиент (браузер).

Практика


Поддержка расширения SNI согласно Wikipedia появилась в Apache HTTP Server начиная с версии 2.2.12.
Подробности есть в Apache Wiki.
Для работы расширения нужна библиотека OpenSSL версии 0.9.8f или выше.
Проблема в том, что в CentOS 5.6 встроен OpenSSL версии 0.9.8e, и «поднять» ему версию не так то просто, т.к. именно на эту версию завязано много других компонент.
Собирать отдельный OpenSSL и Apache вне дерева пакетов — неспортивно.
В процессе поиска решения наткнулся на альтернативу: библиотеку gnutls и модуль mod_gnutls.
Библиотека gnutls в системе тоже присутствует и тоже очень старая, правда достаточно безболезненно удаляется вместе с зависимостями.

В результате были собраны и установлены «свежие» пакеты gnutls и mod_gnutls, которые дали нужный функционал с минимальным влиянием на остальную систему. Под катом подробности по процессу сборки и примеры файлов конфигурации.
Читать дальше →

Миграция в облако быстро и без ошибок. Часть 3: миграция кластера Kubernetes

Время на прочтение9 мин
Количество просмотров2.9K

Исследования российского ИТ-рынка показывают, что компании все чаще стали выбирать Managed Kubernetes отечественных провайдеров. При этом рост спроса обусловлен не только построением облачной инфраструктуры с нуля, но и необходимостью «приземления» уже существующих ИТ-ландшафтов на российских платформах. 

Меня зовут Михаил Карцев. Я инженер по разработке и эксплуатации в VK Cloud. Мы продолжаем серию статей о правильной и безопасной миграции компонентов виртуальной инфраструктуры между облаками. В первом и втором материалах серии мы разобрались с переносом между платформами виртуальных машин, баз данных и объектных S3-хранилищ, а в этой статье разберемся с миграцией кластера Kubernetes из AWS в VK Cloud. 

Читать далее

Termit 2.1 под микроскопом. Обзор новой версии отечественной системы терминального доступа

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.2K

Всем привет! На связи Алексей Ватутин, руководитель практики инфраструктуры рабочих мест в компании К2Тех.

Полгода назад я писал о выходе версии 2.0 решения терминального доступа Termit. В апреле этого года вышел очередной релиз этого продукта, в котором появился новый функционал, и в этой статье я бы хотел рассказать про некоторые из этих возможностей.

Для тех, кто не может или не хочет читать старое, короткое «ранее в сериале»: Termit – это решение для организации терминального доступа к приложениям и рабочим столам на базе ОС Linux, которое развивается с 2018 года и внесено в реестр отечественного ПО. Разработчиком выступила отечественная компания Orion soft, известная на рынке своей платформой виртуализации zVirt. Сам разработчик позиционирует решение как отечественную замену аналогичного решения от Citrix, но это скорее заявлено как цель, к которой коллеги идут, так как невозможно создать за год-полтора что-то аналогичное решению, развивавшемуся десятилетиями.

Читать далее

Учим домашний сервер Linux засыпать при простое и просыпаться по запросу

Время на прочтение13 мин
Количество просмотров15K
Всё началось с, казалось бы, обыденного изменения в моём домашнем сервере для хостинга бэкапов Time Machine: я хотел, чтобы он уходил в сон, когда находился в состоянии простоя, и пробуждался при необходимости. Уход в сон при простое — кажется, в Windows эта функция встроена с Windows 98? Насколько сложно будет это настроить на современной версии Ubuntu?

Честно говоря, мне требовалось нечто большее, чем засыпание при простое, мне нужно было ещё и пробуждение по запросу; оказалось, вот это второе требование реализовать довольно сложно. Я много раз заходил в тупик, но продолжал искать решение, которое «просто работает» без необходимости ручного включения сервера для каждого бэкапа. Вы можете прочитать статью целиком, чтобы узнать о моём пути, или просто прочитать готовые инструкции.


Читать дальше →

Гайд по межсетевому экранированию (nftables)

Время на прочтение32 мин
Количество просмотров70K


Все говорят, что для защиты сети нужно применять межсетевые экраны, но никто не говорит, как это нужно делать. Что ж, исправим ситуацию, рассмотрим типовые сценарии применения межсетевых экранов и то, как их при этом настраивать.

В качестве межсетевого экрана будем использовать nftables, функционирующий под управлением ОС Debian GNU Linux.
Читать дальше →

Вклад авторов