Pull to refresh
0
0
Send message

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Reading time17 min
Views32K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

Наши усилия направлены на то, чтобы в реальном времени следить за тем, как быстро работают наши сервисы и платформа. Благодаря инструментам, которые мы создаём и поддерживаем, команды разработки получают представление о том, как пользователи видят работу нашего сайта или приложения. Мы помогаем выявлять причины деградации скорости и определять узкие места в инфраструктуре.

Наши дашборды играют ключевую роль в предоставлении информации о скорости работы платформы. Вместе с командой аналитиков я занимаюсь созданием и поддержкой этой системы в Grafana. Мы стремимся делать ее не только информативной, но и быстрой, стабильной и удобной для всех пользователей. В этой статье я хочу поделиться методами и приемами, к которым мы пришли в процессе работы.

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments25

Пишем псевдо3D движок в Mindustry

Level of difficultyMedium
Reading time14 min
Views4.9K

Как-то раз, гуляя по просторам ютуба, я наткнулся на видео про псевдо-3D и захотел сделать такой же. Это была первая вариация, и работала она кривенько...

Читать далее
Total votes 9: ↑9 and ↓0+10
Comments1

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга

Level of difficultyEasy
Reading time28 min
Views15K


Однажды в тёмном-тёмном городе, в тёмном-тёмном подвале, очередной обезумевший контентмейкер за паяльной станцией подключал программатор к умному термосу.

Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+.
Человек бредил. Раз в пару минут его глаза загорались и он издавал душераздирающий крик: «Если что-то существует, то на этом можно запустить Doom!».

Но действительно ли это так? И что вообще значит «запустить»?

Почему нельзя просто вывести изображение логотипа или распиновать VGA для вывода изображения на дисплей абсолютно любого устройства?
Ведь все так и делают)


Сегодня мы узнаем, как может выглядеть самый примитивный девайс, обладающий свойствами компьютера и способный полноценно запустить любой алгоритм.

С этой целью мы обратимся к немного странным, но всё же незаслуженно забытым языкам программирования. Когнитивная сложность дальнейшего текста обещает быть минимальной, даже непосредственно ассемблерного программирования в статье не будет.

Ну а если вы всё ещё здесь — добро пожаловать под кат.
Читать дальше →
Total votes 78: ↑76 and ↓2+103
Comments16

Как собрать контейнер и не вооружить хакера

Reading time15 min
Views14K

Известно, что с контейнерами бывает огромное количество разнообразных проблем, в том числе,  связанных с информационной безопасностью. Как их избежать и не дать взломщику лазеек в ваш сервис — разбираемся в этой статье. 

Привет, Хабр! Это Алексей Федулаев и Антон Жаболенко из Wildberries. Мы работаем в сфере информационной безопасности (ИБ) уже больше 10 лет.

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments7

Можно ли пить горячую воду из крана и брать ее, чтобы вскипятить. Вдогонку к статье про лекарства из воды и соли

Level of difficultyEasy
Reading time5 min
Views50K

Чтобы воду продезинфицировать — надо ее вскипятить. Чтобы быстрее закипела, можно взять из водопровода сразу горячую воду, а не холодную. Но вот ответ на вопрос, можно ли или лучше не надо это делать, не такой простой, как кажется.

Приступим к кипячению воды
Total votes 176: ↑162 and ↓14+183
Comments274

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Level of difficultyEasy
Reading time4 min
Views24K

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

Читать далее
Total votes 52: ↑49 and ↓3+55
Comments4

Мини-ПК в ноябре 2023 года: 5 моделей на все (почти) случаи жизни

Reading time5 min
Views44K

Производители ноутбуков и настольных ПК выпускают все новые модели. Не являются исключением и мини-ПК, которых становится все больше. Многие из них весьма производительны, так что такие устройства можно использовать для выполнения достаточно «тяжелых» задач. Другие же подходят для офисной работы, что тоже неплохо — ведь экономится место на рабочем столе, такой девайс можно закрепить на задней крышке монитора и забыть про него. Что же, подборка таких устройств — под катом.
Читать дальше →
Total votes 30: ↑26 and ↓4+34
Comments29

Делаем web сервер из старого Android смартфона, без root

Reading time4 min
Views31K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее
Total votes 23: ↑21 and ↓2+22
Comments19

Ping пакеты как временное хранилище данных на python raw socket

Level of difficultyMedium
Reading time7 min
Views10K

Payload (данные) в ping пакете действительно есть, однако до реальной пользы им далеко - это английский алфавит (нет, я не испытываю ненависть к латинице, просто мне хотелось бы уметь редактировать это содержимое).

Читать далее
Total votes 48: ↑47 and ↓1+54
Comments30

Поднимаем Kubernetes с нуля

Level of difficultyMedium
Reading time10 min
Views53K

Создание кластера Kubernetes может быть сложным процессом, который включает в себя множество опций, но сложные вещи могут стать более понятными, когда их разложить на части. В этой статье мы демистифицируем процесс создания кластера Kubernetes, понимая минимальный набор компонентов и настроек, необходимых для запуска узла Kubernetes внутри виртуальной машины.

Читать далее
Total votes 30: ↑27 and ↓3+30
Comments55

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Fullstack Developer, Database Architect
Senior
From 9,700 $
PHP
MySQL
Nginx
Redis
High-loaded systems