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
AWS: RDS логи, сбор в CloudWatch Logs и CloudFormation

Имеется пачка AWS RDS инстансов с MariaDB. Бекенд-разработчики просят включить им slow-логи, что бы они могли дебажить свои запросы. Задача – включить логи, и добавить их передачу в CloudWatch Logs для дальнейшего анализа. RDS, как и всё остальное, у нас создаётся из CloudFormation шаблона – поэтому будут примеры и с ним. Кроме стандартных general/error/slow логов…

https://rtfm.co.ua/aws-rds-logi-sbor-v-cloudwatch-logs-i-cloudformation/
OpenVPN – автозапуск подключения на Linux

Имеется OpenVNP AS сервер в AWS, и openvnp клиент на Arch Linux (см.OpenVPN: настройка OpenVPN Access Server и AWS VPC peering). Хочется добавить его загрузку и подключение при старте системы. Используем systemd, документация – тут>>>, подходит для любых Linux-систем. Файлы настроек клиента располагаются в /etc/openvpn/client/ (см. WorkingDirectory в содержимом юнит-файла ниже), пока тут пусто: …

https://rtfm.co.ua/openvpn-avtozapusk-podklyucheniya-na-linux/
Linux: LVM – pvcreate Device /dev/sdb4 excluded by a filter.

Во время установкий новой системы при создании Phisical Volume для LVM – вдруг вылезло непонятное сообщение. Виноваты кривые ручки и немного невнимательности – спешил. Создаём новый раздел: Проверяем размер раздела: [root@archiso ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0…

https://rtfm.co.ua/linux-lvm-pvcreate-device-dev-sdb4-excluded-by-a-filter/
Prometheus: мониторинг для RTFM – Grafana, Loki и promtail

После внедрения Loki на рабочем проекте – решил добавить его и себе. А заодно – добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будует заканчиваться место. Обычно “Ссылки по теме” размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,…

https://rtfm.co.ua/prometheus-monitoring-dlya-rtfm-grafana-loki-i-promtail/
Ansible: проверка наличия пакета в системе

Имеется “самописная” Ansible роль letsencrypt. (см. Prometheus: мониторинг для RTFM — Grafana, Loki и promtail). Перед запуском Let’s Encrypt клиента для получения сертификатов – надо проверить, установлен ли в системе NGINX. Используем модуль package_facts: ... - name: "Check if NGINX is installed" package_facts: manager: "auto" ... И затем условную проверку по массиву ansible_facts.packages: ... -…

https://rtfm.co.ua/ansible-proverka-nalichiya-paketa-v-sisteme/
VirtualBox: Nonexistent host networking interface, name ‘wlp13s0’

Копировал каталог ~/VirtualBox VMs с ноута на новый компьютер. После этого при запуске  машины – VirtualBox сообщает об ошибке: Nonexistent host networking interface, name ‘wlp13s0’ (VERR_INTERNAL_ERROR). Result Code: NS_ERROR_FAILURE (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed} Проверяем интерфейсы на новой машине: $ ip a s 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group…

https://rtfm.co.ua/virtualbox-nonexistent-host-networking-interface-name-wlp13s0/
Jenkins: копирование проекта на другой сервер

Имеется старый Jenkins с пачкой iOS джоб, которые надо перенести на новый сервер. Документация предлагает: Move a job from one installation of Jenkins to another by simply copying the corresponding job directory. Т.е. вариант первый, самый простой – просто скопировать всю папку jobs, или вложенных задач. Недостаток (или преимущество, в зависимости от задачи) такого подхода…

https://rtfm.co.ua/jenkins-kopirovanie-proekta-na-drugoj-server/
What is: YAML – общий обзор, типы данных, YAML vs JSON и PyYAML

YAML – один из наиболее популярных форматов… Они сами не знают – форматом чего, на самом деле. Изначально он был «Yet Another Markup Language» – «Ещё один язык разметки», позже стал «YAML Ain’t Markup Language» – «YAML – не язык разметки» ((с) Wiki Rus и Wiki Eng): Originally YAML was said to mean Yet Another Markup…

https://rtfm.co.ua/what-is-yaml-obshhij-obzor-tipy-dannyx-yaml-vs-json-i-pyyaml/
Jenkins: HTTP full-duplex channel timeout

При подключении к Jenkins с помощью Jenkins CLI – оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды – то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: $ java -jar jenkins-cli.jar…

https://rtfm.co.ua/jenkins-http-full-duplex-channel-timeout/
NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux

После новости о том, что Dropbox вводит ограничение на 3 устройства – я таки созрел для установки NextCloud. Огорчил не сам лимит – у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные – придётся платить), сколько вообще введение подобных ограничений.…

https://rtfm.co.ua/nextcloud-ustanovka-servera-na-debian-s-nginx-i-php-fpm-i-klienta-na-arch-linux/
Monit: алерты при SSH логинах на сервер

Задача – отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: Настраиваем отправку почты – задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: ... set mailserver localhost set mail-format { from: Monit subject:…

https://rtfm.co.ua/monit-alerty-pri-ssh-loginax-na-server/
NGINX: access лог – логгирование всех запросов, кроме 200

Задача – логгировать все запросы, кроме 200 ответов. Подход с map можно использовать для совершенно разных вещей. Например – задавать условия по наличию заголовка, и потом перенаправлять на различные location – попозже, наверно, добавлю такой пример. Сейчас нас интересуют две возможности NGINX – “условное логгирование” для выбора условий, при которых будем заносить  события в журнал,…

https://rtfm.co.ua/nginx-access-log-loggirovanie-vsex-zaprosov-krome-200/
TestRail: QA Test Case Management система – установка на Linux

TestRail – Test Case Management Software for QA and Development Teams. Собственно – этого достаточно для описания) Ниже – описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта – www.gurock.com/testrail Документация по установке – тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: …

https://rtfm.co.ua/testrail-qa-test-case-management-sistema-ustanovka-na-linux/
What is: chroot – системный вызов и утилита в Linux

chroot() был добавлен в ядро Linux в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является “аббревиатурой”…

https://rtfm.co.ua/what-is-chroot-sistemnyj-vyzov-i-utilita-v-linux/
English: глаголы и времена в английском языке

Одной из причин, по которой хотелось добавить английскую версию блога было то, что это дало бы хороший повод подтянуть грамматику английского, с которым у меня достаточно большие проблемы. Долго думал – стоит ли заводить такую рубрику в этом блоге, но – в IT без английского никуда, а потому, надеюсь, попытки разобраться с некоторыми нюансами и…

https://rtfm.co.ua/english-glagoly-i-vremena-v-anglijskom-yazyke/
Arch Linux: установка драйверов NVIDIA для GeForce GTX 1050 Ti

Основной целью покупки нового ПК в декабре с NVIDIA 1050 была возможность играть в игры на Linux без необходимости перезагружаться в Windows. Собственно, для этого надо установить драйвера, что бы система начала использовать “проприентарщину” вместо nouveau (хотя, справедливости ради, надо отметить, что на nouveau я и не пробовал запускать игры). После нескольких предыдущих попыток пару…

https://rtfm.co.ua/arch-linux-ustanovka-drajverov-nvidia-dlya-geforce-gtx-1050-ti/
Prometheus” Alertmanager – отправка алертов в “/dev/null”

В дополнение к посту Prometheus: роутинг алертов в Alertmanager. Имеется конфиг с роутами. Задача – вырезать все алерты от Дев-а, и слать в “/dev/null”. Для этого – создаём пустой ресивер: ... receivers: - name: 'blackhole' - name: 'default' slack_configs: - send_resolved: true noscript_link: 'http://dev.monitor.example.world/prometheus/alerts' noscript: '{{ if eq .Status "firing" }}:confused:{{ else }}:dancing_panda:{{ end }}…

https://rtfm.co.ua/prometheus-alertmanager-otpravka-alertov-v-dev-null/
Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска

Есть Jenkins, на котором имеется пачка билдов проекта. Спустя какое-то время – появилось сообщение вида: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Проверяем диск с помощью ncdu, и находим несколько джоб, которые отжирают много места, например: root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/..25G     jobs/APITests... Кучу места занимают логи: root@jenkins-production:/data/jenkins# ls -lh /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log-rw-r--r-- 1 root root 77M Mar  1 12:49 /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log И билдов много, и в каждой хранится такой лог.…

https://rtfm.co.ua/jenkins-your-jenkins-data-directory-is-almost-full-i-avtomaticheskaya-ochistka-diska/
Redis: репликация, часть 1 – обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis.

Изначально планировался один небольшой пост с примером создания Redis-репликации, но по мере углубления в детали – захотелось описать всё больше и больше, а потому разбил материал на две части. В этой, обзорной – общие сведения, разница между различными типами хранения данных в Redis, примеры топологии. Достаточно кратко, но со ссылками на детальную документацию, плюс ссылки…

https://rtfm.co.ua/redis-replikaciya-chast-1-obzor-replication-vs-sharding-sentinel-vs-cluster-topologiya-redis/
Redis: репликация, часть 2 – Master-Slave репликация, и Redis Sentinel

Продолжение поста Redis: репликация, часть 1 – обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Собственно, вся история началась с того, что мы решили избавиться от memcached. На данный момент у нас на серверах запущены и memcahced, и Redis. И memcached, и Redis работают как standalone приложения на разных сервера, т.е. их инстансы никак…

https://rtfm.co.ua/redis-replikaciya-chast-2-master-slave-replikaciya-i-redis-sentinel/