Онлайн Jinja-парсер. Пригодится, если нужно быстро написать и проверить шаблон
https://j2live.ttl255.com/
https://j2live.ttl255.com/
Ttl255
TTL255 J2Live - Live Jinja2 Parser
Online Jinja2 parser and renderer providing live results for Jinja template rendering.
https://kodekloud.com/ ( внимание, английский! )
Курсы, построенные по схеме - лекция, практика и тесты.
Можно выбрать курсы, в рамках которых вы будете развиваться (зависит от подписки).
Плюс есть дополнительная программа, https://kodekloud.com/p/kodekloud-engineer, где, по заверениям авторов, можно пройти путь сисадмина, DevOps-инженера и DevOps-архитектора на реальных проектах, задачах, сценариях и системах.
Курсы, построенные по схеме - лекция, практика и тесты.
Можно выбрать курсы, в рамках которых вы будете развиваться (зависит от подписки).
Плюс есть дополнительная программа, https://kodekloud.com/p/kodekloud-engineer, где, по заверениям авторов, можно пройти путь сисадмина, DevOps-инженера и DevOps-архитектора на реальных проектах, задачах, сценариях и системах.
Kodekloud
The Best DevOps Online Training Courses | KodeKloud
KodeKloud is the #1 DevOps course provider and helps students learn trending technologies they need to thrive in their career. Learn more about KodeKloud!
Community-provider для Terraform.
Умеет базовые штуки, если ваши проекты в Sentry не слишком сложные, то это идеальное решение для вас.
https://github.com/jianyuan/terraform-provider-sentry
Умеет базовые штуки, если ваши проекты в Sentry не слишком сложные, то это идеальное решение для вас.
https://github.com/jianyuan/terraform-provider-sentry
GitHub
GitHub - jianyuan/terraform-provider-sentry: Terraform provider for Sentry
Terraform provider for Sentry. Contribute to jianyuan/terraform-provider-sentry development by creating an account on GitHub.
Площадка с интерактивными демонстрациями уязвимостей из OWASP Top 10
https://application.security/free-application-security-training
https://application.security/free-application-security-training
Kontra
Application Security Training For Developers | Kontra
Kontra is an Application Security Training platform built for modern development teams.
Если вы обновляете Nexus с версии 3.24.0, будьте предельно аккуратны.
В версии 3.26.0 обновился веб-сервер Jetty и из-за этого изменилось описание класса
Для этого есть вот такой workaround:
Change below line inside of ${jetty.etc}/jetty-https.xml (add "$Server")
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory$Server">
```
https://issues.sonatype.org/browse/NEXUS-24867
Имхо, как-то странно в современном мире обновляться и с ходе обновления выяснять, что сервис не поднялся и лезть в баг-трекер.
P.S. Случайно выяснилось, что blob store в Nexus слабо связаны с файлами конфигурацией и БД, поэтому можно взять и обновится на последнюю версию (а она обновляет схему БД и обычный даунгрейд через понижение версии образа уже не пройдет) и если что-то пойдет не так, то восстановить конфиги и схему БД из резерной копии, а потом уже запускаться со старой версии.
P.P.S. Использую Nexus в docker.
В версии 3.26.0 обновился веб-сервер Jetty и из-за этого изменилось описание класса
SslContextFactory.Для этого есть вот такой workaround:
Change below line inside of ${jetty.etc}/jetty-https.xml (add "$Server")
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
to
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory$Server">
```
https://issues.sonatype.org/browse/NEXUS-24867
Имхо, как-то странно в современном мире обновляться и с ходе обновления выяснять, что сервис не поднялся и лезть в баг-трекер.
P.S. Случайно выяснилось, что blob store в Nexus слабо связаны с файлами конфигурацией и БД, поэтому можно взять и обновится на последнюю версию (а она обновляет схему БД и обычный даунгрейд через понижение версии образа уже не пройдет) и если что-то пойдет не так, то восстановить конфиги и схему БД из резерной копии, а потом уже запускаться со старой версии.
P.P.S. Использую Nexus в docker.
Рекурсивная замена текста с использованием grep и sed
grep 'your_pattern' .* -rl | xargs sed -i 's/old_pattern/new_pattern/g'PostgreSQL: лаги репликации. Почему они возникают, как провести диагностику проблемы и как её решить.
https://habr.com/ru/company/oleg-bunin/blog/414111/
https://severalnines.com/database-blog/what-look-if-your-postgresql-replication-lagging
https://postgrespro.ru/docs/postgresql/11/monitoring-stats
https://habr.com/ru/company/oleg-bunin/blog/414111/
https://severalnines.com/database-blog/what-look-if-your-postgresql-replication-lagging
https://postgrespro.ru/docs/postgresql/11/monitoring-stats
Хабр
Отладка и устранение проблем в PostgreSQL Streaming Replication
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич PostgreSQL и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации....
Активация прометеус-экспортера в haproxy и настройка Prometheus для сбора метрик
https://www.haproxy.com/blog/haproxy-exposes-a-prometheus-metrics-endpoint/
https://www.haproxy.com/blog/haproxy-exposes-a-prometheus-metrics-endpoint/
HAProxy Technologies
HAProxy Exposes a Prometheus Metrics Endpoint
In this blog, we’ll explain how to set up the metrics endpoint, how to configure Prometheus to scrape it and offer guidance on graphing and alerting the data.
Давно не трогал инструменты для секурити.
Оказывается OWASP ZAP научился в Docker и его можно в разных режимах запустить (CLI, web и прочее) + есть Github Actions
https://www.zaproxy.org/docs/docker/about/
https://www.zaproxy.org/docs/docker/webswing/
Оказывается OWASP ZAP научился в Docker и его можно в разных режимах запустить (CLI, web и прочее) + есть Github Actions
https://www.zaproxy.org/docs/docker/about/
https://www.zaproxy.org/docs/docker/webswing/
www.zaproxy.org
ZAP – ZAP Docker User Guide
The world’s most widely used web app scanner. Free and open source. ZAP is a community project actively maintained by a dedicated international team, and a GitHub Top 1000 project.
container-commandos.pdf
26.1 MB
Раскраска Container Commandos 😎
Смотрим список процессов и аптайм в PM2
https://futurestud.io/tutorials/pm2-list-processes-and-show-process-details
https://futurestud.io/tutorials/pm2-list-processes-and-show-process-details
futurestud.io
PM2 — List Processes and Show Process Details
Future Studio provides on-demand learning & wants you to become a better Android (Retrofit, Gson, Glide, Picasso) and Node.js/hapi developer!
https://about.gitlab.com/releases/2020/12/22/gitlab-13-7-released/
Из интересного -
То есть теперь при ручном запуске пайплайна будет предварительный список переменных со стандартными значениями.
Из интересного -
Pre-filled variables when running pipelines manuallyТо есть теперь при ручном запуске пайплайна будет предварительный список переменных со стандартными значениями.
GitLab
GitLab 13.7 released with merge request reviewers and automatic rollback upon failure
GitLab 13.7 released with merge request reviewers, automatic rollback in case of failure, quick action to clone issues, GitLab Runner container on OpenShift, and much more!
На протяжении нескольких недель пришлось плотно поработать с redis.
В результате скопилось несколько заметок, которые могут быть полезными.
Часть 0. Основы работы с Redis
Подключение (в случае с локальным Redis)
https://redis.io/commands/select
https://redis.io/commands/info
https://redis.io/commands/keys
https://redis.io/commands/scan
https://redis.io/commands/type
https://redis.io/commands/get
https://redis.io/commands/smembers
https://redis.io/commands/hgetall
https://redis.io/commands/lrange
https://redis.io/commands/del
https://redis.io/commands/ttl
В результате скопилось несколько заметок, которые могут быть полезными.
Часть 0. Основы работы с Redis
Подключение (в случае с локальным Redis)
redis-cliПодключение к удаленному Redis
redis-cli -h hostname/ip -p portПо умолчанию redis-cli работает с БД с индексом 0. Подключиться к другому индексу можно с помощью команды
redis-cli -n indexлибо если вы уже вошли в CLI Redis
SELECT indexПолучение информации о всех индексах в БД и количестве ключей:
INFO keyspaceПолучение значения всех ключей в БД (АХТУНГ!!! НИКОГДА НЕ ИСПОЛЬЗОВАТЬ ЭТО В ПРОДЕ. При выводе большого количества ключей в Redis может значительно упасть производительность).
KEYS *# ИЛИ
KEYS key:*Вместо KEYS лучше использовать SCAN
SCAN 0 MATCH *pattern*Узнать тип ключа
TYPE keyПолучить значение ключа типа string
GET keyПолучить значение ключа типа set
SMEMBERS keyПолучить все поля и их значения для ключа типа hash
HGETALL keyПолучить значение ключа типа list (start - номер первого элемента, stop - последнего)
LRANGE key start stopУдалить ключ
DEL keyУзнать срок жизни ключа в секундах
TTL keyПолезные ссылки:
https://redis.io/commands/select
https://redis.io/commands/info
https://redis.io/commands/keys
https://redis.io/commands/scan
https://redis.io/commands/type
https://redis.io/commands/get
https://redis.io/commands/smembers
https://redis.io/commands/hgetall
https://redis.io/commands/lrange
https://redis.io/commands/del
https://redis.io/commands/ttl
Часть 1. Диагностика Redis
Проблемы с производительностью можно определить с помощью команды
Периодически может ещё проявляться такая проблема, но с ней может справиться сам Redis
Проблемы с производительностью можно определить с помощью команды
MEMORY DOCTOR (команда вводится в Redis CLI).MEMORY DOCTOR
Если нет проблем с памятью, то получим следующее сообщение:Hi Sam, I can't find any memory issue in your instance. I can only account for what occurs on this base.
Проблемы, с которыми пришлось столкнуться ранее:Sam, I detected a few issues in this Redis instance memory implants:
* High total RSS: This instance has a memory fragmentation and RSS overhead greater than 1.4 (this means that the Resident Set Size of the Redis process is much larger than the sum of the logical allocations Redis performed). This problem is usually due either to a large peak memory (check if there is a peak memory entry above in the report) or may result from a workload that causes the allocator to fragment memory a lot. If the problem is a large peak memory, then there is no issue. Otherwise, make sure you are using the Jemalloc allocator and not the default libc malloc. Note: The currently used allocator is "jemalloc-5.1.0".
* High allocator fragmentation: This instance has an allocator external fragmentation greater than 1.1. This problem is usually due either to a large peak memory (check if there is a peak memory entry above in the report) or may result from a workload that causes the allocator to fragment memory a lot. You can try enabling 'activedefrag' config option.
I'm here to keep you safe, Sam. I want to help you.
Первая проблема решается включением аллокатора памяти jemalloc-5.1.0 (у нас он уже включен). Вторая - включением опции activedefrag.Периодически может ещё проявляться такая проблема, но с ней может справиться сам Redis
Sam, I detected a few issues in this Redis instance memory implants:Как видно из проблем выше, Redis сам предлагает решение проблемы.
* Peak memory: In the past this instance used more than 150% the memory that is currently using. The allocator is normally not able to release memory after a peak, so you can expect to see a big fragmentation ratio, however this is actually harmless and is only due to the memory peak, and if the Redis instance Resident Set Size (RSS) is currently bigger than expected, the memory will be used as soon as you fill the Redis instance with more data. If the memory peak was only occasional and you want to try to reclaim memory, please try the MEMORY PURGE command, otherwise the only other option is to shutdown and restart the instance.
I'm here to keep you safe, Sam. I want to help you.