Как стать автором
Поиск
Написать публикацию
Обновить
83.38
Слёрм
Учебный центр для тех, кто работает в IT
Сначала показывать

Анализ логов веб-сервера с помощью GoAccess

Время на прочтение1 мин
Количество просмотров32K
image
Не так давно мы натолкнулись на утилиту GoAccess, которая позволяет анализировать логи веб серверов и строить отчеты. Утилита написана на C и имеется почти во всех репозиториях дистрибутивов Linux. Адрес проекта.

В данной заметке не будет ничего революционного, лишь краткое HOWTO, большую часть из которого вы сможете найти в документации.
Читать дальше →

Плагин для Redmine: отчеты по работе

Время на прочтение1 мин
Количество просмотров18K
Продолжаем разрабатывать плагины для автоматизации работы нашей команды.
В качестве следующего этапа автоматизации решено было создать плагин отчетов по объемам работ.
Это полезно как для статистики работы по проектам, так и для контроля работы сотрудников, что очень актуально при удаленной схеме сотрудничества.

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

Простой, но полезный плагин для Redmine

Время на прочтение2 мин
Количество просмотров12K
Продолжаем улучшать быт системного администратора своими силами.

Часто бывает, что список активных задач в Redmine достаточно огромен. Однако, среди них есть много тех, которые невозможно выполнить в данный момент: либо ждем ответа клиента, либо выполнить можно только в согласованную дату и подобное.

С одной стороны, такие задачи можно перевести в статус «Заморожена», например. Они перестанут захламлять список актуальных задач, с одной стороны. С другой — появляется риск про них забыть. С целью не допустить подобного и был создан плагин redmine_issue_open_date.
Читать дальше →

Хотите интегрировать Telegram в Redmine? Есть решение

Время на прочтение3 мин
Количество просмотров20K
Некоторое время назад я рассказал от том «Как хранить сложную иерархию настроек в проектах Redmine». Рассказ этот базировался на опыте разработки плагина redmine_intouch. В этой публикации расскажу о самом плагине и том, чем он может быть полезен для вас.

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

В связи с этим мы стараемся максимально автоматизировать все возможные процессы, напоминать администраторам о необходимости вовремя написать статус по открытым задачам клиентам…

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

image

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

Zabbix — оптимизация при высоких нагрузках

Время на прочтение2 мин
Количество просмотров21K
image
Недавно стало очевидно, что наш заббикс не справляется с нагрузкой. Появились частые ложные срабатывания, в графиках появились провалы. Причина оказалась простой, очередь в zabbix выросла до неприличных размеров и составляла порядка 2000. Было очевидное решение — увеличение инстансов, но ресурсы не позволяли сделать этого и как стало очевидно в дальнейшем это было бы плохим решением. О том как мы решили эту проблему ниже. Забегая вперед: проблема удачно решена и очередь сократилась до 30-40 в среднем.

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

Как хранить сложную иерархию настроек в проектах Redmine

Время на прочтение7 мин
Количество просмотров8.3K
В течении последних двух месяцев работал над плагином redmine_intouch для компании Centos-admin.ru.

После завершения работ решил поделиться некоторыми нюансами, с которыми пришлось столкнуться в процессе разработки.

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

Перво-наперво хочу оговориться. Эта статья о реализации логики хранения настроек проекта в плагине для Redmine.

Т.к. это плагин, то использовать сторонние гемы, в которых данный функционал реализован — крайне нежелательно, во избежание конфликтов с логикой самого Redmine.

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

image

Как видно из скриншота, нужно как-то хранить данные с трёх спойлеров, в каждом из которых по несколько вкладок, а на каждой вкладке масса чекбоксов.
Читать дальше →

Вебинар третий. Бэкап как основа спокойствия. Схемы резервного копирования

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

Очередной вебинар компании centos-admin.ru пройдет в ближайший четверг в 11-00 по московскому времени.
Читать дальше →

Asterisk: использование AEL в повседневной жизни

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

Сегодня поговорим об интеграции Asterisk'a с CRM системой. Со стороны CRM вопрос рассматривать не будем, достаточно знать, что CRM хочет знать о всех звонках (как входящих, исходящих, так и переведенных)

Что мы хотим получить:

Для каждого звонка должны отправляться в CRM 2 события: start и stop. Естественно с кучей аргументов.
Читать дальше →

Посещение встречи разработчиков Linux-контейнеров

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

Когда руководство предложило мне посетить встречу разработчиков Linux-контейнеров, я поначалу подумывал отказаться. Ехать 500 км до Москвы и обратно, провести день на ногах, а я ведь даже не разработчик, я сисадмин, который использует технологии OpenVZ в своей работе…

Но, почитав программу, понял, что встреча рассчитана не только и не столько на разработчиков, но и на активных пользователей этого прекрасного творения от Parallels.
А поставив последнюю бету Virtuozzo 7, еще и составил себе список вопросов, которые хотелось бы прояснить.

мои впечатления от встречи

Авторизация в Redmine с другого сайта

Время на прочтение3 мин
Количество просмотров8.6K
На сайте centos-admin.ru дизайнер придумал очень здоровский эффект для формы логина. Идея формы состоит в том, что пользователь вводит свои логин и пароль в Redmine и попадает авторизованным на свою страничку.

Все бы здорово, но в Ruby on Rails (на коих Redmine сделан) прямые POST запросы с внешних сайтов не принимаются — для успешного запроса нужен авторизационный токен.

Сей токен генерируется rails-приложениями в автоматическом режиме, хранится в cookies. В связи с этим сперва думал в iframe загружать сайт с Redmine-ом и из cookies брать нужный ключ. Но как-то это совсем не rails-way.

Самое простое решение — слегка пропатчить Redmine — добавить возможность обработки запросов с внешних ресурсов. Благо в Redmine все для этого есть — можно написать небольшой плагин, который и будет решать эту задачу.
Читать дальше →

Обработка логов с помощью monit.d

Время на прочтение6 мин
Количество просмотров8.6K
На последнем вебинаре нас просили рассказать, как мы работаем с логами с помощью monit.d.
Хоть и с большой задержкой, все же отвечаем.
Читать дальше →

Балансировка MySQL

Время на прочтение2 мин
Количество просмотров20K
Это краткая заметка как настроить отказоустойчевый кластер с балансировкой нагрузки из 2 MySQL серверов. Исходные данные 2 свежеустановленных MySQL сервера. Необходимо настроить работу таким образом, что бы в нормальной ситуации запросы балансируются между MySQL серверами, в случае выхода из строя одного из MySQL серверов все запросы идут ко второму.

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

Заметка по ansible. Server reboot

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

Столкнулись с задачей: полностью пустой сервер, настраивать полностью через ansible, «так что бы даже обезьяна» справилась", — дословная цитата клиента.
Исходные данные: есть сервер, с ОС СentOS 7, внешним IP и паролем root.
Задача: установить на него все обновления, ПО по списку и ни разу к нему не подключиться консолью. Весь процесс описывать нет смысла, но есть два интересных момента о которых я и расскажу. А именно, как с помощью ansible настроить ansible и как перезагрузить сервер, а потом продолжить выполнять palybook.

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

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

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

Продолжаем делиться информацией.
Первый блин вебинар вышел несколько комом, за что еще раз прошу понять и простить.
Решили провести дополнительный вебинар, на котором доосветим недоосвещенное и расскажем что-то еще.
Читать дальше →

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

Короткие заметки: связка Redmine + StatusCake

Время на прочтение3 мин
Количество просмотров7.1K
У нас используется система управления проектами и задачами Redmine . На нее у нас завязан и Zabbix и другие системы мониторинга. И вот как то появилась идея интегрировать ее со StatusCake для удобства контроля всех задач в одной системе.

Есть такая система онлайн мониторинга StatusCake. Она позволяет строить достаточно сложные проверки для сайтов, проверяет их доступность, скорость доступа, строит разные красивые графики.
Но нас интересует не этот функционал, как любая система мониторинга она имеет механизм оповещения о проблемах. Способы оповещения достаточно разнообразны. Есть интеграция с разными сервисами, в частности с twitter (зачем??? что бы публиковать когда падает сервер). Но вот интеграции с Redmine там нет. Но зато есть возможность использовать webhook. Чем мы и воспользовались. Ниже под катом, что у нас получилось.
Читать дальше →

Вебинары от команды Centos-admin.ru

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

Здравствуйте, дорогие друзья!

От лица компании Centos-admin.ru сообщаю об открытии нашего канала на Youtube и представляю вам цикл вебинаров.

Более восьми лет мы накапливали опыт в работе с высоконагруженными проектами, тысячами серверов и сложными архитектурами, систематизировали его.
Доступ к накопленным знаниям до сего момента имели только сотрудники нашей компании.
Теперь же мы хотим поделиться этими знаниями с коллегами и сочувствующими.
Подробности под катом.

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

Короткая заметка: 2 zabbix сервера один клиент

Время на прочтение1 мин
Количество просмотров18K
В качестве системы мониторинга у нас используется zabbix. Недавно один из клиентов обратился с просьбой/вопросом может ли подключить сервера еще и к его zabbix серверу.

Чтение документации подсказало, что очевидного решения нету и один клиент может принимать запросы только от одного сервера. Но нет ничего невозможного. Немного поразмыслив и понаблюдав за работой zabbix агента было принято решение запускать 2 агента на одном хосте, с использованием одних и тех же бинарников и разными конфигурационными файлами.

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

Centos-admin.ru: познаем Ansible

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

Это не готовая инструкция, с большим количеством кода, а скорее описание алгоритма и результатов чего мы добились.

Итак, не так давно у нас появился новый клиент. У него было несколько нетипичных для нас требований: использовать для конфигурирования серверов ansible, контент сайта хранится в git, каждый сайт находится на своей виртуальной машине. Все это не сулило ничего хорошего, так как совсем не укладывалось в стандартную схему «Клиент всегда прав!», и мы начали разрабатывать новую схему. Но обо всем по порядку.

Исходные данные: есть клиент, у которого более 30 сайтов которые надо перенести на нашу площадку. Каждый сайт должен располагаться в отдельном контейнере (мы используем OpenVZ контейнеры). Используется только один внешний IP. Для конфигурирования серверов используется ansible. Для каждого сайта есть архив с конфигурационными файлами. Контент сайта находится в git.

И мы начали творить… Что у нас получилось, можно посмотреть под катом. Забегая вперед, скажу, разворот нового сайта сводится к нескольким командам.
Читать дальше →

Работа над ошибками — phppgadmin

Время на прочтение2 мин
Количество просмотров3.4K
Один из наших клиентов поставил задачу — не заливается дамп базы данных через phpPgAdmin. В лог ошибок выводятся сообщения типа: ERROR: relation «public».«company» does not exists.

Схема public в наличии имеется, таблицы company нету. В процессе поиска выясняется, что через консоль этот же дамп заливается без проблем. Если загружать в web-форму в phpPgAdmin — то тоже все отрабатывает. Но вот если загружать этот дамп в тот же phpPgAdmin как файл — идут ошибки.
Читать дальше →

Работа с сообщениями об ошибках — git

Время на прочтение1 мин
Количество просмотров5.4K
Иногда приложения выдают нам очень странные сообщения об ошибках и приходится изрядно поломать голову, чтобы понять, в чем именно проблема и как ее исправить.

Мы решили, что подобные случаи достойны серии небольших статей под общим названием «Работа с сообщениями об ошибках».

И сегодня у нас подарок от всеми любимой программы git.
В очередной раз, сделав git pull на тестовый сервер, клиент увидел вот такое сообщение:
fatal: write failure on 'stdout': No space left on device

И обратился к нам с просьбой разобраться, почему это он не может на stdout писать
Читать дальше →

Информация

Сайт
to.slurm.io
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Антон Скобин