Как стать автором
Обновить
52
0
SkazochNik @SkazochNik

Системный администратор Linux

Отправить сообщение

Как работает ptrace в Linux и зачем он тебе

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.4K

Привет, Хабр! Сегодня у нас на столе инструмент, о котором многие слышали, но мало кто использовал по-настоящему — ptrace.

С ptrace можно подключаться к чужим процессам, читать и менять их память, перехватывать системные вызовы — и даже вежливо убрать sleep 9999.

Читать далее

Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров23K

Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1 — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи.

Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению с сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux.

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

Читать далее

Как я создавал Observability для своих pet-проектов. Часть 1

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров11K

Это в какой-то степени продолжение моей статьи — История создания идеального Docker для Laravel. В ней я рассказывал о том, как собрал идеальный Docker-образ для Laravel с Nginx Unit. Это был один из первых шагов по оптимизации моей инфраструктуры. Как я уже упоминал, у меня есть несколько pet-проектов, запущенных на VPS в docker-compose, и я хотел не только отслеживать их состояние, но и прокачать навыки в области Observability.

Читать далее

Как построить эффективную стратегию мониторинга с высокой наблюдаемостью

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров10K


Давайте сразу определимся: самым важным в разработке сейчас является производительность и надежность вашей инфраструктуры, потому что если ваш проект лагает или работает через раз, вас не спасут никакие фичи. Клиент просто уйдет к конкурентам.

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

Мой первый контейнер без Docker

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров41K

Технологии контейнеризации, возможно, как и у большинства из нас, плотно засели в моей голове. И казалось бы, просто пиши Dockerfile и не выпендривайся. Но всегда же хочется узнавать что‑то новое и углубляться в уже освоенные темы. По этой причине я решил разобраться в реализации контейнеров в ОС на базе ядра linux и в последствие создать свой «контейнер» через cmd.

Читать далее

Мониторинг бизнес-процессов с помощью OpenTelemetry

Время на прочтение17 мин
Количество просмотров9K

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

В этой статье расскажу, как мы объединили несколько разных команд разработки Райффайзен Онлайн общим Observability и с помощью исключительно технических метрик отслеживаем здоровье бизнес-процессов. Как всё это помогает мгновенно находить первопричину сбоя. Как устроен OpenTelemetry и как с его помощью рассчитать доступность приложения в девятках, а также MTTR (Mean Time to Recovery).

Читать далее

Пишем ping на Go: сможем ли составить конкуренцию стандартному ping?

Время на прочтение13 мин
Количество просмотров6.7K

Всем привет! Меня зовут Игорь Горбунов, я разрабатываю платформу базовой станции в YADRO и изучаю Golang почти год. Уже перевалил рубеж «вывести на экран сумму четных элементов среза» и захотел написать что-то более сложное.

Я интересуюсь сетями, и решил посмотреть, как в Go реализуется работа с протоколами ICMP и ICMPv6. Наиболее простая задача, связанная с ними, — реализация программы ping. Она отправляет указанному узлу сети запросы ICMP типа Echo-Request и ожидает ответы типа Echo-Reply.

На первый взгляд — простейшая задача, поэтому усложним ее: построим приложение, похожее на утилиту ping в UNIX-подобных системах. Под катом расскажу, как я решал задачу и с какими подводными камнями столкнулся.

Читать далее

Как я отправил деньги на карту друга в Казахстан: Хождение по мукам

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Я сам родился и вырос в Казахстане, высшее получал уже в Томске, поэтому в Казахстане у меня друзья детства, да и сестра до сих пор живет в Караганде. Хотел купить машину, но в Томске не нашел, поэтому попросил друга детства поискать вариант в Казахстане. На днях он позвонил: немецкое авто за очень интересные деньги. Продавал его знакомый, машину мой друг знал с момента приобретения её в салоне. Вердикт - Надо брать!

Деньги человеку нужны были срочно, хотя бы 400 тысяч до вечера. Договорились по телефону: 400 тысяч аванс, а потом уже не торопясь приеду отдам остальную сумму, оформимся. Друг мой выступил гарантом.

Сумма не такая уж большая, первое что пришло в голову, это перевести со своей Сберовской карты на карту продавца в Казахстан. Не успел я ввести все цифры его карты от Каспи банка в «Переводах в другую страну», приложение Сбербанка ответило: «Переводы в страну Казахстан скоро будут доступны». Облом!

Читать далее

Как обновить PostgreSQL и не потерять данные: метод минимизации простоя

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров12K

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

Подробности читайте в статье.

Читать далее

Как я оптимизировал свой конвейер CI/CD до выполнения за 60 секунд

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.9K

Как и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.

build (and deploy)

Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.

Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.

Читать далее

cgroups и namespaces в Linux: как это работает?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров13K

Привет, Хабр! Сегодня рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.

Читать далее

Расширения VSCode для комфортной работы с проектами

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров40K

Для работы с проектами существует куча редакторов кода и IDE (VSCode, NeoVim, SublimeText, WebStorm и т.д.). В данный момент наиболее популярны VSCode и Webstorm и у каждого есть свои плюсы и минусы. Webstorm является примером прекрасного IDE от компании JetBrains, где многие вспомогательные модули идут “из коробки”. К сожалению, сейчас нет возможности легально получить доступ к этому продукту гражданам России, поэтому многим приходится искать альтернативу. Такой альтернативой вполне может стать Visual Studio Code от компании Microsoft, который имеет открытую кодовую базу, полностью бесплатный и гибко настраиваемый под ваши нужды. В данной статье мы рассмотрим пример настройки рабочего пространства VSCode для комфортной работы с нашими проектами. Я покажу вам, какими расширениями я пользуюсь для лучшего удобства и продуктивности. Эти расширения я использую давно и они хорошо зарекомендовали себя, но возможно некоторые из них могут не подойти под ваш стиль работы и написания кода. Итак, начнем!

Читать далее

OpenTelemetry с нуля до 100: пример внедрения Норвежским управлением труда и соцобеспечения

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров10K

Сейчас OpenTelemetry — это самый быстрорастущий проект CNCF. Опытом внедрения этого набора инструментов для отладки и анализа производительности распределённых систем поделился тимлид платформенной команды Норвежского управления труда и социального обеспечения. В переводе под катом вас ждёт тернистый путь от первых коммитов до реального применения OpenTelemetry в production, а также планы команды на будущее.

Читать далее

Приложение на Go шаг за шагом. Часть первая: скелет, НТТР-сервер и конфигурация

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров9K

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

Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать приложение на Go с нуля: мы вместе пройдём каждый шаг и создадим API для получения информации о книгах и управления ими. 

Читать далее

Книжная полка DevOps-инженера

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров27K

Всем привет! Решил накидать книжных полезняшек для тех, кто любит DevOps или движется в этом направлении. Книги поделил по темам: сначала базовый уровень, потом архитектура, методологии, ну и всё остальное. В общем, от и до.

Я Сергей Задорожный, руководитель отдела платформенных решений банка «Центр-инвест» и один из авторов курса «DevOps для эксплуатации и разработки» от Яндекс Практикума. Раньше занимался написанием бэкендов на Java и Kotlin, потом занялся архитектурой, выстраиванием процессов, а сейчас заношу DevOps-практики в финтех-энтерпрайз.

Читать далее

Метрики и зачем они нам

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.9K

Сейчас метриками никого не удивишь. Метрики повсюду, в логах приложений, в управлении проектами, в управлении продуктами, в управлении людьми, в управлении чем угодно. Можно сказать, что мы даже понимаем зачем они нужны. Но к сожалению, не все и не всегда.

В статье я попытаюсь обобщить базовые понятия о метриках из разных областей. Так что, дорогой читатель, добро пожаловать!

Читать далее

Нюансы менеджмента процессов на примере процесса «Управление инцидентами ИТ»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров11K

Фармацевтическая компания Fox-Meyer Drugs, стоившая порядка 40 миллиардов долларов, из-за неверного внедрения ERP системы обанкротилась и была продана конкурентам за 80 миллионов долларов. Банкротство произошло потому, что складская логистика компании не измерялась, не мониторилась, не была охвачена ни метриками, ни показателями, ни KPI. При внедрении ERP не заметили разрушение ключевых бизнес-процессов: склады оказались переполнены, клиенты не получали продукцию. В компании отслеживалась прибыль, но не были формализованы логистические бизнес-процессы, которые разрушились за несколько дней. Отсутствие управления—неприятный нюанс, присутствующий на всех предприятиях. Это нужно принять, как данность, вопрос критичности, в том, какие зоны предприятия неуправляемы.

Читать далее

Zeebe и Camunda: сравниваем известные BPM-системы под высокими нагрузками

Время на прочтение12 мин
Количество просмотров32K

Всем привет! Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. В последнее время я активно занимаюсь BPM-системами Camunda и Zeebe (основа Camunda-cloud). Если вы, как и я, с ходу не можете ответить на вопрос, кто быстрее — Camunda или Zeebe, насколько, и в каких случаях они могут тормозить, то добро пожаловать под кат.

Читать далее

Мониторинг и Kubernetes (обзор и видео доклада)

Время на прочтение10 мин
Количество просмотров33K
28 мая на проходившей в рамках фестиваля РИТ++ 2018 конференции RootConf 2018, в секции «Логирование и мониторинг», прозвучал доклад «Мониторинг и Kubernetes». В нём рассказывается об опыте настройки мониторинга с Prometheus, который был получен компанией «Флант» в результате эксплуатации десятков проектов на Kubernetes в production.



По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!

Мониторинг мёртв? — Да здравствует мониторинг

Время на прочтение15 мин
Количество просмотров35K


Наша компания с 2008 года занимается преимущественно управлением инфраструктурами и круглосуточной технической поддержкой веб-проектов: у нас более 400 клиентов, это порядка 15% электронной коммерции России. Соответственно, на поддержке очень разнообразная архитектура. Если что-то падает, мы обязаны в течение 15 минут это починить. Но чтобы понять, что авария произошла, нужно мониторить проект и реагировать на инциденты. А как это делать?

Я считаю, что в организации правильной системы мониторинга происходит беда. Если бы беды не было, то мой спич состоял из одного тезиса: «Установите, пожалуйста, Prometheus + Grafana и плагины 1, 2, 3». К сожалению, теперь так не работает. И главная проблема заключается в том, что все продолжают верить во что-то такое, что существовало в 2008 году, с точки зрения программных компонентов.

В отношении организации системы мониторинга я рискну сказать, что… проектов с грамотным мониторингом не существует. И ситуация настолько плохая, если что-то упадёт, есть риск, что это останется незамеченным — все ведь уверены, что «всё мониторится».
Возможно, всё мониторится. Но как?

Все мы сталкивались с историей наподобие следующей: работает некий девопс, некий админ, к ним приходит команда разработчиков и говорит — «мы зарелизились, теперь замониторь». Что замониторь? Как это работает?

Ок. Мониторим по старинке. А оно уже изменяется, и выясняется, что ты мониторил сервис А, который стал сервисом B, который взаимодействует с сервисом C. Но команда разработчиков тебе говорит: «Поставь софт, он же должен все замониторить!»

Так что изменилось? — Всё изменилось!
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Липецк, Липецкая обл., Россия
Зарегистрирован
Активность