Pull to refresh
4
0
Send message

Freeswitch: по пути наименьшего сопротивления

Reading time13 min
Views69K

Немного лирики


Сколько помню себя в кресле системного администратора (а общий стаж приближается уже годам к 15), столько вопросы офисной телефонии воспринимались мной строчкой из Californication калифорнийских же RHCP: hard core soft porn. Телефония всегда казалась параллельным измерением, в ее администрирование и настройку я старался не лезть. Точнее, вообще обходить все эти телефоновопросы по широкой дуге, скидывая все подобные задачи на «специально обученных людей».
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments28

Mikrotik: Load Balance & QoS (Балансировка в КПСС и соблюдение скоростного режима)

Reading time38 min
Views20K
В этой статье я хочу поделится своим решением балансировки с применением Классификатора по Сетевым Соединениям (Per Connection Classificator) и маркировкой трафика для QoS.

Предисловие


На просторах Хабра и интернета я встречал множество реализаций балансировки, включая и PPC, однако, в ряде этих реализаций, не во всех конечно, были моменты, совершенно дурацкого вида:
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments2

R как спасательный круг для системного администратора

Reading time3 min
Views12K

Мотивом для этой публикации послужил доклад «Using the R Software for Log File Analysis» на конференции USENIX, который был обнаружен в интернете при поиске ответов на очередные вопросы. Поскольку была написана целая печатная статья, логично предположить, что тема обладает актуальность. Поэтому решил поделиться примерами решения подобного рода задач, решению которых не придавалось такого значения. Фактически, «заметки на полях».
R, действительно, очень хорошо подходит для подобных задач.


Является продолжением предыдущих публикаций.


Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments15

Расширяем функционал Ansible с помощью модулей

Reading time8 min
Views17K

Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов.


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


Основная задача плагинов – влиять на ход выполнения плейбука, добавлять новые возможности загрузки и обработки данных. Задача же модулей – расширять перечень систем и сервисов, которыми Ansible может управлять. Например, создать сервер на площадке Vultr – модуль vultr, создать пользователя в самодельной системе авторизации для офисной WiFi сети – модуль mywifiauth_user.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Reading time26 min
Views339K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Total votes 108: ↑107 and ↓1+106
Comments36

cBackup — резервное копирование конфигураций сетевого оборудования

Reading time5 min
Views25K
Лучше резервного копирования может быть только резервное копирование с контролем версий и проверкой целостности. Существует уйма программного обеспечения различного уровня платности под разные операционные системы для резервного копирования файлов, баз данных и образов, а также для управления конфигурациями серверов и ПО. А вот для работы с конфигурациями сетевого оборудования решений не так и много.



Мы создали приложение cBackup (от configuration backup) для работы с конфигурациями сетевого оборудования. Кроме непосредственно резервного копирования конфигов, можно отслеживать изменения между их версиями, что помогает локализовать источник проблемы при восстановлении после сбоев. cBackup — open source и распространяется бесплатно, включая отдельно скачиваемые шаблоны поддержки различных сетевых устройств.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments47

Защита от DDoS на уровне веб-сервера

Reading time5 min
Views46K
Статистика DDoS-атак показывает неизменный рост и смещение вектора с сетевого уровня на уровень приложений.

image

Если у Вас есть небольшой сайт на сервере с минимальными характеристиками, то положить его можно любым вполне легальным средством стресс-тестирования. (Не рекомендую этого никому делать т.к. IP-адрес легко вычисляется и экспериментатор может влететь на возмещение ущерба.) Поэтому сайт без защиты от DDoS очень скоро будет выглядеть так же дико, как компьютер с Windows-98 без анивирусника.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments4

Введение в современную сетевую балансировку и проксирование

Reading time24 min
Views113K

Недавно я осознал нехватку вводных обучающих материалов о современной сетевой балансировке и проксировании. Я подумал: «Почему так? Балансировка нагрузки — одна из ключевых концепций для построения надёжных распределённых систем. Ведь должна быть доступна качественная информация об этом?» Я поискал и обнаружил, что информации мало. Статьи в Википедии о балансировке и прокси-серверах содержат обзоры некоторых концепций, но не могут похвастаться последовательным описанием предмета, особенно в том, что касается современных микросервисных архитектур. Поиск в Google информации о балансировке в основном возвращает сайты вендоров, заполненные модными терминами и скупые на подробности.


В этой статье я постараюсь восполнить нехватку постепенного введения в современную сетевую балансировку и проксирование. По правде сказать, это объёмная тема, достойная целой книги. И чтобы статья не получилась безразмерной, я постарался ряд сложных задач подать в виде простого обзора.

Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments5

Автоматизируем добавление сервера в Zabbix с назначением шаблонов

Reading time6 min
Views35K
Самый простой способ добавить новый сервер в Zabbix — через веб интерфейс. Засетапили новый сервер, пошли в web-морду, добавили машинку. Но, когда что-то делается руками, всегда можно забыть, особенно когда ввод серверов в строй происходит часто.
После очередного такого случая: что-то грохнулось, а потом выяснилось, что оно и не мониторилось никогда, возникла мысль автоматизировать процесс.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

Установка 1C Fresh с нуля используя Linux и PostgreSQL

Reading time18 min
Views53K
В этой статье с картинками Кнопка расскажет о том как развернуть свой собственный фреш с блэкджеком PostgreSQL и Linux. Надеемся, что она поможет тем, кто пытается установить у себя 1С Fresh и немного потонул в объемах официальной документации. При развертывании мы будем максимально использовать свободное ПО.


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments8

OpenDKIM + Postfix = просто

Reading time4 min
Views127K


В конце 2011 года разработчики проекта dkim-milter прекратили его поддержку и разработку. К счастью, на замену проекта dkim-milter пришел OpenDKIM, с помощью которого добавить DKIM-подпись в письма так же просто.

tl;dr: в наше время без DKIM-подписей ну никак нельзя
DKIM-подпись — это цифровая подпись, которая добавляется к заголовкам письма сервером отправителя, по которой сервер получателя может удостовериться, что отправитель письма соответствует полю From в заголовках письма. Если сервер получателя проверяет эту подпись, то по результатам проверки сервер может принять решение о том, как поступать с письмом: принять, отправлять в папку «Спам», отправить на дополнительную проверку или вовсе отказаться от приёма. Подписи DKIM проверяют и используют сами все ведущие почтовые службы, включая Яндекс и Mail.ru. Последняя открыто требует чтобы письма были подписаны с помощью DKIM.


Инструкция по настройке связки Postfix и OpenDKIM
Total votes 46: ↑40 and ↓6+34
Comments28

Devops в кровавом энтерпрайзе

Reading time14 min
Views32K

Вот к такому можно стремиться

У нас больше 350 своих разработчиков ПО и тестировщиков по всей стране, плюс мы часто взаимодействуем с инженерами и разработчиками заказчиков. Чтобы перейти на практическое использование devops, нам нужно было обеспечить не только внедрение методологии, но и приучить любимых российских заказчиков к некоторой базовой культуре. Просто пара диалогов для понимания:
— Почему у нас всё упало?
— Потому что вы откатали это на стенде, всё протестировали, а потом развернули на проде. Вот у вас настройка, которая не попала в инструкции, и жила только в голове старого админа.

Или:
— Почему не запускается по всей стране?
— Потому что у вас несколько десятков разных региональных инсталляций, каждая делалась руками, и на каждой разные конфиги. И ещё в паре случаев инженер ошибся.
— Поправите до завтра? Очень нужно! Только доступ удалённо мы вам не дадим.
— ..! Конечно, у нас есть команда высокооплачиваемых спецов, обожающих ездить на Дальний Восток. Нет проблем.
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments28

Расширяем функционал Ansible с помощью плагинов: часть 2

Reading time7 min
Views6.7K

Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов.


В первой части мы рассмотрели типы плагинов, которые поддерживает Ansible и сделали несколько своих плагинов: test, filter, action и callback. В этой статье попробуем более сложные модификации.

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Расширяем функционал Ansible с помощью плагинов: часть 1

Reading time9 min
Views23K

У себя в D2C мы активно используем Ansible. С его помощью мы создаем виртуальные машины у облачных провайдеров, устанавливаем программное обеспечение, а также управляем Docker-контейнерами с приложениями клиентов. В прошлой статье я рассказывал о том, как заставить Ansible работать быстрее, теперь расскажу о том, как расширить его функциональность.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments4

Новые возможности мониторинга Java приложений в Zabbix 3.4

Reading time9 min
Views36K

Что случилось?


Вышел долгожданный релиз Zabbix 3.4, который принёс много полезных улучшений, среди которых оказались настраиваемые JMX endpoints и гибкое обнаружение MBean’ов.


Это так круто, да?


Если вы используете Zabbix и вам требуется мониторить Java приложения, то да — это может сильно облегчить вам жизнь, потому что раньше приходилось прибегать к различным ухищрениям, а теперь всё работает, как говорится, “из коробки”.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments7

Тюнинг сетевого стека Linux для ленивых (v2.5.0)

Reading time2 min
Views18K

Представлен выпуск проекта netutils-linux 2.5.0, набора утилит для мониторинга и тюнинга производительности сетевого стека Linux. Всё написано на Python (поддерживаются python 2.6+ и 3.4+) и доступно под MIT-лицензией.


Цель проекта — упростить и унифицировать процесс тюнинга сетевого стека и сетевых карт, снизив необходимость разбираться в устройстве сетевого стека для сисадминов и освободить их головы от рутинных вычислений и написания с нуля кучи одинаковых bash-скриптов.


Рекомендации для использования — наличие канала с 200+ Мбит/с, обрабатываемого Linux-based машиной, и требований к минимизации задержек и потерь.


С прошлого (и первого) публичного релиза было исправлено несколько неприятных ошибок, связанных с совместимостью с архитектурами, дистрибутивами Linux, версиями Python и зависимостей проекта, приводивших к невозможностям запуска некоторых утилит.

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

Сказ о sysctl’ях (народная пингвинская история)

Reading time8 min
Views64K
Очень часто администраторы выполняют настройку системы просто настройкой базовых вещей — ip,dns,hostname, поставить софт, а все остальное уже настройки приложений. В большинстве случаев так оно и есть, поскольку в linux’е очень разумные умолчания и, в большинстве случаев, этих умолчаний хватает и все живут счастливо. Среди совсем начинающих ходят легенды о неких sysctl’ях, а те, кто поопытнее видели и даже чего-то правили.

Но приходит момент, когда админ в своих походах по системе встречает этого зверя — sysctl. Вероятнее всего он встречает кого-то из семейства net.ipv4 или vm, даже вероятнее всего net.ipv4.ip_forward, если поход за роутером или vm.swappinness, если он обеспокоен подросшим swap’ом своего пингвина. Первый зверь разрешает пингвину принимать пакеты одним крылом и отдавать другим (разрешает маршрутизацию), а второй помогает справиться с использованием swap’а в спокойной системе и регулировать его использование — в нагруженной.



Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments23

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Reading time4 min
Views121K

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Total votes 83: ↑74 and ↓9+65
Comments167

Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux

Reading time7 min
Views152K

Я познакомился с Docker довольно давно и, как и большинство его пользователей, был мгновенно очарован его мощью и простотой использования. Простота является основным столпом, на котором основывается Docker, чья сила кроется в легких CLI-командах. Когда я изучал Docker, я захотел выяснить, что происходит у него в бэкграунде, как вообще все происходит, особенно что касается работы с сетью (для меня это одна из самых интересных областей).


Я нашел много разной документации о том, как создавать контейнерные сети и управлять ими, но в отношении того, как именно они работают, материалов намного меньше. Docker широко использует Linux iptables и bridge-интерфейсы для создания контейнерных сетей, и в этой статье я хочу подробно рассмотреть именно этот аспект. Информацию я почерпнул, в основном, из комментариев на github-е, разных презентаций, ну и из моего собственного опыта. В конце статьи можно найти список полезных ресурсов.


Я использовал Docker версии 1.12.3 для примеров в этой статье. Я не ставил своей целью дать исчерпывающее описание Docker-сетей или написать полное введение в эту тему. Я надеюсь, что этот материал будет полезен для пользователей, и я буду рад, если вы в комментариях оставите обратную связь, укажете на ошибки или скажете, чего недостает.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments18

Information

Rating
Does not participate
Registered
Activity