Еще одна интересная вещь на тему #SLO. Стандартизация, это наше всё.
Slo-exporter - это модульный инструмент для потокового вычисления стандартизированных показателей SLI и SLO на основе событий, поступающих из различных источников данных.
Внутренние события фильтруются и нормализуются, классифицируются по доменам и классам SLO, оцениваются как успешные или неудачные, наконец, экспортируются для дополнительных оценки SLO.
Следует принципам из Рабочей тетради SRE.
Модулей на данный момент не так много, можем из коробки взаимодействовать с Envoy, Kafka и разумеется Prometheus. Для всего остального у вас есть tailer для работы с логами, или прочие prometeus exporter, метрики с которых уже можно переварить здесь.
Собственно список имеющихся модулей
Для больших подробностей, смотрите на готовые примеры, там уже и дашборды для графаны даже есть.
Вот еще любопытная обзорная статья про slo-exporter
#SLO #SLA #SRE #prometeus
https://github.com/seznam/slo-exporter
Slo-exporter - это модульный инструмент для потокового вычисления стандартизированных показателей SLI и SLO на основе событий, поступающих из различных источников данных.
Внутренние события фильтруются и нормализуются, классифицируются по доменам и классам SLO, оцениваются как успешные или неудачные, наконец, экспортируются для дополнительных оценки SLO.
Следует принципам из Рабочей тетради SRE.
Модулей на данный момент не так много, можем из коробки взаимодействовать с Envoy, Kafka и разумеется Prometheus. Для всего остального у вас есть tailer для работы с логами, или прочие prometeus exporter, метрики с которых уже можно переварить здесь.
Собственно список имеющихся модулей
Для больших подробностей, смотрите на готовые примеры, там уже и дашборды для графаны даже есть.
Вот еще любопытная обзорная статья про slo-exporter
#SLO #SLA #SRE #prometeus
https://github.com/seznam/slo-exporter
Если вам недостаточно метрик TCP из BlackBox exporter, нужна утилита для профилирования TCP или нужен TCP хелзчекер? Посмотрите на TCPProbe.
TCPProbe - это современный инструмент и сервис TCP для наблюдения за производительностью сети. Он предоставляет информацию о базовом TCP-сеансе сокета, TLS и HTTP (более 60 метрик json и prometheus). А еще в нем есть gRPC.
#tcpprobe #tcp #prometheus #liveness
https://github.com/mehrdadrad/tcpprobe
TCPProbe - это современный инструмент и сервис TCP для наблюдения за производительностью сети. Он предоставляет информацию о базовом TCP-сеансе сокета, TLS и HTTP (более 60 метрик json и prometheus). А еще в нем есть gRPC.
#tcpprobe #tcp #prometheus #liveness
https://github.com/mehrdadrad/tcpprobe
Как то пропустил из виду еще одно решение для долгосрочного хранения метрик Prometheus. В копилку к таким решениям как Cortex, Thanos и VictoriaMetrics добавлю M3 от парней из Uber.
M3 (m3db) - выбор для компаний Cloud Native, желающих расширить свои системы мониторинга на основе Prometheus. M3 может использоваться как удаленное хранилище Prometheus и имеет 100% совместимость с PromQL. Платформа M3 предназначена для создания масштабируемого и настраиваемого многопользовательского хранилища под ключ для Prometheus, Graphite и других стандартных схем метрик. Умеет принимать в себя метрики из InfluxDB.
Изначально M3 был разработан в Uber для обеспечения прозрачности бизнес-операций, микросервисов и инфраструктуры Uber. Благодаря способности легко масштабироваться по горизонтали, M3 предоставляет единое централизованное решение для хранения данных для всех случаев использования мониторинга.
Также имеется Kubernetes Operator
#m3 #m3db #prometheus #cortex #thanos #victoriametrics
https://github.com/m3db/m3
M3 (m3db) - выбор для компаний Cloud Native, желающих расширить свои системы мониторинга на основе Prometheus. M3 может использоваться как удаленное хранилище Prometheus и имеет 100% совместимость с PromQL. Платформа M3 предназначена для создания масштабируемого и настраиваемого многопользовательского хранилища под ключ для Prometheus, Graphite и других стандартных схем метрик. Умеет принимать в себя метрики из InfluxDB.
Изначально M3 был разработан в Uber для обеспечения прозрачности бизнес-операций, микросервисов и инфраструктуры Uber. Благодаря способности легко масштабироваться по горизонтали, M3 предоставляет единое централизованное решение для хранения данных для всех случаев использования мониторинга.
Также имеется Kubernetes Operator
#m3 #m3db #prometheus #cortex #thanos #victoriametrics
https://github.com/m3db/m3
Заметка про то каким способом (плагином) стоит делать статические записи в CoreDNS в зависимости от ситуации.
🔹 Если DNS записей много и используются разные типы записей (PTR SRV MX и т.п.) использовать стоит или файл с базой или плагин records
Список встроенных плагинов
Список сторонних плагинов
🔹 Если DNS записей много и используются разные типы записей (PTR SRV MX и т.п.) использовать стоит или файл с базой или плагин records
example.org {
records {
@ 60 IN MX 10 mx1
mx1 60 IN A 127.0.0.1
}
}
🔹 Если нужны какие-то рерайты используем плагин rewriterewrite name suffix .schmoogle.com. .google.com.🔹 Если нужна шаблонизация и регулярные выражения то используем плагин template
template IN A domain.tld {
match ^(?P<a>[a-zA-Z0-9\-]*)[.]domain[.]tld[.]$
answer "{{ .Name }} 60 IN A 172.0.0.10"
fallthrough
}
🔹 Если нужно банальное сопоставление ip-имя из hosts то используем плагин hosts. {
hosts
}
#coredns #dns #hostsСписок встроенных плагинов
Список сторонних плагинов
DARK - Dashboards As Resources in Kubernetes.
Оператор для Kubernetes позволяющий размещать панели мониторинга Grafana как ресурсы в Kubernetes.
Благодаря DRAK теперь есть возможность деплоить дашборды вместе с сервисом, а тем самым версионировать дашборды вместе с общей спецификацией развертывания.
Дашборды описываются в yaml формате, в комплекте с DARK поставляется утилита для конвертации стандартного JSON дашборда в YAML, так и в манифест для развертывания в Kubernetes.
Интегрируется с Grafana бесшовно и имеется поддержка ArgoCD.
#grafana #kubernetes #k8s #dashboard
https://github.com/K-Phoen/dark
Оператор для Kubernetes позволяющий размещать панели мониторинга Grafana как ресурсы в Kubernetes.
Благодаря DRAK теперь есть возможность деплоить дашборды вместе с сервисом, а тем самым версионировать дашборды вместе с общей спецификацией развертывания.
Дашборды описываются в yaml формате, в комплекте с DARK поставляется утилита для конвертации стандартного JSON дашборда в YAML, так и в манифест для развертывания в Kubernetes.
Интегрируется с Grafana бесшовно и имеется поддержка ArgoCD.
#grafana #kubernetes #k8s #dashboard
https://github.com/K-Phoen/dark
GitHub
GitHub - K-Phoen/dark: (grafana) Dashboards As Resources in Kubernetes
(grafana) Dashboards As Resources in Kubernetes. Contribute to K-Phoen/dark development by creating an account on GitHub.
HelmWave - это инструмент для развертывания ваших Helm чартов через GitOps. HelmWave, это как docker-compose для helm.
Вы сможете развертывать несколько сред за один шаг и определять для каждой свои значения, список компонентов при этом может быть избирательным. Во многом по возможностям выигрывает у своего аналога helmfile.
#helm #k8s #kubernetes #gitops
https://github.com/helmwave/helmwave
Вы сможете развертывать несколько сред за один шаг и определять для каждой свои значения, список компонентов при этом может быть избирательным. Во многом по возможностям выигрывает у своего аналога helmfile.
#helm #k8s #kubernetes #gitops
https://github.com/helmwave/helmwave
GitHub
GitHub - helmwave/helmwave: New 🌊 wave for @helm
New 🌊 wave for @helm. Contribute to helmwave/helmwave development by creating an account on GitHub.
Плагин Molecule Docker позволяет использовать Docker контейнеры для подготовки тестовых ресурсов при запуске тестов Ansible в Molecule.
Штука интересная и весьма спорная, ведь docker контейнер это не полноценная виртуальная машина и подойдет этот плагин не для всех ролей. По этому стоит понимать где это можно использовать. Но если это решение вам подходит - оно несомненно упростит запуск тестов.
Для тех кто в танке, Molecule - это фреймворк, предназначенный для разработки и тестирования ролей в Ansible.
#ansible #molecule #docker
https://github.com/ansible-community/molecule-docker
Штука интересная и весьма спорная, ведь docker контейнер это не полноценная виртуальная машина и подойдет этот плагин не для всех ролей. По этому стоит понимать где это можно использовать. Но если это решение вам подходит - оно несомненно упростит запуск тестов.
Для тех кто в танке, Molecule - это фреймворк, предназначенный для разработки и тестирования ролей в Ansible.
#ansible #molecule #docker
https://github.com/ansible-community/molecule-docker
GitHub
GitHub - ansible-community/molecule-docker: 🚧 Assimilated into molecule-plugins
🚧 Assimilated into molecule-plugins. Contribute to ansible-community/molecule-docker development by creating an account on GitHub.
Kube No Trouble (kubent) - это инструмент, позволяющий проверить, используете ли вы какую-либо из устаревших версий API в своем кластере, и поэтому перед обновлением кластера Kubernetes следует сначала обновить конфигурацию workload.
Анализирует размещенные в кластере ресурсы, а также умеет работать с файлами, kubectl
Правила для проверки написаны на rego, что является плюсом для кастомизации.
Есть возможность встроить в пайплайн.
#k8s #kubernetes #deprecation
https://github.com/doitintl/kube-no-trouble
Анализирует размещенные в кластере ресурсы, а также умеет работать с файлами, kubectl
last-applied-configuration и helm v2/v3Правила для проверки написаны на rego, что является плюсом для кастомизации.
Есть возможность встроить в пайплайн.
#k8s #kubernetes #deprecation
https://github.com/doitintl/kube-no-trouble
Pluto - это утилита, помогающая находить устаревшие версии Kubernetes API в репозиториях c yaml манифестами или Helm чартами.
В отличии от kubent который в первую очередь призван анализировать кластер, а анализ файлов это как дополнительный функционал.
Pluto скорее пытается быть инструментом для встраивания в CI и анализа манифестов на ряду с каким нибудь kube-linter, но также может и проанализировать ресурсы кластера, но правда только установленные Helm v2/v3 чарты.
#k8s #kubernetes #deprecation
https://github.com/FairwindsOps/pluto
В отличии от kubent который в первую очередь призван анализировать кластер, а анализ файлов это как дополнительный функционал.
Pluto скорее пытается быть инструментом для встраивания в CI и анализа манифестов на ряду с каким нибудь kube-linter, но также может и проанализировать ресурсы кластера, но правда только установленные Helm v2/v3 чарты.
#k8s #kubernetes #deprecation
https://github.com/FairwindsOps/pluto
Подборка статей про кластеризацию Apache NiFi, тюнинг параметров и расчет сайзинга под ваши нужды.
- Официальная документация про кластеризацию и не только;
- Документация продвинутого уровня, изучив её, лучше понимаешь внутренне устройство NiFi;
- Вводная про кластеризацию, вкратце что, зачем и почему;
- Рекомендации по сайзингу от Cloudera в рамках HDF;
- Рекомендации по сайзингу и развертыванию, заметка на форуме Cloudera о лучших практиках сайзинга;
- Тюнинг и производительность кластера, неплохо собрано в одном месте у ребят из MarkLogic.
Для развертывания NiFi в Kubernetes могу порекомендовать NiFiKop оператор, у этих ребят получился адекватный безопасный кластер NiFi с автоскейлом и плавным обновлением.
Но всё же, если ваш планируемый NiFi должен переваривать сотни тысяч событий в секунду, я бы не тащил его в кубер.
А это подборка awesome-nifi ссылок на разные блоги, доклады, процеcсора и прочие полезности.
Смотри в комментарии, там еще несколько книжек про NiFi бонусом.
#nifi
- Официальная документация про кластеризацию и не только;
- Документация продвинутого уровня, изучив её, лучше понимаешь внутренне устройство NiFi;
- Вводная про кластеризацию, вкратце что, зачем и почему;
- Рекомендации по сайзингу от Cloudera в рамках HDF;
- Рекомендации по сайзингу и развертыванию, заметка на форуме Cloudera о лучших практиках сайзинга;
- Тюнинг и производительность кластера, неплохо собрано в одном месте у ребят из MarkLogic.
Для развертывания NiFi в Kubernetes могу порекомендовать NiFiKop оператор, у этих ребят получился адекватный безопасный кластер NiFi с автоскейлом и плавным обновлением.
Но всё же, если ваш планируемый NiFi должен переваривать сотни тысяч событий в секунду, я бы не тащил его в кубер.
А это подборка awesome-nifi ссылок на разные блоги, доклады, процеcсора и прочие полезности.
Смотри в комментарии, там еще несколько книжек про NiFi бонусом.
#nifi
👍1
А тут коллега @idontknowmynick написал замечательную статью как на Nginx и OPA реализовать свой RBAC на примере KeyCloak для любого REST бэкенда.
https://habr.com/ru/post/591985
#opa #rbac #keycloak #nginx #njs
https://habr.com/ru/post/591985
#opa #rbac #keycloak #nginx #njs
Хабр
Авторизация для бедных или как сделать RBAC для REST API с помощью OPA
Когда речь заходит про права доступа в приложении, то из этой ситуации появляется два результата: Либо в коде приложения появляются привязки к неким ролям/scope’ам; Либо разработчик обрастает бородой...
Еще одна (раз, два) утилита для визуализации ресурсов кластера Kubernetes.
Kubectl-graph - это krew плагин для kubectl, позволяет создать визуализацию для последующего рендера в Graphviz, Neo4j или ArangoDB на выбор.
Используя Graphviz всё происходит довольно просто и привычно:
#k8s #kubernetes #visualize
Kubectl-graph - это krew плагин для kubectl, позволяет создать визуализацию для последующего рендера в Graphviz, Neo4j или ArangoDB на выбор.
Используя Graphviz всё происходит довольно просто и привычно:
kubectl graph svc,ing -n tools | dot -T svg -o links.svg
https://github.com/steveteuber/kubectl-graph#k8s #kubernetes #visualize
Неделю назад упомянул Pluto от Fairwinds для поиска устаревших API в kubernetes, а у ребят есть еще несколько интересных утилит, к примеру Nova.
Nova сканирует ваш кластер на наличие установленных Helm чартов, а затем сверяет их со всеми известными Helm репозиториями. Если будут найдены обновления, вы получите отчет, кого можно обновить.
https://github.com/FairwindsOps/nova
#k8s #kubernetes #helm
Nova сканирует ваш кластер на наличие установленных Helm чартов, а затем сверяет их со всеми известными Helm репозиториями. Если будут найдены обновления, вы получите отчет, кого можно обновить.
https://github.com/FairwindsOps/nova
#k8s #kubernetes #helm
Не так давно упоминал плагин Molecule Docker, есть еще и для Podman решение - Molecule Podman Plugin.
Позволяет использовать контейнеры для подготовки тестовых ресурсов при запуске тестов Ansible в Molecule. Умеет как в локaльный podman так и в podman-remote. Учитывая тот факт, что podman умеет запускать не только обычные контейнеры
https://github.com/ansible-community/molecule-podman
#ansible #molecule #podman
Позволяет использовать контейнеры для подготовки тестовых ресурсов при запуске тестов Ansible в Molecule. Умеет как в локaльный podman так и в podman-remote. Учитывая тот факт, что podman умеет запускать не только обычные контейнеры
container как docker но еще умеет запускать поды pod и виртуальные машины machine, выглядит еще привлекательнее.https://github.com/ansible-community/molecule-podman
#ansible #molecule #podman
DevLake объединяет все ваши данные DevOps в единое удобное, персонализированное и расширяемое представление. Принимайте, анализируйте данные из GitLab, Jira, Jenkins, GitHub и визуализируйте в Grafana.
DevLake наиболее интересен для руководителей и менеджеров, которые хотят лучше понять свои данные о разработке, хотя он и полезен для любого разработчика, желающего привнести в свою практику подход, основанный на данных. С DevLake вы можете задать своему процессу любой вопрос, просто подключитесь и запросите.
https://github.com/merico-dev/lake
#grafana #jira #gitlab #github #jenkins
DevLake наиболее интересен для руководителей и менеджеров, которые хотят лучше понять свои данные о разработке, хотя он и полезен для любого разработчика, желающего привнести в свою практику подход, основанный на данных. С DevLake вы можете задать своему процессу любой вопрос, просто подключитесь и запросите.
https://github.com/merico-dev/lake
#grafana #jira #gitlab #github #jenkins
👍1
Zink - альтернативный легковесный (100 мб памяти) elasticsearch написанный на Go. Имеет совместимый с elasticsearch API, состоит из одного бинарника в который уже встроена веб-морда на Vue.
Звучит круто, но увы, пока что не умеет кластеризироваться и обеспечивать высокую доступность.
#elasticsearch
https://github.com/prabhatsharma/zinc
Звучит круто, но увы, пока что не умеет кластеризироваться и обеспечивать высокую доступность.
#elasticsearch
https://github.com/prabhatsharma/zinc
GitHub
GitHub - zincsearch/zincsearch: ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written…
ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go. - zincsearch/zincsearch
Решил я немного Archi в массы продвинуть, сделал контейнер и GH Action для публикации Archimate модели на GitHub/GitLab Pages
https://habr.com/ru/post/583314/
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
#archi #archimate #cd #pages
https://habr.com/ru/post/583314/
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
#archi #archimate #cd #pages
Хабр
Автоматизируем работу с ArchiMate в CI пайплайнах
В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать...
🔥2