Updates rtfm.co.ua 🇺🇦 – Telegram
Updates rtfm.co.ua 🇺🇦
726 subscribers
35 photos
457 links
Канал @rtfm - новые посты на https://rtfm.co.ua.
Обсуждения - группа @rtfmco https://t.me./rtfmco
Download Telegram
Prometheus: получить общее количество процессов на сервере и process-exporter

Начали у нас на бекенде размножаться процессы. Прочина сейчас не важна, интересно другое: захотелось собирать метрики по общему количеству процессов на хостах, но, внезапно – node-exporter такого не умеет: у него есть только метрики node_procs_running и node_procs_blocked, а хочется видеть количество процессов и в Sleep, и в Zombie. Используем вместо него process-exporter. Запускаем для проверки…

https://rtfm.co.ua/prometheus-poluchit-obshhee-kolichestvo-processov-na-servere-i-process-exporter/
PostgreSQL: FATAL: Peer authentication failed for user “name”

Небольшая заметка “для себя” по настройке удалённого доступа и дампам в PostgreSQL. Переехал к нам ЕС2 с другого аккаунта с одним из сайтов. При попытке подключиться к PostgreSQL, который работает на этой машинке – получаем ошибку “FATAL: Peer authentication failed for user “name”“. Причём и при подключении локально – и удалённо. PostgreSQL remote login enable…

https://rtfm.co.ua/postgresql-fatal-peer-authentication-failed-for-user-name/
Поездка на Bali, Indonesia – фото

18-го сентября вернулся с поездки на Бали, Индонезия. Так получилось, что это во-первых была моя первая поездка за границу, во-вторых – первый полёт самолётом. Бали очень понравился. Религиозность там везде: в каждом доме есть мини-храм для подношений богам, у каждого клана свои храмы, побольше. Ну и целые храмовые комплексы. Интересное дорожное движение: правила там вроде…

https://rtfm.co.ua/poezdka-na-bali-indonesia-foto/
CloudFlare: настройка CDN для AWS S3

Требуется создать хостинг статического сайта, используя AWS S3 и подключить к нему CloudFlare CDN. Создание AWS S3 корзины Создаём корзину с тем же именем, что и домен, в нашем случае это cdn.example.com: В Properties включаем хостинг сайта: Переходим в Permissions, в Bucket Policy включаем полный доступ к корзине: { "Version": "2012-10-17", "Id": "MyPolicy", "Statement": […

https://rtfm.co.ua/cloudflare-nastrojka-cdn-dlya-aws-s3/
AWS: создание Elastic Container Registry и деплой из Jenkins

Задача: создать AWS ECR репозиторий для образов проекта, и добавить джобу в Jenkins, которая будет собирать образы, и загружать их в этот репозиторий. AWS ECR Переходим в ECR, жмём Get Started, выбираем имя нового репозитория: Оставляем по умолчанию Mutable, т.е. можно будет залить образ с тем же тегом, если он уже есть в репозитории. Репозиторий…

https://rtfm.co.ua/aws-sozdanie-elastic-container-registry-i-deploj-iz-jenkins/
Opsgenie: интеграция с Uptrends

Uptrends – простая мониторилка-пинговалка, давно использую для RTFM (см. Решил добавить её как последний рубеж для уведомлений о проблемах с рабочими ендпоинтами, а заодно – прикрутить интеграцию с OpsGenie, через который мы получаем уведомления на мобильные, см. Prometheus: OpsGenie и Alertmanager — уведомления в почту/SMS/телефон. Интеграция крайне простая – OpsGenie создаёт почтовый ящик, на который…

https://rtfm.co.ua/opsgenie-integraciya-s-uptrends/
Linux: постоянное хранение логов в systemd-journald

Имеется AWS EC2, который внезапно перезагрузился. Проблема заключается в том, что файл /var/log/messages неполный, последняя запись в нём – о том, что rsyslog был убит. Но вот кем и как – непонятно. Была надежда увидеть логи в journald, но – сюприз: по умолчанию journald хранит только записи о последней загрузке: root@bttrm-stage-console:/home/admin# journalctl --list-boots0 f527010076a141c5917496c6aa03438a Tue 2019-09-24 12:13:02 EEST—Tue 2019-09-24 17:48:44 EEST Собственно, надо включить хранение…

https://rtfm.co.ua/linux-postoyannoe-xranenie-logov-v-systemd-journald/
Jenkins: деплой Docker Compose из Ansible и ECR авторизация

В продолжение поста AWS: создание Elastic Container Registry и деплой из Jenkins, в котором создали джобу для билда Docker-образов и их пуша в AWS ECR – теперь надо создать джобу в Jenkins для деплоя и запуска одного Docker-контейнера. Запускать будем через Docker Compose, в котором Ansible будет задавать требуемую версию из параметров Jenkins-джобы. Для того, что…

https://rtfm.co.ua/jenkins-deploj-docker-compose-iz-ansible-i-ecr-avtorizaciya/
AWS: очистить кеш CloudFront

Имеется картинка в AWS S3, которую перезалили, но CloudFront отдаёт её старый вариант. Что бы удалить её из кеша CloudFront – необходимо выполнить invalidation объекта. Создать его можно из веб-панели, либо с помощью AWS CLI. В веб-панели переходим в нужную дистрибьюцию, добавлем Invalidation: И чистим кеш для всех картинок: Либо – добавляем invalidation с помощью…

https://rtfm.co.ua/aws-ochistit-kesh-cloudfront/
Okta: настройка SSO для Gmail и Slack

Okta – сервис, предоставляющий среди прочих услугу Single Sign On. Есть желание перенести всех юзеров в Okta, потому что менеджить их доступы по одному – неудобно. Задача – добавить авторизацию в Gmail и Slack через Okta. Okta Gmail app Регистрируем аккаунт, переходим в Get started, в поле Use single sign on жмём Add app: Находим…

https://rtfm.co.ua/okta-nastrojka-sso-dlya-gmail-i-slack/
Okta: настройка своего домена

Для Okta можно настроить собственный домен, который будет в дальнейшем использоваться для настройки аутентификации. Единсвенный нюанс – это то, что сам плагин Okta не поддерживает работу с custom domain, см. документацию. Настройка custom domain Переходим в Settings > Customization: Пролистываем вниз, до Custom URL Domain: Кликаем Get Started, указываем домен, в данном случае okta.example.com: Okta…

https://rtfm.co.ua/okta-nastrojka-svoego-domena/
Debian: не срабатывает logrotate – unknown group ‘syslog’

Имеется AWS EC2 с Debian с logrotate. Закончилось место на корневом разделе, начали искать причину, обнаружилось, что накопились файлы вида /var/log/syslog.N.gz. При этом по-умолчанию logrotate создаёт файл настроек для syslog: root@monitoring-dev:~# cat /etc/logrotate.d/syslogAnsible managed/var/log/syslog {size 10Mrotate 1daily...} Т.е. должен оставаться syslog + syslog.1, а вместо этого имеем: root@monitoring-dev:~# ll /var/log/ | grep syslog-rw-r----- 1 root        adm      11925 Oct  9 09:26 syslog-rw-r----- 1 root        adm     361150 Oct  9 06:25 syslog.1-rw-r----- 1 root        adm       7712 Oct  8 06:25 syslog.2.gz-rw-r----- 1 root        adm       7562 Oct  7 06:25 syslog.3.gz-rw-r----- 1 root        adm       7832 Oct  6 06:25 syslog.4.gz-rw-r----- 1 root        adm       7720 Oct  5 06:25 syslog.5.gz-rw-r----- 1 root        adm       7641 Oct  4 06:25 syslog.6.gz-rw-r----- 1 root        adm       8072 Oct  3 06:25 syslog.7.gz Проверяем – запускаем logrotate с --debug: root@monitoring-dev:~# logrotate -d /etc/logrotate.confreading config file /etc/logrotate.conferror: /etc/logrotate.conf:5 unknown group 'syslog'removing last 0 log configs unknown group ‘syslog’ Собственно – вот и…

https://rtfm.co.ua/debian-ne-srabatyvaet-logrotate-unknown-group-syslog/
Vertica: установка и запуск на AWS EC2

Vertica – сервер баз данных для аналитиков, рассчитанный на большие объёмы данных. Задача на сейчас – запустить Proof of Concept инстанс Vertica на AWS EC2, что бы посмотреть как она вообще сетапится и дать потестить дата-аналитикам. Обладает достаточно неплохой документацией. AWS Проверяем список инстансов, на которых можно запустить Vertica тут>>>. Находим AMI: Используем минимальный инстанс…

https://rtfm.co.ua/vertica-ustanovka-i-zapusk-na-aws-ec2/
Jenkins: SAML Authentication через Okta и группы пользователей

SAML – Secure Assertion Markup Language. – используется для распределённой авторизации (federated authentication), когда сервис, к которому требуется получить доступ (Service Provider), обращается к другому сервису (Identity Provider) для того, что бы выполнить эту авторизацию. См. документацию тут>>>. Service Provider (SP): система, в которой требуется аутентифиция, в нашем случае это будет Jenkins Identity Provider (idP): система,…

https://rtfm.co.ua/jenkins-saml-authentication-cherez-okta-i-gruppy-polzovatelej/
OpenVPN: ошибки No route to host и ERR_ADDRESS_UNREACHABLE – причина и решение

Имеется OpenVPN сервер. Его установка и настройка описаны в постах OpenVPN: настройка OpenVPN Access Server и AWS VPC peering: OpenVPN сервер расположен в одной AWS VPC, Bitwarden – в другой. Между этими VPC поднят VPC Peering, и OpenVPN должен роутить трафик между клиентом и Bitwarden. Проблема в том, что при доступе к Bitwarden (см. Bitwarden:…

https://rtfm.co.ua/openvpn-oshibki-no-route-to-host-i-err_address_unreachable-prichina-i-reshenie/
Jenkins: SAML, Okta, группы пользователей и Role-Based Security

В продолжение поста Jenkins: SAML Authentication через Okta SSO и группы пользователей – настройка Role-Based Security авторизации в Jenkins, используя группы Okta. Настройка Role-Based Security плагина Устанавливаем плагин Role-based Authorization Strategy: Переходим в Configure Global Security, переключаем авторизацию на Role-Based Strategy: Переходим в Manage and Assign Roles: Создание ролей – Global roles Роли делятся на…

https://rtfm.co.ua/jenkins-saml-okta-gruppy-polzovatelej-i-role-based-security/
AWS: Redshift – быстрый запуск кластера и подключение из SQL-workbench

Наши дата-аналитики наконец-то решились потрогать AWS Redshift вместо MariaDB RDS. Соответственно задача – поднять Proof of Concept кластер Redshift в AWS. Сейчас сделаем быстро, без вникания и рассмотрения деталей, если решение таки пойдёт в Production – то поразбираемся с нюансами. На данный момент нас интересует только выбор типа нод для кластера – Dense Storage или…

https://rtfm.co.ua/aws-redshift-bystryj-zapusk-klastera-i-podklyuchenie-iz-sql-workbench/
Github: SAML Okta – настройка SSO в Github Enterprise Cloud – Organization

В продолжение темы SSO, Okta и SAML. Для Jenkins всё сделано (см. Jenkins: SAML, Okta, группы пользователей и Role-Based Security) – теперь пришёл черёд Github. Идея та же: в Okta держим список пользователей, при логине в Github (наш Service provider, SP) – он должен запросить авторизацию у нашего Identity Provider, IDP – Okta, используя SAML.…

https://rtfm.co.ua/github-saml-okta-nastrojka-sso-v-github-enterprise-cloud-organization/
Okta: интеграция с G-Suite – provisioning, импорт и экспорт пользователей

Продолжаем настраивать Okta для нашего проекта. Этот пост – участник конкурса Ukrainian DevOps Community – UkrOps. Крайне рекомендую присоединяться – очень уютный чатик, очень хорошие люди. Предыдущие посты серии: Okta: настройка SSO для Gmail и Slack Jenkins: SAML Authentication через Okta SSO и группы пользователей Jenkins: SAML, Okta, группы пользователей и Role-Based Security Github: SAML…

https://rtfm.co.ua/okta-integraciya-s-g-suite-provisioning-import-i-eksport-polzovatelej/
Книги

Решил начать собирать в одном месте наиболее интересные книги из моей библиотеки. По категориям, с небольшими комментариями, не все сразу, буду добавлять. Практически все есть в PDF/EPUB, при необходимости можно связаться через группу в Телеграм или форму контактов тут>>>, а в комментариях к этой странице – предлагать и обсуждать книги, которые я упустил. Linux Daniel…

https://rtfm.co.ua/knigi/
dnsmasq: ошибки в AWS – “Temporary failure in name resolution”, логи, дебаг и размер кеша

При использовании AWS VPC периодически сталкиваемся с ошибками вида “php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution“. Единственный совет от тех. поддержки AWS заключался в установке dnsmasq в роли кеширующего сервиса, но он уже давно установлен – а проблема раз в несколько месяцев проявляется снова. Хотя пост не о том, но из возможных причин пока…

https://rtfm.co.ua/dnsmasq-oshibki-v-aws-temporary-failure-in-name-resolution-logi-debag-i-razmer-kesha/