Category Archives: HOWTO’s

Вопросы, касаюшиеся установки и настройки различных приложений.

Linux: ncdu и pydf – отображение информации о занятом/свободном месте на дисках

16 January 2019
 

 NCDU NCDU – утилита для отображения занятого и свободного места на дисках, аналог du и df. Аббревиатура NCDU расшифровывается как NCurse Disk Usage, и, очевидно, использует библиотеку ncurses для отображения данных. Установка на Arch – с помощью pacman: Debian/Ubuntu: Запускаем: После проверки данных – ncdu выведет окно с данными по дискам и каталогам: По каталогам можно… Read More »

Linux: проверка диска на bad blocks

14 January 2019
 

 Имеется у нас билд-агент для Jenkins, запущен на Ubuntu 16. Периодически при загрузке машина подвисает сразу после запуска GRUB. Один из вариантов поиска проблемы – проверить диск на предмет наличия битых секторов. Для этого можно использовать утилиты badblocks из набора e2fsprogs, и smartctl из набора smartmontools. badblocks Проверяем диски на этой машине: /dev/sda2 – /boot-раздел,… Read More »

Linux: сделать скриншот на удалённой машине по SSH

9 January 2019
 

 Есть Jenkins билд-агент на Ubuntu, запущенный на машинке, которая стоит в офисе, мониторы от неё висят на стенке и отображают результаты билдов (см. Build Monitor Plugin). Задача – сделать скриншот экрана, не бегая в другой конец комнаты к клавиатуре. Устанавливаем imagemagick: Создаём скриншот, используя import: Копируем файлик на свою машинку: Проверяем: Готово.

AWS RDS: PDOException: SQLSTATE[08004] [1040] Too many connections

26 December 2018
 

 В Sentry начали сыпаться ошибки вида: PDOException: SQLSTATE[08004] [1040] Too many connections in /data/projects/project/vendor/yiisoft/yii2/db/Connection.php:687 Stack trace: #0 /data/projects/project/vendor/yiisoft/yii2/db/Connection.php(687): PDO->__construct(‘mysql:host=stag…’, ‘user’, ‘pass’, NULL) Для всех инстансов RDS MariaDB максимальное кол-во подключений считается по формуле {DBInstanceClassMemory/12582880}. Т.е. в нашем случае это тип db.m4.xlarge с 16ГБ памяти, следовательно: Для указания значения лимита используется переменная max_connections: Проверяем значение напрямую на сервере: Ну… Read More »

Linux: добавить swap-file

25 December 2018
 

 На AWS EC2 AMI-образ Debian 9 идёт без активного swap. При желании и необходимости – его можно легко добавить самому. Создаём файл: Задаём права доступа: Выполняем mkswap: Включаем swap: Проверяем его: Что бы увеличить размер файла подскачки – достаточно его отключить, и увеличить размер самого файла, например с помощью dd. Отключаем swap: Добавляем 1 гигабайт… Read More »

Appium: Android Virtual Device, Original error: Condition unmet after 60159 ms и костыль

6 December 2018
 

 Проблема: UI-тесты, запускаемые с помощью Appium, падают. Задача: найти причину, и пофиксить. Что бы воспроизвести проблему –  установили Android Studio на рабочую машинку и создали устройство. Теперь – можно настроить “тестовый тест”, а потом попробовать запустить наши реальные тесты. Забегая наперёд – проблема была найдена, но решения не нашёл, потому пришлось костылить в Jenkins-джобе. Сама проблема на… Read More »

RabbitMQ: примеры rabbitmqctl, rabbitmqadmin и хранение сообщений при рестарте сервера

5 December 2018
 

 Задача – запустить RabbitMQ сервер и создать сообщение, но таким образом, что бы оно сохранилось при рестарте сервера. Документация по хранению данных – тут>>>. В частности, в ней указано, что на диск будут сохранены любые типы сообщений, если RabbitMQ начинает особождать память (см. Memory Alarms), но нам требуется, что бы сообщения всегда синхронизировались в базу на… Read More »

AWS: CloudFormation – S3 корзина для логов Application Load Balancer

27 November 2018
 

 Имеется уже созданный стек с Application Load Balancer, для которого требуется включить сбор логов в S3 корзину. Общая документация – тут>>>. CloudFormation стек и ресурсы уже созданы, поэтому тут просто пример добавления необходимых параметров и новых ресурсов для включения логгирования запросов балансировщика. Запуск CloudFormation выполняется из Ansible с помощью модуля cloudformation, и значения параметров будут заданы… Read More »

OpenVAS: установка, запуск

24 November 2018
 

 OpenVAS – сканер уязвимостей систем. Имеет свою базу данных CVE, используя которую проверяет системы на их наличие. Как обычно – ссылка на документацию на Arch Wiki. Установка достаточно тривиальна, как и первый запуск проверок с дефолтными настройками. Пост чисто обзорный, без описания детальных настроек – может потом доберусь до них, когда время будет, и если… Read More »

Android Studio: установка на Linux и работа с Android Virtual Devices

21 November 2018
 

 Есть у нас UI-автотесты, которые немного поломались – надо пофиксить, заодно появился повод вообще с ними разобраться. Для тестирования используется Android Virtual Device и эмулятор из Android Studio. В этом посте – установка студии и создание такого устройства, в следующем – запуск Appium тестов на нём. Установка и запуск выполняются на Arch Linux, но процесс не специфичен для… Read More »