Установка New Relic для PHP 7.1 в CentOs 7 в docker-контейнере

Что такое New Relic и зачем он нужен в этой заметке рассказывать не буду. А расскажу лишь кратко как установить newrelic agent внутрь docker-контейнера для мониторинга производительности приложения. Т.е. речь о APM — Application Performance Monitoring and Management. Рассмотрим 2 варианта: установку в уже запущенном контейнере и настройку через Dockerfile. В […]

Как в Guzzle получить финальную ссылку после редиректа

Ещё одна повседневная задача — узнать адрес ссылки на которую был совершён редирект после HTTP-запроса. Однако, при работе с библиотекой Guzzle делается это не очень очевидно. Во-первых, нужно разрешить клиенту совершать редиректы: ‘allow_redirects’ => [ ‘max’ => 5, ‘strict’ => true]. Во-вторых, нужно включить запись редиректов: ‘allow_redirects’ => [ ‘track_redirects’ => true ]. В третьи, […]

Как Clickhouse хранит данные на диске

Это достаточно старая заметка, которую я нашёл в своих архивах и решил выложить. Речь идёт о старой версии Clickhouse 1.1.54198, текущая же версия: 1.1.54381, 2018-05-14. Поэтому какая-то часть выводов может оказаться не актуальной. И да, часть данных эксперимента была потеряна и в этой заметки могут быть пробелы в показаниях. Я провёл […]

Как на PHP скопировать директорию со всеми файлами

Стандартная функция copy в PHP умеет копировать только файл. Для копирования директориии со всем содержимым можно воспользоваться одним из следующих трюков: shell_exec(«cp -r {$src} {$dest}»); Однако, что если нужно как-то дополнительно обработать сами файлы?

Особенности работы функции imap_sort в PHP

imap_sort — одна из нескольких функций, с помощью которой можно получить список писем в почтовом ящике. Один из её параметров — criteria, не очевидно, но с помощью него можно задать вид сортировки: SORTDATE — сортировать по дате SORTARRIVAL — дата получения SORTFROM — по первому адресу в поле From SORTSUBJECT — по теме письма SORTTO — […]

Ошибка Warning: imap_open(): Couldn’t open stream

Ещё одна отрицательная особенность стандартной библиотеки функций в PHP для работы с почтовыми серверами — отсутствие удобной и адекватной работы с ошибками. Например, если указан не правильный логин или пароль, то библиотека просто выкидывает ошибку уровня warning: Warning: imap_open(): Couldn’t open stream {imap.mail.ru:993/imap/ssl} И думай что хочешь, то ли что-то […]

Установка и настройка Fail2ban

apt-get install -y fail2ban Для того, чтобы установленное программное обеспечение работало должным образом, вам необходимо внести поправки в конфигурационный файл. По умолчанию таковым является /etc/fail2ban/jail.conf. Однако разработчики крайне не рекомендуют редактировать его напрямую, чтобы избежать осложнений при работе с сервером. Поэтому создайте локальную копию данного файла командой: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local […]

logwatch

apt-get install -y logwatch После того, как файлы конфигурации готовы и проверены, достаточно лишь запустить утилиту: logwatch и приступить к анализу полученной информации. Естественно, анализом лог-файлов стоит заниматься как можно чаще, поэтому обычно запуск logwatch осуществляют по расписанию, а многие дистрибутивы автоматически добавляют запуск logwatch в ежедневное расписание планировщика. Например, […]

Автоматизация создание скриншотов для видео

http://zenway.ru/page/screengen http://gnome-look.org/content/show.php/Screenlist+Script?content=141148 http://www.imagemagick.org/Usage/montage/ http://zenway.ru/page/movie-thumbnailer http://zenway.ru/page/gframecatcher http://moviethumbnail.sourceforge.net/ Bash Video Thumbnailer ffmpegthumbnailer Generate Video Thumbnails Faster with ‘FFmpegthumbnailer’ in Cinnamon http://blog.2ndquadrant.com/jsonb-type-performance-postgresql-9-4/ https://www.postgrespro.ru/doc/datatype-json.html https://habrahabr.ru/post/254425/ https://www.periscopedata.com/blog/the-lazy-analysts-guide-to-postgres-json.html https://www.postgrespro.ru/doc/functions-json.html http://stormatics.com/howto-use-json-functionality-in-postgresql/