Prometheus: node_exporter – мониторинг supervisord

25 October 2018
 

 Задача – мониторить статус supervisor и его задач. Используем node_exporter и его supervisord коллектор. Настройка supervisor Настраиваем сам supervisor – в конфиге /etc/supervisor/supervisord.conf, добавляем [inet_http_server]: … [inet_http_server] port = 127.0.0.1:9001 … Перезапускаем supervisor: Проверяем статус: Настройка node_exporter Проверяем node_exporter – запускаем пока вручную. Указываем ему –collector.supervisord и URL – –collector.supervisord.url=”http://localhost:9001/RPC2″: ОК, работает. Теперь добавим supervisor коллектор… Read More »

RabbitMQ: использование диска и перенос базы данных

22 October 2018
 

 Около 9 вечера мониторинг сообщил, что на одном из production-серверов забивается место. Причём забивалось оно очень быстро, и за пару часов “скушалось” 3 гига из 8 доступных на root-разделе. Забивался диск в каталоге базы RabbitMQ – /var/lib/rabbitmq/mnesia. Быстрый фикс – перенести его базу на отдельный диск. Создаём новый каталог: Обновляем конфиг реббита /etc/rabbitmq/rabbitmq-env.conf – задаём… Read More »

Linux: увеличение размера раздела без LVM с сохранением данных на ext4

20 October 2018
 

 Емеется EC2, на котором был увеличен EBS диск с 8 до 16 гиг. Задача – увеличить размер раздела на диске, при этом сохранив данные. Проблема в том, что на диске уже создан раздел, и этот раздел – фиксированный, и он не LVM: Система в примерах ниже – Debian 9, но пример подходит для любой Linux-системы.… Read More »

AWS: EC2 – ошибка “cannot open access to console”, инстансы T2 vs R5 и Ansible

19 October 2018
 

 Имеется EC2 типа t2.large, которому через CloudFormation был изменён тип на r5.xlarge. К инстансу подключен дополнительный EBS-раздел, который монтируется в /data. Ирония ситуации ещё и в том, что “упал” сервер мониторинга, который должен сообщать о падениях всех остальных серверов 🙂 Contents ПроблемаРешениеПричина и выводыСсылки по теме Проблема После смены типа – он запускается, но зависает… Read More »

Jenkins: задать часовой пояс

18 October 2018
 

 По умолчанию Jenkins использует время по UTC, которое -3 часа от Киева, что, конечно, создаёт путаницу в создании cron-задач и при просмотре логов. Время хоста задано в EEST – но его Jenkins игнорирует. Проверяем текущие настройки на странице https://ci.jenkins.world/systemInfo: В документации приводится несколько вариантов, но в нашем случае заработало через JAVA_OPTS. Jenkins запускается в Docker-контейнере… Read More »

BASH: скрипт бекапа /home с уведомлениями

12 October 2018
 

 Задача – написать скрипт для домашней машинки, что бы создавать бекапы по расписанию используя rsync, с уведомлениями на почту и в трее. Бекапы хранятся на отдельном жестком диске. Описание настройки отправки почты пользователю есть в посте Arch Linux: ssmtp – отправка локальной почты. Ниже – процесс написания такого скрипта с примерами функций. Сам скрипт доступен в… Read More »

Linux: Cannot set LC_CTYPE to default locale: No such file or directory

9 October 2018
 

 На свежустановленной системе забыл настроить локаль, начала возникать ошибка вида: $ locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory C POSIX Редактируем /etc/locale.gen, раскомментируем строку:… Read More »

Linux: polybar – примеры polybar-scripts

8 October 2018
 

 На Github имеется коллекция community-скриптов для polybar. Ниже примеры добавления скриптов для отображения погоды и количества доступных апдейтов на Arch Linux. Клонируем репозитория со скриптами: openweathermap-forecast openweathermap-forecast отображает текущую погоду и прогноз изменений через 3 часа. Регистририуемся на странице https://home.openweathermap.org/api_keys, получаем API KEY. Находим город на странице https://openweathermap.org/find, для Киева это будет https://openweathermap.org/city/703448, и его ID == 703448.… Read More »

Arch Linux: ssmtp – отправка локальной почты

7 October 2018
 

 Хочется иметь уведомления от системы на почту, например статусы cron-задач и тому подобное. Как вариант – использовать ssmtp, и отправлять письма через внешний SMTP. Устанавливаем: Редактируем /etc/ssmtp/ssmtp.conf: mailhub=mail.example.kiev.ua:587 # The full hostname hostname=setevoy-arch-home UseTLS=Yes UseSTARTTLS=Yes AuthUser=user@example.kiev.ua AuthPass=password AuthMethod=LOGIN У ssmtp есть баг со специальными символами – =, ; и # он не воспринимает. Благо, когда… Read More »

Linux: polybar – статус-бар, пример настройки и использования в Openbox вместе с tint2

5 October 2018
 

 С момента установки первого Arch Linux – я пользуюсь Openbox WM и tint2 для отображения панелей. Но tint2, как где-то писали – “Капризна, как школьница“. В целом он отлично работает, но вот трей отрисовывает значки запущенных приложений достаточно криво: Потому, после установки Arch в очередной раз (дома менял диск на SSD, переустанавливал систему) – решил… Read More »