Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
Смотрел на днях видео, где рекомендовали в случае DDoS-атак отдавать 444 код ответа. Решил узнать, что это за код. И, внезапно, выяснилось, что браузеры немного по-другому взаимодействуют с ресурсом, который отдаем подобный код ответа
https://habr.com/ru/post/415565/
По следам zabbix housekeeper
В какой-то момент времени в наш канал начали лететь триггеры с Zabbix с сообщениями о высоком IO на одном сервере (большое количество операций записи).
Решил разобраться с этим. Zabbix в контейнере, БД - PostgreSQL. Сначала было подозрение на задачи по бэкапу, которые запускаются по расписанию. Потом на PostgreSQL Autovacuum (в поисках статей по его тюнингу попалась неплохая статья от Microsoft https://docs.microsoft.com/en-ca/azure/postgresql/howto-optimize-autovacuum).
Оказалось, что autovacuum тоже не при делах. Потом случайно нашел ещё один компонент zabbix, который как раз запускается по расписанию. Это zabbix housekeeper — периодический процесс, выполняемый Zabbix сервером. Этот процесс удаляет устаревшую информацию и информацию удаленную пользователями. По умолчанию процесс запускается каждый час (переменная ZBX_HOUSEKEEPINGFREQUENCY в официальном образе Docker/параметр HousekeepingFrequency в файле конфигурации Zabbix) и удаляет 5000 записей за один прогон (переменная ZBX_MAXHOUSEKEEPERDELETE в официальном образе Docker/параметр MaxHousekeeperDelete в файле конфигурации Zabbix). Из веб-интерфейса можно только включить и выключить housekeeper, а также настроить, какое количество времени будет храниться различный набор данных. Все остальное делается правкой файла .env_srv с набором переменных окружения (у разработчиков Zabbix свое видение того, как должен формироваться файл конфигурации для Zabbix). В данном случае, на основе значений переменных окружения формируется итоговый файл конфигурации. Если править сам файл конфигурации внутри контейнера и перезапускать контейнер, то изменения не применятся. Задача решилась уменьшением значения переменной ZBX_MAXHOUSEKEEPERDELETE с 10000 до 6000. После правки файла .srv_env zabbix сервер можно перезапустить командой docker-compose up -d zabbix-server.
Полезные ссылки:
Официальные Dockerfile и docker-compose для Zabbix:
https://github.com/zabbix/zabbix-docker
Параметры файла конфигурации Zabbix сервера:
https://www.zabbix.com/documentation/4.2/ru/manual/appendix/config/zabbix_server
Очистка истории через housekeeper:
https://www.zabbix.com/documentation/4.2/ru/manual/web_interface/frontend_sections/administration/general
У издательства Manning есть целая куча бесплатных книжек по различным тематикам
https://freecontent.manning.com/free-ebooks/
(по ссылке внизу страницы есть кнопочка Older posts)
P.S. Издательство немножко хитрит и дает неполную версию книги, а главы, выбранные авторами (Chapters selected)
Записки молодого девопсера
Смотрел на днях видео, где рекомендовали в случае DDoS-атак отдавать 444 код ответа. Решил узнать, что это за код. И, внезапно, выяснилось, что браузеры немного по-другому взаимодействуют с ресурсом, который отдаем подобный код ответа https://habr.com/ru/post/415565/
Спасибо за дополнение @crrlcx:

Насчёт последних сообщений про анти-дос и анти-ддос - код 444 (не rfc, есть только в nginx) стоит вызывать только для ботов, но не для браузеров.
Для браузеров же стоит всё же ответить, например 204 (из rfc, No content).

И в случае nginx и https стоит для всех нежелательных обращений использовать ssl_ciphers aNULL;, чтобы не создавать tls соединения перед тем как вызвать 444.
Оказывается, существуют open source драйверы для устройств компании Razer. Проект называется OpenRazer (https://openrazer.github.io/). Драйверы имеются под большую линейку устройств и для различных операционных систем. Для некоторых устройств (например, мышей), драйвер предоставляет функционал, сравнимый с проприетарным драйвером на Windows. Где-то он скудный, например, на гарнитуре Razer Kraken 7.1 Ultimate можно настраивать только схему подсветки.
Помимо драйвера предлагается набор графических утилит для настройки ваших девайсов.
Небольшой ликбез.
Hashicorp Terraform - продукт, позволяющий управлять вашей инфраструктурой, используя методологию IaC (Infrastructure as Code). Данный продукт позволяет описать вашу будущую инфраструктуру в каком-нибудь облаке (например, Amazon) - виртуальные машины, диски, сети, правила на балансировщиках и сетевых экранах, а затем одной командой создать эту все это добро в облаке. Если у вас уже есть готовая инфраструктура, то её можно импортировать в Terraform. Распространяется в виде бинарного файла и имеет очень крутую и подробную документацию.
Конец ликбеза и основная часть поста
Периодически изучаю документацию Terraform. Продукт за несколько лет очень сильно вырос в плане доступных провайдеров - помимо очевидных облаков, есть и неочевидные СУБД (MySQL и PostreSQL), Github и Gitlab (удобно для тех же интеграторов - можно в коде описать структуру будущих проектов и групп, а потом уже редактировать этот шаблон).
Это из официальных поддерживаемых провайдеров (обычно поддержку осуществляет разработчик продукта - облака, СУБД и так далее ). Есть и third-party провайдеры - например, VirtualBox (https://github.com/terra-farm/terraform-provider-virtualbox), KVM (https://github.com/dmacvicar/terraform-provider-libvirt).
Шпаргалка для всего (языки программирования, прикладное ПО и прочее)
https://overapi.com/
Инженеры Vmware и Microsoft объединились, представив релиз VMware Workstation 15.5, которая может работать совместно с Hyper-V.
Может быть полезно для тех, кто хочет использовать Windows Subsystem for Linux 2 и Vmware Workstation/Player, либо для тех, у кого виртуальные машины в этих средах и он хочет использовать их совместно.
To run Workstation/Player using the Windows Hypervisor APIs, the minimum required Windows 10 version is Windows 10 20H1 build 19041.264. VMware Workstation/Player minimum version is 15.5.5.

https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html
Эмулятор терминала Terminus на стероидах https://github.com/Eugeny/terminus. Есть клиенты под OS X, Linux и Windows. Есть менеджер для SSH-сессий.
Периодическая таблица инструментов DevOps, в которой собраны тулзы для тестирования, аналитики, обеспечения безопасности, непрерывной интеграции, контроля версий и многое другое: https://digital.ai/periodic-table-of-devops-tools Чтобы получить больше информации о каком-то из «элементов», достаточно кликнуть по нему: выпадет окошко с описанием, ссылками на Википедию и официальный сайт.
Я не пользуюсь Google Chrome, пользуюсь Яндекс.Браузером. На ноутбуке с Linux в установленном Яндекс.Браузере не работало видео на Twitch и Кинопоиск. Поискав в интернете, нашел небольшой костылик:
Качаем последний релиз по ссылке https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/
Распаковываем архив
Заменяем файл /opt/yandex/browser-beta/lib/libffmpeg.so файлом из архива