16
Май

Земля в иллюминаторе

Написал Максим Крентовский в Деятельность

Это видео было получено на основе фотографий планеты, скачанных с сайта http://www.ntsomz.ru/electro/source_images. Фотографии были скопированы, удалены засвеченные кадры (из-за чего на видео видны выпадания, но с этими снимками был еще неприятнее).
После чего фото были скопированы по порядку, при этом каждая фотография повторялась 8 раз, дабы движение не было столь стремительными. Разумеется, не руками, а простым python-скриптом:

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
import os

i = 0
for r, d, f in os.walk("."):
        fs = sorted(f)
        for fi in fs:
                if fi[-3:] == "jpg":
                        for j in range(1,8):
                                print "ln %s s/%06d.jpg" % (fi, i)
                                i = i + 1

(кстати, код не сам выполняет действие, а генерирует shell-команды для выполнения действий, это очень удобно для контроля над исполнением, ну и, вообще, имеет легкий привкус метапрограммирования :) )

Далее, берем волшебный ffmpeg и собираем все картинки в одно видео:

1
ffmpeg -f image2 -i %06d.jpg -an -vcodec libx264 -preset slow -tune grain -b:v 2M -threads 0 earth.mp4
03
Апр

Рецепты для ffmpeg

Написал Максим Крентовский в Деятельность

Готовясь к событию, описанному в предыдущем сообщении, я подготовил несколько вариантов для захвата и передачи изображения при помощи ffmpeg, пригодных как для организации записи, так и для трансляции в сети. Думаю, будет полезно привести их, дабы потом не вспоминать снова.
Подробнее →

02
Мар

Очередная инкарнация MassControl

Написал Максим Крентовский в Деятельность

На сей раз добавились механизм наблюдения за маршрутизаторами компании S-Terra CSP, позволяющий оперировать информацией о текущих ISAKMP/IPSec соединениях.

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

Но вообще с архитектурной точки зрения развиваться на что-то в дальнейшем обернется проблемами: и интерфейсными (текущий не рассчитан на большое число хостов и вообще откровенно слаб), так и архитектурными поскольку потребуется хранить большое количество данных, что автоматически несет за собой более серьезную БД, нежели Mnesia.

А хотелось бы многого:

  • SNMP со складыванием данных в RRD и генерацией графиков
  • Syslog-сервер для коллекционирования журналов с серверов
  • IPMI-статистику для определения состояния оборудования
  • SMART для контроля над состоянием дисков

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

К сожалению, в одиночку это неподъемно даже при 100% занятости этой задачей.

И, чтобы два раза не вставать: хозяйке на заметку — если у вас есть устройства с флешкой, выставленные в интернет, и (внезапно) на этой флешке кончается место из-за того, что создатели забыли выключить лог неудачных соединений по SSH, а c00l hatskers в сети много — удалите файл, а на его место положите ссылку на /dev/null, оно так надежнее.

21
Окт

MassControl — развлекаемся с Эрлангом

Написал Максим Крентовский в Деятельность

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

Чтобы немного упростить процедуру получения файлов конфигураций и внесения (что очень актуально, допустим для Cisco-like конфигураторов) я написал простое приложение на Erlang, которое позволяет:

  • послать по SSH команду через web-интерфейс и послать результаты исполнения обратно;
  • сохранить результаты выполнения в текстовый файл и добавить его в git.

Подробнее →

Комментарии отключены
16
Окт

Доклад про Эрланг

Написал Максим Крентовский в Деятельность

Сделал небольшой доклад про Эрланг в рамках сообщества GetDev.net.

В тот же день, так совпало, выступал и Юрий Жлоба с докладом на ту же тему. У него вышло на порядок правильнее и лучше.

Следующая страница →
Максим Крентовский
системный архитектор
E-mail / GTalk: mkrentovskiy@gmail.com
Skype: mkrentovskiy