• Как лучше настроить Failover доступности сайта при падении связи в ДЦ?

    ptchol
    @ptchol
    Linux system administrator
    Если вы сами себя анонсируете в мир, и полностью контролируете сеть то стоит смотреть на anycast dns.
    Это позволит вам в случае отказа/деградации производительности сервисов одного из кластеров, переставать его анонсить, и убирать нагрузку.

    Если нет, то тот вариант который вы описали вполне себе работоспосбный. Тот же амазоновский route53 умеет на основании хелсчеков менять DNS запись. Возьмите, потестируйте, если скорость "смены" Вас устроит, и вы знаете примерное кол-во посетителей в месяц, сможете прикинуть во сколько обойдется данное решение.
    Ответ написан
    Комментировать
  • Существуют ли системы для хранения релизов?

    ptchol
    @ptchol
    Linux system administrator
    А чем не устраивают старые добрые пакеты и их репозитории (имею ввиду те что deb/rpm) ? И тот же launchpad ?
    Ответ написан
  • Какой достойный зеркальный фотоаппарат можно купить до 60к рублей?

    ptchol
    @ptchol
    Linux system administrator
    Я бы посмотрел на Вашем месте на так называемые "системные" камеры.
    В частности на что то вроде fuji x-e1 и объективчик 35mm F1.4 R
    Небольшой фотик, сможете таскать везде, качество фото на высоком уровне, примеры можете посмотреть на flickr' е. Объктив 35мм хорош для хождения по улицам города и фотканья. По мне это хорошо позволяет набить руку.
    А дальше сможете понять что же Вам нужно и выбрать что то более подходящее.
    Ответ написан
    Комментировать
  • Какой сервис для синхронизации заметок установить на свой сервер?

    ptchol
    @ptchol
    Linux system administrator
    Посмотрите на laverna / paperwork может подойдут.
    Ответ написан
    Комментировать
  • Где лучше вести документацию Open source проекта?

    ptchol
    @ptchol
    Linux system administrator
    Можно вот этим ребятам написать https://readme.io, говорят что для опенсорса бесплатно.
    Есть еще https://apiary.io если у вас какое то api возможно лучше подойдет.
    Ответ написан
    Комментировать
  • Как настроить Zabbix триггер со своим текстом?

    ptchol
    @ptchol
    Linux system administrator
    Я так понимаю у Вас тип данных у итема string/log/text ?
    Следовательно Вы можете брать последнее значение функцией last(), его проверять на наличие подстроки функцией regexp()/iregexp(), а чтобы опускать триггер использовать либо diff(), либо nodata() в зависимости от того, как часто Вы получаете эти данные.
    Ответ написан
    Комментировать
  • Как безопасно провести выкладку проекта с миграциями?

    ptchol
    @ptchol
    Linux system administrator
    Полагаю универсального решения здесь нет. Все зависит от того, сколько "сервисов" пользуются вашей базой, насколько допустим простой каждого из них и насколько гибок Ваш код.
    Можно представить себе, что миграция это изменение представления данных. Таким образом, у нас открывается потенциальная возможность использовать view, и работа из кода не напрямую с данными, а с этими самыми view. Т.о. Вы можете создавать новые временные столбцы, нацеливать на них view, а заполнять их при помощи триггера к примеру.
    В mysql 5.6 (не прошло и 10 лет !, или прошло ?), в случае если Вы просто меняете имя столбца, копирование во временную таблицу, с соответствующим локом, не происходит.
    Т.о. если вы обернете в единую транзакцию (с локом) переименование столбца, и нацеливание view обратно на "изначальное" имя, столбца, вероятно Вам удастся добиться минимального даунтайма.
    Миграция, т.о. становится многоходовочкой, но Вы избавляете себя от страха за потерю данных после кривой миграции и упрощаете себе переключение между старыми \ новыми данными, т.к. вы управляете этим из кода миграций.

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

    Думаю Вам стоит прикинуть всю сложность операционных работ по реализации данного решения, и решения описанного Fortop чуть выше. И понять, чем Вы можете поступится, и что в Вашей системе проще реализуется сейчас, и через 1 год.
    Ответ написан
    Комментировать
  • Как распределить rtmp поток через CDN?

    ptchol
    @ptchol
    Linux system administrator
    Если latency не критично, тоесть тот gap который добавляет AMS на перепаковку видео в HDS\HLS, проще гнать в эти форматы, и далее вся доставка превращается в раздачу статических медиафайлов. Конечно если у вас нет DRM.
    Ответ написан
    Комментировать
  • Почему FMS сервер принудительно обрывает запись потока в файл?

    ptchol
    @ptchol
    Linux system administrator
    Может у Вас лицензии нет ? Или она истекла, или не применилась по каким то причинам.
    Ответ написан
  • Zabbix. Как формировать оповещения с пользовательскими ключами (элементами данных)?

    ptchol
    @ptchol
    Linux system administrator
    А простой вариант не работает ? В сообщении оповещения указать:
    место установки: {{HOST.HOST}:ups.fillial.last(#1)};
    адресо установки: {{HOST.HOST}:ups.address.last(#1)}
    имя хоста: {{HOST.HOST}:ups.hostname.last(#1)}
    модель ИБП: {{HOST.HOST}:ups.model.last(#1)}
    Ответ написан
  • Zabbix, autodiscovery и пользовательские макросы, как подружить?

    ptchol
    @ptchol Автор вопроса
    Linux system administrator
    Кстати, все решилось созданием отдельного item (обычный, не prototype), который создает файл со списком exclude'ов, а уже этот список тащит в себя скрипт агрегации.
    Неудобно, негибко. Пока работает.
    Ответ написан
    Комментировать
  • Может ли Zabbix писать в свою БД только изменившиеся значения?

    ptchol
    @ptchol
    Linux system administrator
    Сталкивались с похожей задачей, пришли к тому что для таких метрик используем trapper, а на "клиентской" стороне вызываем zabbix_sender.
    Если значение изменилось менее чем на N% просто не шлем новые данные в мониторинг, и не изменяем информацию о собранных данных (в tmp_stats).
    Как только обнаруживается (при очередном запуске скрипта), что данные уже не посылались в течении 10min - высылаем. Вызов скрипта сбора данных происходит тем же zabbix'ом,
    Позволило существенно сократить кол-во значений определенных метрик.

    Все было бы существенно проще, если бы в заббиксе можно быстро настраивать retention для шаблонов/метрик. Стандартная тема с flexible интервалами совсем не то чего хочется...
    Ответ написан
    1 комментарий
  • Как правильно использовать Puppet?

    ptchol
    @ptchol
    Linux system administrator
    С "оркестрейшеном" у puppet все плохо.
    Был puppet-kick, но его выпилили, теперь есть mcollective, который позволит вам дернуть агента на всех нодах и применить конфигурацию. Но имхо это из пушки по воробьям.
    Мы по прежнему по старинке, через pssh дергаем на нужной группе нод 'puppet agent -t'.
    Применить конфиг на отдельном сервере, из коробки я думаю врядли получится. Нужно придумать что то свое :).
    Ну или конечно же, Вы всегда можете нагородить
    if $::fqdn in $testing_nginx_servers {
        $config = new_config
      else {
        $config = stable_config
      }
      ::nginx::vhost { 'server.com' :
        template      => $config
        server_name   => "${::fqdn} ${title}",
        document_root => '/var/www/server.com',
        ssl_keys      => 'server.com'
      }

    А где нить в site.pp объявить
    $testing_nginx_servers = [ 'web-1.server.com', 'web-2.server.com' ]


    В конце концов вы можете раскатывать конфиг, но не релоадить nginx :).

    На тему ansible vs puppet. Субъективно, ansible, массовый раннер скриптов :). К тому же на состояние полугодовалой давности довольно тормозной.

    Puppet подразумевает, что накатка изменений, не влияет критично на Ваше окружение, и может происходить в фоне. Тоесть для ряда пакетов Вы написали 'ensure => latest', и не паритесь, обновляется оно сам по себе когда нада +\- 30 минут и всё. Внесли изменения в конфигу, проверили на одном серваке, и уверенны что через полчаса это будет везде. Сейчас скажу глупость, но о "схеме" его работы можно сказать что он "согласован в конечном счете", и этот "конечный счет" определяется получасовым таймаутом обновления (как в DNS :) )

    Может быть уже неактуально, но вот здесь человек сравнивал ansible \ salt в качестве альтернатив для переезда.

    Если привлекает YAML в puppet есть hiera, для экспорта ресурсов с нод, есть puppetdb (к примеру что бы при добавлении backend серверов, их адреса попали в необходимый upstream у nginx, без прямого прописывания их в конфиге).

    Если напрягает что нету всяких "циклов", то это решается во первых при помощи define, или в свежем синтаксисе есть each / slise / reduce / filter, который позволяет удобно работать с со всякими списками параметров, плюс очень много чего полезного реализовано в stdlib.

    Puppet декларативен, и если вы не хотите мирится с отсутствием возможностей перезаписать переменную / параметры ресурса / класса, то Вам будет сложно с ним, иначе не вижу ничего плохого в этом выборе.
    Ответ написан
    2 комментария
  • Целесообразно ли в redis хранить логи?

    ptchol
    @ptchol
    Linux system administrator
    Если данные аналитического характера, с "натуральными" индексами, то попробуйте посмотреть на mongo capped collection. Данные сами будут "вычищаться", и при это быстрый доступ к последним данным.
    Ответ написан
    Комментировать
  • Как узнать сколько % процессора использует пользователь линукс сервера с помощью zabbix?

    ptchol
    @ptchol
    Linux system administrator
    Попробуйте посмотреть на acct
    Собирать им инфу и вывод sa уже отдавать в zabbix.
    Ответ написан
    Комментировать
  • Рендер-ферма: стойка vs мощный системник?

    ptchol
    @ptchol
    Linux system administrator
    Чтобы ответить на вопрос стоит изучить особенности самих рендеров, которые вы собираетесь пускать на данной ферме.
    К примеру очень популярный vray при сетевом рендере не умеет пускать просчет light cache на нескольких машинах. В результате, на сложных сценах вы 40 минут на ведущей ноде считаете свет, а потом за 10 рендерите все остальное.
    Касательно vray и GPU, есть модификация vray rt который гоняет и gpu и cpu.

    А вобще, по личному опыту. Использование амазоновских виртуалок c3.8xlarge может оказаться очень выгодным решением, если не держать их постоянно включенными :)
    Ответ написан
  • Интеллектуальное 4:3 к 16:9 конвертирование?

    ptchol
    @ptchol
    Linux system administrator
    Так там вроде без вариантов, добавление черных полос либо сверху, либо сбоков, иначе потярете aspect ratio.
    Ответ написан
  • Раздача маленькой статики. 1500 rps. Как ускорить?

    ptchol
    @ptchol
    Linux system administrator
    Врубите кеширование записи логов, в которые пишутся данные по запросам картинок. Как то так:
    access_log /var/log/nginx/access.log main buffer=32k;
    Проверьте количество соединений активных на машинке.
    Нет ли в dmesg каких нибудь сообщений о переполненности nf_conntrack table ?
    Ответ написан
    Комментировать
  • Сколько запросов в сек на один веб-сервер?

    ptchol
    @ptchol
    Linux system administrator
    В пике 500rps. В качестве бд mongo, на этом же хосте, выполняется от 2х до 4х ридов, 1 запись за запрос.
    Сервер 2xE5-2650, 64GB. CPU utilization в пике 10%, воркеров 130 штук.
    Ответ написан
    Комментировать