Архив рубрики: HOWTO’s

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

Terraform: пример работы — основные команды, state-файлы, бекенды, модули

25 июня 2018
 

 Пример использования Terraform, его основные команды, работа с бекенда и модулями. Достаточно кратко, но со ссылками на документацию. Устанавливаем на Arch Linux: [simterm] $ sudo pacman -S terraform [/simterm] Для авторизации используем созданный AWS профиль setevoy-root. main.tf Создаём файл main.tf, в котором указываем использование AWS provider, регион, и имя AWS профиля: provider «aws» { region… Читать далее »

Prometheus: CloudWatch exporter — сбор метрик из AWS и графики в Grafana

21 июня 2018
 

 Используем prometheus/cloudwatch_exporter. Клиент написан, внезапно, на Java, из минусов — не умеет экпортировать теги AWS в метки Prometheus (есть альтернативный клиент — technofy/cloudwatch_exporter, который вроде бы умеет). IAM пользователь Для IAM пользователя, доступы которого будет использовать експортёр требуются роли cloudwatch:ListMetrics и cloudwatch:GetMetricStatistics (надо проверить — сработает ли роль CloudWatchAgentServerPolicy, подключенная к EC2, что бы не использовать Access/Secret… Читать далее »

macOS: launchctl — запуск/остановка сервисов на примере Jenkins slave агента

20 июня 2018
 

 Искал аналог systemctl для systemd или service для Upstart, но под macOS, что бы можно было запускать сервис из консоли, нагуглился такой сервис как launchctl, который является частью launchd. Для примера возьмём plist-файл из комментария к посту Jenkins: macOS slave агент через Java Web Start. Другие примеры plist-файлов есть тут>>>., описание ключей — на странице… Читать далее »

Grafana: добавление datasource из Ansible

18 июня 2018
 

 В Grafana 5.0 появилась возможность настраивать её без API, а просто добавляя файлы настроек. Документация тут>>>. Удобно для использования с Ansible etc. Ниже быстрый пример применения. Путь к каталогу задаётся через переменную GF_PATHS_PROVISIONING: t=2018-06-18T13:11:26+0000 lvl=info msg=»Config overridden from Environment variable» logger=settings var=»GF_PATHS_PROVISIONING=/etc/grafana/provisioning» Ручное добавление Протестируем — попробуем добавить datasource вручную. Grafana запущена в контейнере, данные… Читать далее »

AWS: CloudFormation — VPC peering и Fn::ImportValue

13 июня 2018
 

 В продолжение/дополнение постов Prometheus: AWS EC2 service discovery и AWS: настройка VPC peering — пример настройки VPC peering в шаблонах стеков CloudFormation. Идея следующая: создадим стек monitor — он будет имитировать стек мониторинга создадим стек application — он будет имитировать стек приложения application должен будет запросить пиринг с VPC из стека monitor, что бы Prometheus в стеке monitor смог… Читать далее »

AWS: настройка VPC peering

12 июня 2018
 

 VPC peering — соединение между двумя VPC, позволяющее ресурсам в этих сетях обмениваться трафиком, используя приватные IP адреса из подсетей тих VPC, как если бы они были в пределах одной сети. VPC peering может быть установлен между вашими сетями, или между сетями из другого AWS аккаунта. Кроме того — можно создать подключение между VPC в… Читать далее »

Prometheus: AWS EC2 service discovery

11 июня 2018
 

 Для чего нам нужен EC2 service discovery? В первую очередь — что бы избежать необходимости открывать порт на Application Load Balancer и гонять трафик «через мир». Т.е. вместо того, что бы в конфиге Prometheus указывать статичный URL и URI, типа mainhost.domain.tld/metrics, который был бы направлен на AWS ALB, у которого было бы правило форвардить URI /metrics… Читать далее »

Linux: /usr/bin/ps: empty и ldconfig: File /usr/lib/libprocps.so.7 is empty, not checked.

8 июня 2018
 

 После восстановления системы, когда ноутбук выключился от перегрева во время апгрейда (см. Linux: /lib/modules/4.16.13-1-ARCH/modules.devname not found и error: file ‘/grub/i386-pc/normal.mod’ not found) — внезапно вылезла ещё одна проблема. Причём проявилась она совершенно неожиданно: система загружается, браузер, почта и другие программы — работают, и ничего не предвещало ещё одного «нетомного вечера». Вот только я обратил внимание, что… Читать далее »

Prometheus: мониторинг PHP-FPM + Ansible роль

8 июня 2018
 

 Задача — собирать метрики с PHP-FPM /status. Используем lusotycoon/phpfpm-exporter. Кроме этого экспортёра есть bakins/php-fpm-exporter — но контейнер из его Docker образа постоянно возвращает «Empty reply from server«. Есть peakgames/php-fpm-prometheus — но для него нет Docker образа, а собирать свой не хочется. Имеется также hipages/php-fpm_exporter — но с ним возникли ошибки вида «Error scraping PHP-FPM: invalid character ‘A’ looking for beginning… Читать далее »

Linux: /lib/modules/4.16.13-1-ARCH/modules.devname not found и error: file ‘/grub/i386-pc/normal.mod’ not found

7 июня 2018
 

 Наверно это самый страшный сон пользователя — когда комп выключается во время апгрейда системы. Именно это и случилось — во время обновления ноут выключился от перегрева. И всё бы ничего, если бы он не вырубился как раз где-то на моменте сборки нового ядра. В результате — система не грузится, а выдёт сообщение: Warning: /lib/modules/4.16.13-1-ARCH/modules.devname not… Читать далее »