DevOps Brain 🧠
1.21K subscribers
127 photos
16 videos
119 links
Пишу про kubernetes, terraform, linux, сети, автоматизации и полезные тулзы. Без спама и щитпостинга.

Хотите пообщаться? @devopsbrain_chat

Автор: @itcaat
Download Telegram
Channel created
Channel name was changed to «DevOps Brain»
https://www.alexedwards.net/blog/an-introduction-to-packages-imports-and-modules

Отличная статья для тех кто, только начинает писать на golang. Автор знакомит с базовыми понятиями Packages, Imports и Modules

#golang #junior #dev
Решил сегодня поделиться с вами серией статей от stranger777 (habr) “Итак, вы думаете, что знаете Git?” в 3 частях. Прям мастхев к прочтению, местами будет в голове мысль: очень интересно, но ничего не понятно. Но это нормально и вам не стоит останавливаться🤣

🤔 А вообще, надо было начать вести канал как раз со статей про git (ибо git для devops/sre должен быть единственным источником правды), но я тут читаю книжу НЫ СЫ и там говорят “бери и делай”. Ничего не поделать, придется брать и делать.

1️⃣ Cтарый добрый Git - https://habr.com/ru/articles/793488/
2️⃣ Новое в Git - https://habr.com/ru/articles/794252/
3️⃣ Реально большие репозитории - https://habr.com/ru/articles/795635/

#git #senior #hardcore
🔥3
Хочу поделиться ссылкой на Robusta KRR — это CLI-тул для оптимизации распределения ресурсов в кластерах Kubernetes. Он собирает данные об утилизации подов от Prometheus и рекомендует requests и limits для процессора и памяти.

https://github.com/robusta-dev/krr

#kubernetes #middle #tools
🔥1
Если вам хочется попробовать что то новое для хранения логов, то clickhouse вполне подойдёт. Там есть недостаток, если филды ваших логов часто меняются, то вряд ли вам понравится. Если нет и у вас филды стандартизированы, то можно получить неплохую горизональномастабируемую систему. Но кликхаус не так прост как кажется и там есть нюансы работы с ним. Ну ждём от clickhouse https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/invertedindexes

Про опыт ребят из vi.tech https://habr.com/ru/articles/808313/

#clickhouse #senior
Гошка для души в примерах https://gobyexample.com/

#golang #junior
🔥3
Привет, котлеги. Давно ничего интересного не постил. Исправляюсь. ArgoCD юзаете в проде? https://overcast.blog/gitops-with-argocd-for-kubernetes-tips-and-tricks-4b926ba75f88
🔥3
Привет, котлеги 🐈‍⬛ Нет более лучшего способа освоить git чем выкинуть на помойку GUI обертки для него. Но в процессе изучения бывает случаются какие то неприятности, например если надо отменить коммит сделанный 5 коммитов назад или если сделан коммит не в ту бранчу. Shit happens 💩 Выбраться тебе поможет подборка вопросов на тему “Чёрт побери, Git!?!” https://dangitgit.com/ru

#git
👍3😁1
Кстати расскажите, вы используете gui или консоль? Я в основном пользуюсь консолью, но иногда запускаю Sublime Merge если надо побегать по истории.
В процессе подготовки к миграции из prometheus в Vitoria Metrics наткнулся на гайд по использованию vmanomaly https://docs.victoriametrics.com/anomaly-detection/guides/guide-vmanomaly-vmalert/

Считаю надо пробовать, осталось понять что есть аномалия =))

#victoriametrics
😁1
Привет, котлеги 🐈‍⬛ Сегодня продолжаем ковыряться в практиках переезда из prometheus->victoria-metrics. Всплыл интересный кейс: прометей не выдает up==0 при скрапе clickhouse native метрик, а вот виктория возбудилась и накидала ошибок скрапа. Кейс удалось воспроизвезти через hey tool (https://github.com/rakyll/hey). Достаточно было вкинуть порядка 5 параллельных запроса и тут же вылетает портянка из ошибок.


hey -c 10 -z 1s http://clickhouse-logs-shard01/metrics

Error distribution:
[37] Get "http://clickhouse-logs-shard01/metrics": EOF
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50453->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50454->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50455->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50456->10.0.5.71:9363: read: connection reset by peer

Summary:
Total: 1.1142 secs
Slowest: 1.2096 secs
Fastest: 2.1123 secs
Average: 3.1399 secs
Requests/sec: 192.9718


Response time histogram:
0.112 [1] |■■■■■
0.122 [4] |■■■■■■■■■■■■■■■■■■■■
0.132 [8] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.141 [6] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


Latency distribution:
10% in 0.1212 secs
25% in 0.1252 secs
50% in 0.1369 secs
75% in 0.1540 secs
90% in 0.1649 secs
95% in 0.2096 secs
0% in 0.0000 secs

Details (average, fastest, slowest):
DNS+dialup: 4.0183 secs, 0.1123 secs, 0.2096 secs
DNS-lookup: 5.0026 secs, 0.0001 secs, 0.0126 secs
req write: 6.0000 secs, 0.0000 secs, 0.0002 secs
resp wait: 7.0367 secs, 0.0162 secs, 0.0615 secs
resp read: 8.0844 secs, 0.0590 secs, 0.1310 secs

Status code distribution:
[200] 34 responses




Есть подозрение что у прометея есть какая то неофициальная политика ретраев, но скорее всего оно тупо игнорит по какой то причине и не кладет в метрику значение, что таргет как бы не up =) А вот виктория молодец и сразу спалила.

А статейки на почитать вам сегодня такие есть:

https://docs.victoriametrics.com/cluster-victoriametrics/ - ну официальная дока, ну и что =))
https://habr.com/ru/articles/518680/ - тут хорошо про викторию vs прометей
https://victoriametrics.com/blog/categories/observability/ - ну мед. Кладезь инфы и примеров.

👋 Кстати, по поводу hey - очень крутой тул. По результату дается красивый отчетик типа такого. Помогает ловить всякие плавающие траблы в сервисах.


#victoriametrics #middle #tools
👍1
Если тебе надо быстро потыкать что-то из Linux / контейнеров / сетей / namespaces / cgroups, но при этом не хочется поднимать VM, ставить Docker, ковырять окружение, то iximiuz labs playgrounds - это прям топ штука.

https://labs.iximiuz.com/playgrounds

Это набор готовых интерактивных лаб, где ты заходишь в браузере и просто:
• запускаешь контейнеры
• смотришь namespace’ы
• играешься с сетью

Причём самое классное, что там не “прочитай статью”, а прям сценарий + терминал + что делать. То есть зашёл → запустил → увидел результат → понял, как оно работает.
👍1