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

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

Linux: постоянное хранение логов в systemd-journald

25 сентября 2019
 

 Имеется AWS EC2, который внезапно перезагрузился. Проблема заключается в том, что файл /var/log/messages неполный, последняя запись в нём — о том, что rsyslog был убит. Но вот кем и как — непонятно. Была надежда увидеть логи в journald, но — сюприз: по умолчанию journald хранит только записи о последней загрузке: [simterm] root@bttrm-stage-console:/home/admin# journalctl —list-boots 0… Читать далее »

Opsgenie: интеграция с Uptrends

24 сентября 2019
 

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

AWS: создание Elastic Container Registry и деплой из Jenkins

23 сентября 2019
 

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

CloudFlare: настройка CDN для AWS S3

20 сентября 2019
 

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

PostgreSQL: FATAL: Peer authentication failed for user «name»

11 сентября 2019
 

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

Prometheus: получить общее количество процессов на сервере и process-exporter

9 сентября 2019
 

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

Redis: основные параметры конфигурации и тюнинг производительности

5 сентября 2019
 

 В процессе настройки Redis  в роли кеширующего сервиса для приложения — набросался такой вот пост. Рассмотрим основные параметры конфигурации Redis, их значения, как они и на что они влияют, и на какие из них стоит обратить внимание. Местами совсем кратко, но везде со ссылками. Начать, пожалуй, стоит с утилиты redis-benchmark. Устанавливается вместе с сами Redis,… Читать далее »

Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM

31 августа 2019
 

 Продолжаем погружение в AWS Elastic Kubernetes Service, EKS. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера Продолжение: Kubernetes: знакомство, часть 5 — RBAC авторизация и примеры… Читать далее »

SonarQube: Unrecoverable indexation failures и Elasticsearch «Disk watermark exceeded»

29 августа 2019
 

 Есть SonarQube, запускается из Jenkins-джоб. См. SonarQube: запуск в Docker и вызов из Jenkins Pipeline. SonarQube из Jenkins запускается, задачи проходят, но в самом SonarQube возникает ошибка: java.lang.IllegalStateException: Unrecoverable indexation failures: 1 errors among 1 requests at org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39) at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:122) … Логи SonarQube: Aug 29 12:30:26 jenkins-production docker-compose[12591]: sonarqube_1  | 2019.08.29 09:30:26 ERROR web[][o.s.s.es.BulkIndexer] index… Читать далее »

Redis: fork — Cannot allocate memory, Linux, виртуальная память и vm.overcommit_memory

27 августа 2019
 

 Cейчас настраиваю Redis как кеширующий сервис приложения, и среди прочего встал вопрос — надо ли включать vm.overcommit_memory в 1, или нет? Вопрос достаточно старый, см. История, но вот докопаться до сути, упорядочить и привести в читабельный вид удалось только сейчас. Проблема заключается в том, что официальная документация и практически все гайды/HowTo-шки по Redis достаточно легкомысленно… Читать далее »