Я искал self-hosted мониторинговое решение с открытым кодом, которое может предоставить хранилище метрик, визуализацию и оповещение для физических серверов, виртуальных машин, контейнеров и сервисов, действующих внутри контейнеров. Опробовав Elastic Beats, Graphite и Prometheus, я остановился на Prometheus. В первую очередь меня привлекли поддержка многомерных метрик и несложный в овладении язык запросов. Возможность использования одного и того же языка для графических изображений и уведомления сильно упрощает задачу мониторинга. Prometheus осуществляет тестирование по методу как черного, так и белого ящика, это означает, что вы можете тестировать инфраструктуру, а также контролировать внутреннее состояние своих приложений.
CEO в Southbridge
FreePBX: первые шаги по граблям
Двухфакторная аутентификация в Redmine
С давних пор для второго шага аутентификации мы использовали одноразовые пароли отправляемые через СМС. Такой функционал появился в Redmine в 2013, когда мы разработали плагин redmine_sms_auth. Об этом мы писали в давней статье.
Но время не стоит на месте. Мы активно внедряем Telegram в бизнес-процессы компании (раз, два, три).
В связи с этим решили сделать аутентификацию через Telegram в Redmine. Заодно с этим переписать старый плагин про СМС и добавить поддержку Google Authenticator.
Далее мы расскажем о том как установить, настроить и использовать этот плагин.
Устранение беспорядка маршрутизации сервисов при помощи Docker
“Не трудности “ломают” вас, а то, как вы их переносите” — Lou Holtz
В соавторстве с Emmet O’Grady (основателем NimbleCI и Docker Ninja)
В книге Франца Кафки “Превращение” (“Метаморфозы”) человек просыпается однажды утром и обнаруживает, что он превратился в гигантское насекомоподобное существо. Как у инженеров DevOps, у нас есть такие же сюрреалистические моменты в жизни. Мы находим экзотические ошибки “под ковриком” (скрытые в самых труднодоступных местах) или бываем атакованы червями либо другими опасными сущностями. Если вы занимаетесь этим достаточно долго, у вас рано или поздно появится ужасная история, или даже две (поделитесь ими с нами!). В такой момент мы не можем сидеть и ждать, когда наступит кризис, мы должны действовать быстро. Торопясь исправить это как можно раньше, мы должны развернуть (deploy) новую сущность и выпустить новую версию нашего сервиса, устраняя проблему.
Кластер Docker Swarm за 30 секунд
В этом июне, в качестве лейтмотива конференции DockerCon мы видели демо, в котором 3-узловой Swarm-кластер был создан за 30 секунд используя набор инструментов для кластеризации Swarm, интегрированную в Docker Engine 1.12.
Впечатляет, но естественно, мне нужно было попробовать сделать это самому, чтобы увидеть своими глазами.
Сaжаем на диету индексы PostgreSQL для Zabbix
Gitlab-CI и проверка корректности синтаксиса Ansible-lint
Всем привет! Мы продолжаем серию статей про DevOps и ищем наиболее эффективные способы управлять конфигурацией, делясь с вами опытом. В прошлых статьях мы рассматривали, как выстроить управление конфигурацией Ansible с помощью Jenkins и Serverspec, а теперь по вашим просьбам рассмотрим, как организовать управление конфигурацией с помощью GitLab-CI.
Ansible-lint — это утилита для проверки корректности синтаксиса плейбука и стиля кода, которую можно интегрировать в CI-сервис. В нашем случае мы внедряем её в gitlab-ci для проверки плейбуков на этапе принятия Merge-Request и выставления статуса проверок.
GitLab (GitLab Community Edition) — это opensource-проект, менеджер git-репозиториев, изначально разрабатывающийся как альтернатива платной корпоративной версии Github.
Про наш финансовый отдел и собственную CRM
Это первая статья серии о том, как мы внедрили непрерывную интеграцию в процесс разработки CRM и облегчили жизнь финансовому отделу.
Прежде, чем описать технические подробности, расскажу о предпосылках к разработке системы и о том, как финансовый отдел работал раньше.
Раньше для автоматизации технических процессов в финансовом отделе мы использовали такую структуру.
Gitlab-CI
Всем привет.
У нас не так много задач, которым необходим полноценный CI. Некоторое время мы использовали в качестве CI-сервиса Jenkins. Там всё довольно очевидно, он прост и гибок в настройке, имеет кучу плагинов, но пару раз мы столкнулись с OOM-убийцами агентов на слабых машинах и решили рассмотреть в качестве CI-сервиса Gitlab CI, потому что мы любим эксперименты и тем более в комментариях к нашей прошлой статье задавали такой вопрос.
Вебинар: FreePBX. Офисная телефония: быстрый старт
Очередной вебинар от команды Centos-admin.ru пройдет в ближайший понедельник, в 12-00 по московскому времени. В этот раз мы рассмотрим использование FreePBX для быстрого развертывания системы офисной телефонии. Плюсы и минусы, основные настройки.
Вебинар рассчитан на системных администраторов, еще не имеющих опыта работы с FreePBX.
Прямая ссылка на видео | Cсылка для регистрации
Приглашаем всех желающих 29 августа. Приходите!
Вебинар: знакомство с Zabbix
Прямая ссылка на видео | Cсылка для регистрации
Приглашаем всех желающих 11 августа. Приходите!
Определение региона по номеру телефона в Asterisk без использования БД
Для многих компаний, работающих по всей стране, бывает очень важно знать, из какого региона именно поступил каждый входящий звонок, например, для оценки эффективности маркетинговой кампании по интересующим регионам. Конечно, можно заставить операторов call-центра уточнять эту информацию у звонящего каждый раз, но все же удобнее получать такую информацию в автоматическом режиме.
Кроме того, при осуществлении исходящих вызовов бывает важно звонить именно с номера того региона, где находится клиент. Можно, конечно, составить исходящие маршруты, но при количестве регионов более трех, да еще и с учетом мобильных номеров, конструкция получается монструозной.
Ansible-container: новый шаг в управление контейнерами
Недавно разработчики Ansible анонсировали новый проект Ansible Container. Проект нас очень сильно заинтриговал, и мы решили рассмотреть его поближе.
Ansible уже давно стал незаменимым инструментом в вопросах создания, сборки, деплоя образов docker-контейнеров и самих docker-контейнеров, благодаря соответствующему модулю.
Ранее для провиженинга docker-контейнеров с помощью Ansible необходим был запущенный в контейнере sshd, но в версии 2.1 в Ansible был добавлен Docker connection plugin, благодаря которому стало возможно запускать плейбуки не только на физических/виртуальных машинах, но и внутри docker-контейнеров и отпала необходимость использования sshd внутри docker-контейнера.
Вебинар: знакомство с Asterisk
Очередной вебинар от команды Centos-admin.ru пройдет в ближайшую пятницу, в 13-00 по московскому времени.
На следующем, пятом по счёту, вебинаре от нашей команды мы расскажем о Asterisk и его основных конфигурационных файлах, покажем, как работать с консолью Asterisk CLI и выявлять причины возникновения проблем со связью. Вебинар рассчитан на системных администраторов, еще не имеющих опыта работы с Asterisk.
Приглашаем всех желающих 22 июля.
Тут прямая ссылка на видео.
А тут ссылка для регистрации.
Приходите!
Ansible: тестируем плейбуки (часть 2)
Напомню несколько условий, при которых мы будем выполнять тестирование конфигураций:
1. Вся конфигурация хранится в git-репозитории;
2. Jenkins периодически опрашивает git-репозиторий с нашими ролями/плейбуками на предмет внесённых изменений;
3. При появлении изменений Jenkins запускает job с тестированием конфигурации. Тесты состоят из двух этапов:
3.1 Kitchen-CI берёт обновленный код из репозитория, запускает полностью свежий docker-контейнер, заливает в них обновлённые плейбуки из репозитория и запускает Ansible локально, в docker-контейнере;
3.2 Если первый этап прошёл успешно, в docker-контейнере запускается serverspec и проверяет, корректно ли встала новая конфигурация;
4. Если в Kitchen-CI все тесты прошли успешно, то Jenkins инициирует заливку новой конфигурации.
В идеале, весь процесс от написания плейбука и коммита в репозиторий до внесения изменений на сервера, должен проходить без нашего участия. Сильно углубляться в установку Jenkins и подробно расписывать о пайплайнах в данной статье не планируется. Первое делается без проблем из стандартных репозиториев, а второе — сугубо индивидуальное.
Ansible: тестируем плейбуки (часть 1)
Думаю, любой системный администратор, использующий Ansible для управления своим зоопарком серверов задавался вопросом о проверке корректности описания конфигурации своих серверов. Как же не бояться вносить изменения в конфигурации серверов?
В серии статей, посвященных DevOps, мы расскажем об этом.
Хотите интегрировать Telegram в Redmine? Есть решение
Наша компания растёт, полагаться на человеческий фактор всё сложнее и сложнее, а многочисленные клиенты ожидают мгновенной реакции на свои заявки.
В связи с этим мы стараемся максимально автоматизировать все возможные процессы, напоминать администраторам о необходимости вовремя написать статус по открытым задачам клиентам…
Так появилась идея создать плагин, который будет отправлять уведомления широкому кругу лиц — исполнителю, автору, наблюдателям за задачей, а также в специализированные групповые чаты.
Redmine: миграция с MySQL на PostgreSQL 9.5
В последнее время клиенты нашей компании все чаще обращаются с просьбой осуществить переход с MySQL на PostgreSQL. Действительно, активное развитие PostgreSQL дает повод разработчикам задуматься о смене СУБД. Зачастую при этом встает вопрос о переносе больших объемов данных, которыми «обросла» существующая база под MySQL.
Мы сами являемся активными пользователями Redmine и разработчиками плагинов для него, потому и выбрали эту CRM для иллюстрации процесса миграции.
Ниже описывается один из способов миграции с БД MySQL на PostgreSQL 9.5 для Redmine на ОС CentOS 6.
DNS Google больше не поддерживает Round Robin DNS
Раньше, когда надо было распределить нагрузку на несколько серверов, мы прописывали несколько A-записей с одним именем в DNS-зоне, и все работало. Запросы клиентов распределялись примерно поровну. Особенно актуален такой способ балансировки был для раздачи статитического контента.
Недавно наш клиент обратился к нам с проблемой:
В ЧНН начинались проблемы с загрузкой различных флешек — файлы загружались по несколько минут.
Плагин для Redmine: redmine_chat_telegram
А мы продолжаем активно разрабатывать инструменты, которые упрощают жизнь команде поддержки Linux/Unix серверов. Хотя, этот плагин может быть полезен всем активным пользователям Redmine.
Плагин redmine_chat_telegram позволяет из тикета создать чат в Telegram, а все содержимое чата записывает в тикет.
Как это работает, зачем нужно и кому будет полезно описано под катом.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность