Найти тему
Как стать DevOps (часть 2)
А что нужно уметь? Чтобы стать девопсом👨‍💻, тебе понадобятся следующие навыки🛠: - Принципы разработки ПО: понимание основ и теории, нужно понимать что делают разрабы в своей IDE, Еще могу посоветовать изучить еще такие вещи как - Семантическое версионирование(release-it в CI использую), Соглашение о коммитах и методологию приложения двенадцати факторов. - Инструменты автоматизации: как минимум тебе надо знать, что происходит под капотом у гита, изучи GitlabCI - я считаю что это самое лучше...
6 месяцев назад
Как стать DevOps (часть 1)
🚀DevOps — это не просто модное слово, а целая философия в разработке программного обеспечения. Я вообще убежден, что в странах СНГ понятие DevOps как специалиста и его обязанностях очень сильно извращено - бизнес в большинстве своем считает что это "Админ на стероидах", или чувак который причесывает деплой. Я всегда старался продвигать "культуру как культ", что бы заострить внимание на том, что DevOps не просто "мальчик который настроит CI". Это больше - это как архитектор, идеолог, он снимает...
6 месяцев назад
Logstash и rsyslog
Интересный баг обнаружил при настройки отправки логов на rsyslog сервер при помощи logstash. Я указываю в настройках facility => "local3" однако сообщения приходят на сервер и попадают в /var/log/syslog, хотя у меня настроено что бы local3 попадал в другой каталог. Как оказалось есть баг на который даже issue в github имеется: Then on the remote rsyslog server I've noticed that the logs are send with severity 3. If I want them to be send to remote server as local5 then I need to configure logstash with facility == "local7"...
6 месяцев назад
В последние недели большую часть времени мне приходится заниматься мониторингом PostgreSQL. Типичные болевые точки:  - Запросы выполняются долго  - Код написан не нами, и переписывем "по возможности" Куда смотреть понимания нет, поэтому хотел бы рассказать о своем опыте, и том минимуме который стоит замониторить. В первую очередь необходимо мониторить кол-во соединений к БД, как активных, так и idle. Общее кол-во соединений в целом можно и через кол-во процессов мониторить, а активные через представление pg_stat_database. Через это же представление мониторим кол-во записей по типам(тут могу немного ошибаться в терминологии, или не правильно выразиться, но речь идет о tuples), кол-во commit rollback операций.   Эти метрики позволят нам оценить как минимум нагрузку и кол-во операций в БД, так же понадобятся в сравнительном анализе(при выполнении определенных изменений в конфигурации, в рамках нескольких итераций отследить например кол-во операций и сопоставить с остальными матриками) Следующим показателем у нас будут блокировки по типам, эти данные берем из pg_locks, по этим метрикам больше вопросов будет к разработчикам, в плане оптимизации запросов с целью избегания блокировок. И последним будет представление pg_stat_statements, из которого мы берем информацию о кол-ве промахов мимо кэша или work_mem например - это прям явные сигналы к тому что необходимо оптимизировать те или иные параметры в postgresql.conf И чуть не забыл - это представление pg_stat_all_tables из которого можно получить информацию о кол-ве последовательных сканирований и сканирований таблице по индексу, тоже очень важный параметр на который стоит заострять внимание разработчиков(или DBA если они у Вас есть. Хотя если они у Вас есть - представленная мною информация не очень пригодится, т.к. они и так лучше меня знают что надо делать и куда смотреть) --- Подписывайтесь на наш телеграм канал, в котором можно узнать все самое интересное первым - t.me/...ins
6 месяцев назад