Testing Ansible Roles Locally With Molecule on Linux and Windows
Molecula — полезный инструмент для отладки ролевой модели в Ansible. Читать дальше.
Molecula — полезный инструмент для отладки ролевой модели в Ansible. Читать дальше.
Устранение утечек памяти с помощью профилирования
Если система работает длительное время, объём свободной памяти может уменьшаться, что может приводить к отказу некоторых сервисов. Это типичная проблема утечки памяти, которую обычно сложно спрогнозировать и выявить. Удобными инструментами для решения подобных проблем являются профайлеры кучи. Они отслеживают распределение памяти и помогают разобраться, что находится в куче программы, а также найти утечки памяти. Читать дальше.
Если система работает длительное время, объём свободной памяти может уменьшаться, что может приводить к отказу некоторых сервисов. Это типичная проблема утечки памяти, которую обычно сложно спрогнозировать и выявить. Удобными инструментами для решения подобных проблем являются профайлеры кучи. Они отслеживают распределение памяти и помогают разобраться, что находится в куче программы, а также найти утечки памяти. Читать дальше.
Что такое Linux? Статья-шпаргалка для новичков
Эта статья — попытка систематизировать некие базовые знания об Linux’ах, которая может быть полезна для продвинутых пользователей, разработчиков и админов Windows, которые еще не имели (или имели крайне небольшой и отрывочный) опыт работы с Linux системами и не знают, с чего начать, однако хотят попробовать — сами, или по причине производственной необходимости. Каждый пункт содержит не исчёрпывающие сведения, а лишь отправные пункты для дальнейшего изучения (гуглежа) материала. Читать дальше.
Эта статья — попытка систематизировать некие базовые знания об Linux’ах, которая может быть полезна для продвинутых пользователей, разработчиков и админов Windows, которые еще не имели (или имели крайне небольшой и отрывочный) опыт работы с Linux системами и не знают, с чего начать, однако хотят попробовать — сами, или по причине производственной необходимости. Каждый пункт содержит не исчёрпывающие сведения, а лишь отправные пункты для дальнейшего изучения (гуглежа) материала. Читать дальше.
4 Ways To Run MySQL Queries in Bash or Linux Command Line
Хотя существует много клиентов с графическим интерфейсом для работы с базами данных, часто удобнее выполнить запросы непосредственно на терминале Linux. Не говоря уже о том, что иногда разработчику может потребоваться написать сценарий bash для выполнения некоторых задач автоматизации или мониторинга для MySQL. Читать дальше.
Хотя существует много клиентов с графическим интерфейсом для работы с базами данных, часто удобнее выполнить запросы непосредственно на терминале Linux. Не говоря уже о том, что иногда разработчику может потребоваться написать сценарий bash для выполнения некоторых задач автоматизации или мониторинга для MySQL. Читать дальше.
My top 10 Linux commands for debugging server issue
Несколько команд для диагностики проблем с сервером Linux. Читать дальше.
Несколько команд для диагностики проблем с сервером Linux. Читать дальше.
How To Write Tests for Your Kubernetes Operator
Статья об искусстве писать тесты для Kubernetes operators. Читать дальше.
Статья об искусстве писать тесты для Kubernetes operators. Читать дальше.
How I Wrote a Lightning-Fast Image Server in Node.js
Некоторое время назад я получил задание от клиента, с которым работал раньше: у них был запрос на сервер изображений для их веб-сайта газеты с высокой посещаемостью и мобильных приложений. Сервис, необходимый для обрезки, изменения размера и повторного сжатия файлов JPG, PNG и GIF в режиме реального времени и по требованию. Я опишу, как я сделал один из самых быстрых серверов изображений и как я добился этого, используя «медленный» сервер Node.js. Читать дальше.
Некоторое время назад я получил задание от клиента, с которым работал раньше: у них был запрос на сервер изображений для их веб-сайта газеты с высокой посещаемостью и мобильных приложений. Сервис, необходимый для обрезки, изменения размера и повторного сжатия файлов JPG, PNG и GIF в режиме реального времени и по требованию. Я опишу, как я сделал один из самых быстрых серверов изображений и как я добился этого, используя «медленный» сервер Node.js. Читать дальше.
3 Tools to Detect Linux Vulnerabilities
В этой статье 3 полезных бесплатных инструмента для защиты сервера. Вы узнаете, как сканировать сервер на наличие уязвимостей в системе безопасности и вредоносных программ. Примеры были протестированы в дистрибутиве Ubuntu.
⚡️ Lynis
⚡️ Maltrail
⚡️ ClamAV
Читать статью.
В этой статье 3 полезных бесплатных инструмента для защиты сервера. Вы узнаете, как сканировать сервер на наличие уязвимостей в системе безопасности и вредоносных программ. Примеры были протестированы в дистрибутиве Ubuntu.
⚡️ Lynis
⚡️ Maltrail
⚡️ ClamAV
Читать статью.
When NOT to use Apache Kafka?
Интересно, ну и когда не использовать Kafka? Вот кейсы, которые приводит автор статьи:
⚡️ Kafka is NOT hard real-time
⚡️ Kafka is NOT deterministic for embedded and safety-critical systems
⚡️ Kafka is NOT built for bad networks
⚡️ Kafka does NOT provide connectivity to tens of thousands of client applications
Читать дальше.
Интересно, ну и когда не использовать Kafka? Вот кейсы, которые приводит автор статьи:
⚡️ Kafka is NOT hard real-time
⚡️ Kafka is NOT deterministic for embedded and safety-critical systems
⚡️ Kafka is NOT built for bad networks
⚡️ Kafka does NOT provide connectivity to tens of thousands of client applications
Читать дальше.
Basics of Load Balancing
В этой статье некоторые основы балансировки нагрузки: когда используется, типы и т.д. Читать дальше.
В этой статье некоторые основы балансировки нагрузки: когда используется, типы и т.д. Читать дальше.
iPXE — заливка linux, windows, утилит по сети
Раньше у нас использовалась заливка ОС по PXE с использованием syslinux, но как бывает с самодостаточными системами и без достаточного контроля и внимания - быстро превратилась в кашу из конфигураций, библиотек, загрузчиков.
Так же была необходимость в поддержке заливки разных ОС в режиме EFI - на тот момент заливка была только в Legacy.
В желании разобраться в этом наследстве, упростить и облегчить добавление новых образов в список, я познакомился с iPXE.
Читать дальше на Хабре.
Раньше у нас использовалась заливка ОС по PXE с использованием syslinux, но как бывает с самодостаточными системами и без достаточного контроля и внимания - быстро превратилась в кашу из конфигураций, библиотек, загрузчиков.
Так же была необходимость в поддержке заливки разных ОС в режиме EFI - на тот момент заливка была только в Legacy.
В желании разобраться в этом наследстве, упростить и облегчить добавление новых образов в список, я познакомился с iPXE.
Читать дальше на Хабре.
Fzf: A tool that will transform your CLI life
Представьте, что вам нужно найти файл в каталоге. find — это инструмент, который использует большинство людей. Вы вводите find . -name <имя файла> . Если вам повезет, вы получите искомый файл, скопируете путь и затем передадите его следующей команде. Иногда вам не везет, и поиск не дает результатов. Затем вы используете поиск с подстановочными знаками и получаете миллиард результатов. Вы просеиваете их и находите, может быть, несколько подходящих вариантов. Затем вы используете less или cat, чтобы открыть каждый из них и, наконец, добраться до нужного файла. А теперь представьте, что вы делаете это 10 раз в день или больше… Разве можно винить тех, кто не хочет иметь ничего общего с терминалом? Читать дальше.
Репыч на Гитхабе.
Представьте, что вам нужно найти файл в каталоге. find — это инструмент, который использует большинство людей. Вы вводите find . -name <имя файла> . Если вам повезет, вы получите искомый файл, скопируете путь и затем передадите его следующей команде. Иногда вам не везет, и поиск не дает результатов. Затем вы используете поиск с подстановочными знаками и получаете миллиард результатов. Вы просеиваете их и находите, может быть, несколько подходящих вариантов. Затем вы используете less или cat, чтобы открыть каждый из них и, наконец, добраться до нужного файла. А теперь представьте, что вы делаете это 10 раз в день или больше… Разве можно винить тех, кто не хочет иметь ничего общего с терминалом? Читать дальше.
Репыч на Гитхабе.
Пишем наш первый модуль для ядра Linux
Итак, вас интересует собственный проект уровня «hello world», который положит начало самому долговечному опенсорсному проекту современности? Или вы хотите попробовать теорию операционных систем, хотя бы в малых дозах? Вам нравится программировать на языке, созданном в 1970-е, он наполняет вас чувством глубокого удовлетворения, когда можно сделать буквально что угодно – и оно заработает? Отлично, поскольку, честно говоря, я и придумать не могу лучшего времяпрепровождения. Читать дальше.
Итак, вас интересует собственный проект уровня «hello world», который положит начало самому долговечному опенсорсному проекту современности? Или вы хотите попробовать теорию операционных систем, хотя бы в малых дозах? Вам нравится программировать на языке, созданном в 1970-е, он наполняет вас чувством глубокого удовлетворения, когда можно сделать буквально что угодно – и оно заработает? Отлично, поскольку, честно говоря, я и придумать не могу лучшего времяпрепровождения. Читать дальше.
The Correct Way of Running Python Programs (How to use name == “main”)
Запускать программы на Python очень просто: вы пишете свой код, сохраняете его, переходите в консоль и выполняете python myprogram.py. Это все, что вам нужно сделать. Но тогда зачем я пишу эту статью?
Правда в том, что есть гораздо лучший способ сделать это, и если вы хотите стать опытным разработчиком Python, вы должны его знать. Способ добиться этого на самом деле довольно прост: единственное, что вам нужно добавить, это оператор if. Читать дальше.
Запускать программы на Python очень просто: вы пишете свой код, сохраняете его, переходите в консоль и выполняете python myprogram.py. Это все, что вам нужно сделать. Но тогда зачем я пишу эту статью?
Правда в том, что есть гораздо лучший способ сделать это, и если вы хотите стать опытным разработчиком Python, вы должны его знать. Способ добиться этого на самом деле довольно прост: единственное, что вам нужно добавить, это оператор if. Читать дальше.
Эскалация привилегий в Kubernetes
Когда кто-то говорит о безопасности, в первую очередь имеет ввиду авторизацию и аутентификацию, но в контексте Kubernetes эти две составляющие являются лишь маленькими кусочками большого пазла.
В этой статье вы увидите, как пользователь с ограниченными правами, может повысить свои привилегии и стать админом кластера. Читать дальше.
Когда кто-то говорит о безопасности, в первую очередь имеет ввиду авторизацию и аутентификацию, но в контексте Kubernetes эти две составляющие являются лишь маленькими кусочками большого пазла.
В этой статье вы увидите, как пользователь с ограниченными правами, может повысить свои привилегии и стать админом кластера. Читать дальше.
Checkov: Security and Compliance for Infrastructure as Code
Checkov — это инструмент статического анализа кода для сканирования файлов IaC на наличие неправильных конфигураций, которые могут привести к проблемам с безопасностью или соответствию требованиям. Checkov включает более 750 предопределенных политик для проверки распространенных проблем с неправильной настройкой. Checkov также поддерживает создание и добавление пользовательских политик. Читать дальше.
Репыч на Гитхабе.
Checkov — это инструмент статического анализа кода для сканирования файлов IaC на наличие неправильных конфигураций, которые могут привести к проблемам с безопасностью или соответствию требованиям. Checkov включает более 750 предопределенных политик для проверки распространенных проблем с неправильной настройкой. Checkov также поддерживает создание и добавление пользовательских политик. Читать дальше.
Репыч на Гитхабе.
Exploring the Linux proc file system
Представление каждого объекта операционной системы в виде файла означает, что вы можете найти в файловой системе всевозможные вещи, такие как, например, процессы операционной системы. Запущенные процессы находятся в каталоге /proc, и сегодня мы поговорим о том, что мы можем там найти. Читать дальше.
Представление каждого объекта операционной системы в виде файла означает, что вы можете найти в файловой системе всевозможные вещи, такие как, например, процессы операционной системы. Запущенные процессы находятся в каталоге /proc, и сегодня мы поговорим о том, что мы можем там найти. Читать дальше.
A curated list of “Top” based monitoring tools for use in Linux and Unix terminals.
В этой статье ссылки на репозитории инструментов для мониторинга Linux.
Для мониторинга статуса процессов: htop, bpytop, btop, bashtop, atop, vtop, gtop, gotop, ytop, treetop, tiptop, pytop, mintop, ntop, below, hegemon, glances, nmon.
Для мониторинга GPU: nvtop, intel_gpu_top, radeontop, gltop.
Для мониторинга сети: iftop, sntop, jnettop, dnstop, nats-top, nettop, pingtop, iptraf-ng.
Для мониторинга дисковой подсистемы: iotop, drbdtop, nfstop, hdtop, viotop.
Для мониторинга контейнеров: ctop, ktop, kube-top.
И много других.
В этой статье ссылки на репозитории инструментов для мониторинга Linux.
Для мониторинга статуса процессов: htop, bpytop, btop, bashtop, atop, vtop, gtop, gotop, ytop, treetop, tiptop, pytop, mintop, ntop, below, hegemon, glances, nmon.
Для мониторинга GPU: nvtop, intel_gpu_top, radeontop, gltop.
Для мониторинга сети: iftop, sntop, jnettop, dnstop, nats-top, nettop, pingtop, iptraf-ng.
Для мониторинга дисковой подсистемы: iotop, drbdtop, nfstop, hdtop, viotop.
Для мониторинга контейнеров: ctop, ktop, kube-top.
И много других.
Debugging Distributed Trace Gaps
Ранее в этом году мы заметили странные пробелы примерно в 0,5% трассировок наших распределенных приложений. Эти перерывы длились до нескольких секунд и приводили к ухудшению обслуживания пользователей и почти ежедневным оповещениям в течение нескольких недель. Мы подозревали, что причина этих пробелов лежит вне кода приложения, где-то в сети или еще в слоях программного обеспечения, поверх которых работают наши приложения.
В этом цикле из 3 статей команда Teachers Pay Teachers разбирается с трассировкой вызовов внутри операционной системы.
Debugging Distributed Trace Gaps with tcpdump
Debugging Distributed Trace Gaps with ftrace
Monitoring Linux Audit
Ранее в этом году мы заметили странные пробелы примерно в 0,5% трассировок наших распределенных приложений. Эти перерывы длились до нескольких секунд и приводили к ухудшению обслуживания пользователей и почти ежедневным оповещениям в течение нескольких недель. Мы подозревали, что причина этих пробелов лежит вне кода приложения, где-то в сети или еще в слоях программного обеспечения, поверх которых работают наши приложения.
В этом цикле из 3 статей команда Teachers Pay Teachers разбирается с трассировкой вызовов внутри операционной системы.
Debugging Distributed Trace Gaps with tcpdump
Debugging Distributed Trace Gaps with ftrace
Monitoring Linux Audit
How to monitor IP changes using cron or a systemd timer
Я использую Raspberry PI в качестве NAS для своей домашней сети, а также использую WireGuard для подключения к своей домашней сети из любого места. Поэтому мне важно знать IP-адрес моей домашней сети. К сожалению, мой домашний общедоступный IP-адрес время от времени меняется. Динамический DNS — это решение, но я предпочитаю не привлекать третьих лиц, поэтому мне остается вручную проверять свой IP-адрес, смотреть, меняется ли он, и обновлять конфигурацию WireGuard на своем телефоне.
Я хотел автоматизировать ту часть, где я всегда знаю свой текущий IP-адрес, поэтому я запустил свой терминал и вот что у меня получилось. Читать дальше.
Я использую Raspberry PI в качестве NAS для своей домашней сети, а также использую WireGuard для подключения к своей домашней сети из любого места. Поэтому мне важно знать IP-адрес моей домашней сети. К сожалению, мой домашний общедоступный IP-адрес время от времени меняется. Динамический DNS — это решение, но я предпочитаю не привлекать третьих лиц, поэтому мне остается вручную проверять свой IP-адрес, смотреть, меняется ли он, и обновлять конфигурацию WireGuard на своем телефоне.
Я хотел автоматизировать ту часть, где я всегда знаю свой текущий IP-адрес, поэтому я запустил свой терминал и вот что у меня получилось. Читать дальше.