Forwarded from Находки в опенсорсе
Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos on #k8s environments. At the current stage, it has the following components:
- Chaos Operator: the core component for chaos orchestration. Fully open sourced.
- Chaos Dashboard: a visualized panel that shows the impacts of chaos experiments on the online services of the system; under development; curently only supports chaos experiments on TiDB(https://github.com/pingcap/tidb).
https://github.com/pingcap/chaos-mesh
#go
- Chaos Operator: the core component for chaos orchestration. Fully open sourced.
- Chaos Dashboard: a visualized panel that shows the impacts of chaos experiments on the online services of the system; under development; curently only supports chaos experiments on TiDB(https://github.com/pingcap/tidb).
https://github.com/pingcap/chaos-mesh
#go
Forwarded from 4gophers
Перевод "Building a BitTorrent client from the ground up in Go"
Что происходит с момента визита на thepiratebay и появлением mp3 файла на вашем компьютере? В этом посте мы реализуем BitTorrent протокол на достаточном для скачивания образа Debian уровне.
https://4gophers.ru/articles/bittorrent/
Что происходит с момента визита на thepiratebay и появлением mp3 файла на вашем компьютере? В этом посте мы реализуем BitTorrent протокол на достаточном для скачивания образа Debian уровне.
https://4gophers.ru/articles/bittorrent/
Forwarded from Админим с Буквой (bykva)
обоснование покупки PagerDuty (Может кому пригодится)
Для осуществления своевременной реакции на происходящие в инфраструктуре события и обеспечения SLA в клиентских сервисах предлагается осуществить покупку подписки на сервис PagerDuty. PagerDuty — это платформа для обработки инцидентов, которая умеет обрабатывать приходящие инциденты через различные интеграции, настраивать порядок дежурств и далее осуществлять уведомления дежурному инженеру в зависимости от уровня инцидента (при высоком уровне — звонок, при низком — push от приложения/смс). Решение от PagerDuty хорошо интегрируется с существующей системой мониторинга и обладает достаточным функционалом, отвечающим требованиям к подобным системам – надежность и точность доставки уведомлений до клиента.
Данный сервис позволит назначать по расписанию ответственных за сервисы компании, которые будут уведомляться о событиях несколькими способами – в том числе телефонным звонком для особо критичных ситуаций. В случае отсутствия реакции от ответственного лица будет происходить эскалация и уведомление дополнительного сотрудника. Такой способ позволит узнавать и решать проблемы с сервисами своевременно и всегда понимать какой сотрудник должен был работать над проблемой.
По каждой проблеме будет заводиться postmortem – отчет о происшествии, где будет описано что произошло, и что будет сделано чтобы избежать повторения инцидента. При этом поля отчета подкрепляются задачами в JIRA, с помощью которых в последствии можно будет контролировать насколько качественно команда реагирует на происшествия и как быстро их исправляет.
Наличие типовых событий позволяет описать список необходимых действий в confluence и прикреплять к событию ссылку на wiki и на связанные графики в Grafana, таким образом инженерам первой линии позволит быстрее погружаться в событие, анализировать и решать проблему.
Резюмируя вышесказанное, этот сервис позволяет своевременно реагировать на события, которые могут быть критичны для обеспечения работы бизнеса, собирать и хранить историю инцидентов для разбора произошедших событий с выводом их на timeline, и точно знать кто в данный момент должен заниматься проблемой.
#pagerduty #monitoring #alerting #prometheus
Для осуществления своевременной реакции на происходящие в инфраструктуре события и обеспечения SLA в клиентских сервисах предлагается осуществить покупку подписки на сервис PagerDuty. PagerDuty — это платформа для обработки инцидентов, которая умеет обрабатывать приходящие инциденты через различные интеграции, настраивать порядок дежурств и далее осуществлять уведомления дежурному инженеру в зависимости от уровня инцидента (при высоком уровне — звонок, при низком — push от приложения/смс). Решение от PagerDuty хорошо интегрируется с существующей системой мониторинга и обладает достаточным функционалом, отвечающим требованиям к подобным системам – надежность и точность доставки уведомлений до клиента.
Данный сервис позволит назначать по расписанию ответственных за сервисы компании, которые будут уведомляться о событиях несколькими способами – в том числе телефонным звонком для особо критичных ситуаций. В случае отсутствия реакции от ответственного лица будет происходить эскалация и уведомление дополнительного сотрудника. Такой способ позволит узнавать и решать проблемы с сервисами своевременно и всегда понимать какой сотрудник должен был работать над проблемой.
По каждой проблеме будет заводиться postmortem – отчет о происшествии, где будет описано что произошло, и что будет сделано чтобы избежать повторения инцидента. При этом поля отчета подкрепляются задачами в JIRA, с помощью которых в последствии можно будет контролировать насколько качественно команда реагирует на происшествия и как быстро их исправляет.
Наличие типовых событий позволяет описать список необходимых действий в confluence и прикреплять к событию ссылку на wiki и на связанные графики в Grafana, таким образом инженерам первой линии позволит быстрее погружаться в событие, анализировать и решать проблему.
Резюмируя вышесказанное, этот сервис позволяет своевременно реагировать на события, которые могут быть критичны для обеспечения работы бизнеса, собирать и хранить историю инцидентов для разбора произошедших событий с выводом их на timeline, и точно знать кто в данный момент должен заниматься проблемой.
#pagerduty #monitoring #alerting #prometheus
Хороший пример коммерческого обоснования закупки Х как альтернатива нытью "начальство денег не дает"
Цикл статей про NVMe over TCP
https://www.linuxjournal.com/content/data-flash-part-i-evolution-disk-storage-and-introduction-nvme
https://www.linuxjournal.com/content/data-flash-part-ii-using-nvme-drives-and-creating-nvme-over-fabrics-network
https://www.linuxjournal.com/content/data-flash-part-iii-nvme-over-fabrics-using-tcp
https://www.linuxjournal.com/content/data-flash-part-iv-future-memory-technologies
#nvme #hardware
https://www.linuxjournal.com/content/data-flash-part-i-evolution-disk-storage-and-introduction-nvme
https://www.linuxjournal.com/content/data-flash-part-ii-using-nvme-drives-and-creating-nvme-over-fabrics-network
https://www.linuxjournal.com/content/data-flash-part-iii-nvme-over-fabrics-using-tcp
https://www.linuxjournal.com/content/data-flash-part-iv-future-memory-technologies
#nvme #hardware
и продолжая тему железа
https://www.amd.com/en/processors/server-tech-docs/
AMD сделали удобный портал с документацией
#amd #hardware
https://www.amd.com/en/processors/server-tech-docs/
AMD сделали удобный портал с документацией
#amd #hardware
Флант зарелизили stable версию werf https://habr.com/ru/company/flant/blog/481306/
Хабр
Представляем werf 1.0 stable: при чём тут GitOps, статус и планы
werf — это GitOps CLI-утилита с открытым кодом для сборки и доставки приложений в Kubernetes. werf поддерживает сборку образов приложения с помощью Dockerfile...
Forwarded from Meetup Moscow
Avito Kafka meetup, 23 января, четверг
📌 Место: Москва, Лесная, 7 Офис Авито, 15 этаж
🗓 Время: 18:00
Описание:
23 января пройдёт первый митап по Apache Kafka в Авито. Будем говорить о её интеграции, source коннекторах и запуске масштабируемых приложений в Kubernetes. С докладами выступят инженеры Booking.com, Confluent и Авито.
Доклады:
✅ Коннекторы: зачем вас так много — Анатолий Солдатов, Авито
✅ Как приручить Apache Kafka? Опыт Booking.com — Александр Миронов, Booking.com
✅ Kafka на Kubernetes: а по Хуану ли сомбреро? — Виктор Гамов, Confluen
📝 Зарегистрироваться
📌 Место: Москва, Лесная, 7 Офис Авито, 15 этаж
🗓 Время: 18:00
Описание:
23 января пройдёт первый митап по Apache Kafka в Авито. Будем говорить о её интеграции, source коннекторах и запуске масштабируемых приложений в Kubernetes. С докладами выступят инженеры Booking.com, Confluent и Авито.
Доклады:
✅ Коннекторы: зачем вас так много — Анатолий Солдатов, Авито
✅ Как приручить Apache Kafka? Опыт Booking.com — Александр Миронов, Booking.com
✅ Kafka на Kubernetes: а по Хуану ли сомбреро? — Виктор Гамов, Confluen
📝 Зарегистрироваться
Forwarded from Админим с Буквой (bykva)
jinja как не ставить последнюю запятую в цикле
дано: переменная с количеством серверов
задача: составить строку вида
1) вместо последней запятой стоит /kafka
2) необходимо убрать newline который добавляется на каждом проходе
Решение:
з.ы. счет начинается с нуля, поэтому для красоты именования серверов инкрементирую переменную server.
#jinja #ansible #kafka #zookeeper
дано: переменная с количеством серверов
задача: составить строку вида
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181/kafkaв целом решается простым циклом for + 2 небольших нюанса:
1) вместо последней запятой стоит /kafka
2) необходимо убрать newline который добавляется на каждом проходе
Решение:
zookeeper.connect=все довольно просто - запятая ставится конструкцией
{%- for server in range(servers_count) -%}
zookeeper{{ server+1 }}:2181{% if not loop.last %},{% endif %}
{%- endfor %}/kafka
{% if not loop.last %},{% endif %}, а переносы строк убираются постановкой дефиса у открывающих и закрывающих тегов {% и %}.з.ы. счет начинается с нуля, поэтому для красоты именования серверов инкрементирую переменную server.
#jinja #ansible #kafka #zookeeper
Forwarded from DevOps Deflope News
Небольшой обзор решений для High availability и Long-term historical metrics для Prometheus 🔥
http://amp.gs/DSXO
И заодно расшифровка доклада про сравнение Thanos и VictoriaMetrics с Big Monitoring Meetup 4
http://amp.gs/DSXr
#prometheus #article
http://amp.gs/DSXO
И заодно расшифровка доклада про сравнение Thanos и VictoriaMetrics с Big Monitoring Meetup 4
http://amp.gs/DSXr
#prometheus #article
Monitoring Monitoring
Big Prometheus
Thanos, Cortex, M3DB and VictoriaMetrics at scale
Forwarded from Технологический Болт Генона
Запись митапа от киевской HashiCorp User Group
HUG Kyiv #7: Consul
https://www.youtube.com/watch?v=7DhZOtn8yYY
HUG Kyiv #7: Consul
https://www.youtube.com/watch?v=7DhZOtn8yYY
YouTube
HUG Kyiv #7: Consul
Програма:0:00:00 - Вступ0:00:29 - Поверхневий огляд Consul для тих кому хочеться все і відразу + consul-template. Якщо ви не працювали з Консулом, або ж ви д...
Forwarded from chiki_briki
А вдруг вам интересно послушать как устроен l3 баллансировщик в Яндекс Облаке?
Доклад конечно староват и за это время ребята успели реализовать к нему Anti-DDos, отловить и пофиксить кучку багов.
Видео: http://bit.ly/2Rd3RKF
Какие нюаньсики существуют сейчас?
Предположим, что за l3 у вас стоит nginx:
- если вы настроили 301 редирект с 80 на 443 порт, то http healthcheck вам не светит, делайте tcp. Видимо код ответа != 200 не подходит
- нужно не забыть изменить mss на nginx, если используете антидудос (http://bit.ly/2FPhSc8), к примеру через iptables:
- подвезли terraform для l3: http://bit.ly/2QOvNFI
- к сожалению нет никаких графиков
- нельзя создать «внутренний» (без белого ip) балансировщик
В догонку 31 января в 12:00 Нарек Татевосян проведет онлайн вебинар по построению отказоустойчивой инфраструктуры в Я.Облаке: http://bit.ly/2Tk50mj
Доклад конечно староват и за это время ребята успели реализовать к нему Anti-DDos, отловить и пофиксить кучку багов.
Видео: http://bit.ly/2Rd3RKF
Какие нюаньсики существуют сейчас?
Предположим, что за l3 у вас стоит nginx:
- если вы настроили 301 редирект с 80 на 443 порт, то http healthcheck вам не светит, делайте tcp. Видимо код ответа != 200 не подходит
- нужно не забыть изменить mss на nginx, если используете антидудос (http://bit.ly/2FPhSc8), к примеру через iptables:
INPUT Rules
-A INPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1410
- подвезли terraform для l3: http://bit.ly/2QOvNFI
- к сожалению нет никаких графиков
- нельзя создать «внутренний» (без белого ip) балансировщик
В догонку 31 января в 12:00 Нарек Татевосян проведет онлайн вебинар по построению отказоустойчивой инфраструктуры в Я.Облаке: http://bit.ly/2Tk50mj
Forwarded from Go Дайджест
О, а вот о нагрузочном тестировании давно ничего не было слышно, но вот есть кое-что.
https://github.com/rogerwelin/cassowary
https://github.com/rogerwelin/cassowary
GitHub
GitHub - rogerwelin/cassowary: :rocket: Modern cross-platform HTTP load-testing tool written in Go
:rocket: Modern cross-platform HTTP load-testing tool written in Go - rogerwelin/cassowary
Forwarded from Записки админа
🛠 На самом деле, в 2020 веке, даже с повсеместным приходом облаков, bare-metal инсталляции никуда не делись, и процесс работы с ними так же нужно совершенствовать. Вот, например, есть QUADS - система для управления инфраструктурой и процессами в ней. Подготовка bare-metal серверов и сетей, ввод их в работу и вот это вот всё. Используется QUADS в Red Hat Performance Engineering R&D labs, как раз таки для управления всяческим железом, там же, он и разрабатывается. Подробнее по ссылкам ниже:
https://quads.dev/about-quads/
https://github.com/redhat-performance/quads
#фидбечат #quads #redhat
https://quads.dev/about-quads/
https://github.com/redhat-performance/quads
#фидбечат #quads #redhat
Подсмотрел сегодня в Церкви метрик ( @metrics_ru если кто не знал ) несколько ссылок на статьи Aliaksandr Valialkin в medium.com - разработчика Victoria Metrics:
Improving histogram usability for Prometheus and Grafana
https://medium.com/@valyala/improving-histogram-usability-for-prometheus-and-grafana-bc7e5df0e350
Prometheus storage: technical terms for humans
https://medium.com/@valyala/prometheus-storage-technical-terms-for-humans-4ab4de6c3d48
фоловим, шлепаем в ладошки!
Improving histogram usability for Prometheus and Grafana
https://medium.com/@valyala/improving-histogram-usability-for-prometheus-and-grafana-bc7e5df0e350
Prometheus storage: technical terms for humans
https://medium.com/@valyala/prometheus-storage-technical-terms-for-humans-4ab4de6c3d48
фоловим, шлепаем в ладошки!
Medium
Improving histogram usability for Prometheus and Grafana
Histograms in Prometheus are tricky to use properly. Is it possible to improve their usage experience? Yes — continue reading the article.
Forwarded from DevOps Deflope News
24го января, в Санкт-Петербурге, в офисе компании Selectel пройдет 4й kubernetes spb meetup 🎉🎉🎉
Заявлено 2 доклада и 1 лайтнинг.
* Доклад «K8S on bare metal: SSL» Максим Филатов(Evil Martians)
* Лайтнинг «Деплой сервисов в k8s с помощью Jenkins» Георгий Антонов (Selectel)
* Доклад «GitOps и его инструменты: 101 для тех, кто хочет разобраться» Кирилл Кузнецов (Evil Martians)
Начало в 19:15. Планируется онлайн-трансляция и запись.
Регистрация
Meetup
http://bit.ly/2RiHH9X
Timepad
http://bit.ly/38cLUTz
#meetups #events #spb
Заявлено 2 доклада и 1 лайтнинг.
* Доклад «K8S on bare metal: SSL» Максим Филатов(Evil Martians)
* Лайтнинг «Деплой сервисов в k8s с помощью Jenkins» Георгий Антонов (Selectel)
* Доклад «GitOps и его инструменты: 101 для тех, кто хочет разобраться» Кирилл Кузнецов (Evil Martians)
Начало в 19:15. Планируется онлайн-трансляция и запись.
Регистрация
Meetup
http://bit.ly/2RiHH9X
Timepad
http://bit.ly/38cLUTz
#meetups #events #spb
Meetup
Login to Meetup | Meetup
Not a Meetup member yet? Log in and find groups that host online or in person events and meet people in your local community who share your interests.
Forwarded from DocOps
Ребята из Фланта рассказали, как собирают документацию с помощью werf. Это их инструмент для автоматизации сборки докер-образов. Отличный пример принципа "drink your own champagne".
https://habr.com/ru/company/flant/blog/478690/
https://habr.com/ru/company/flant/blog/478690/
Хабр
Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации
Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его р...
Forwarded from Мониторим ИТ
Дмитрий Комаров из Яндекс-денег рассказывает как они у себя делали MaaC — мониторинг как код. К приложению в виде зависимости добавляется дополнительный артефакт, который генерит новые дашборды в Grafana и порождает соответствующий сбор метрик через StatsD и Heka. Говорит, что Heka это хорошо из-за бестродействия в силу приёма метрик от приложений по протоколу UDP.
Ещё одна важная часть его выступления — это алертинг. Алертинг в Grafana оказался недостаточно гибким и они использовали Moira, которая позволила гибко создавать триггеры и использует собственное хранилище на базе Redis.
Ниже ссылки на соответствующие репозитории на Github:
→ moira-trigger-plugin
→ moira-kotlin-dsl
→ grafana-dashboard-dsl
→ moira-kotlin-client
→ grafana-dashboard-plugin
Ещё одна важная часть его выступления — это алертинг. Алертинг в Grafana оказался недостаточно гибким и они использовали Moira, которая позволила гибко создавать триггеры и использует собственное хранилище на базе Redis.
Ниже ссылки на соответствующие репозитории на Github:
→ moira-trigger-plugin
→ moira-kotlin-dsl
→ grafana-dashboard-dsl
→ moira-kotlin-client
→ grafana-dashboard-plugin
YouTube
Java Jam 2019 || Monitoring strikes back (Дмитрий Комаров)
Яндекс.Деньги провели традиционную встречу специалистов по Java. В программе доклады от бэкенд-команд Денег и спикера из Hazelcast.
Дмитрий Комаров, Java-программист (Яндекс.Деньги)
«Monitoring strikes back»
В докладе я представлю нашу инфраструктуру доставки…
Дмитрий Комаров, Java-программист (Яндекс.Деньги)
«Monitoring strikes back»
В докладе я представлю нашу инфраструктуру доставки…
Forwarded from Good reviewer - Bad reviewer (Oleg Kovalov)
Нас попросили посмотреть на HTTP роутер go-chi. Кроме хорошего апи, там все основано на одной древовидной структуре. Она не сложная, но есть детали, которые неочевидны. В любом случае - работает хорошо, советуем с личного опыта и рабочего прода.
https://www.youtube.com/watch?v=IjDlmOTmCUI
Упомянутые штуки:
https://en.wikipedia.org/wiki/Radix_tree
https://github.com/armon/go-radix
https://github.com/hashicorp/go-immutable-radix
https://en.wikipedia.org/wiki/Cache-oblivious_algorithm
https://www.youtube.com/watch?v=IjDlmOTmCUI
Упомянутые штуки:
https://en.wikipedia.org/wiki/Radix_tree
https://github.com/armon/go-radix
https://github.com/hashicorp/go-immutable-radix
https://en.wikipedia.org/wiki/Cache-oblivious_algorithm
Wikipedia
Radix tree
data structure that represents a space-optimized trie in which each node that is the only child is merged with its parent