Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Мой первый pet-проект: процесс-менеджер synd3

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

Всем привет!

Пишу этот пост, чтобы поделиться своим опытом и получить критику или советы от людей с большим опытом.

Мне 22 года, я из Латвии. По образованию я судовой механик, но уже около 4 лет увлекаюсь программированием. Долгое время это оставалось хобби: пробовал сайты, простые игры — но они не приносили настоящего удовольствия. Я считал, что в программировании нужно было разбираться ещё со школы, и долго не верил, что могу найти себя в этой сфере.

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

Читать далее

AIOps — как воображаемый strartup внедрил ИИ

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

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

Читать далее

OpenSpeedTest: российская альтернатива для проверки скорости интернет-соединения

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

Для многих IT-специалистов, сетевых инженеров и просто технически подкованных пользователей сервис Speedtest by Ookla долгое время был стандартом де-факто для проверки пропускной способности канала. Однако в последнее время пользователи из РФ и ряда других стран сталкиваются с проблемами его доступности. В такой ситуации закономерно возникает вопрос о поиске стабильной и точной альтернативы, не зависящей от внешних ограничений.

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

Читать далее

Решение для автоматизированной установки сетевых принтеров в гетерогенной среде

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

Готового решения найти не удалось, так что, поехали что-то делать кривыми ручками.

Но для начала, что имеем?

Офис на 300 человек и очень разношёрстный парк техники, MacOS, GNU/Linux и конечно Windows 10 и 11. Для первых двух развернут Cups а вот для вторых он не подходит, не буду распинаться почему :-)...

6 принтеров:
- 3шт. Kyocera ECOSYS M3145dn
- 1шт. Kyocera ECOSYS M4132idn
- 1шт. HP PageWide 377dw MFP
- 1шт. HP LaserJet MFP M426fdn
- 1шт. Kyocera ECOSYS MA4000cix

Для начала накидал кратко то, что собираюсь реализовать (aka ТЗ):

- Желание подключать пользователям Win принтера в один клик, а лучше чтобы этот клик и вовсе они сами делали;
- Ставится принтер должен с понятным именем для конечного пользователя
- Подключение по TCP/IP;
- И самое главное - Использование оригинальных драйверов производителя, во избежание каких либо конфликтов с форматом и для доступа к более широкому спектру настроек.

Придумалось следующее решение...

Читать далее

Основы работы с Terraform в Selectel на примере Managed Kubernetes

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

Привет! На связи Андрей Иванов, старший системный администратор по облачным продуктам. Очень часто к нам обращаются клиенты по вопросам автоматизации работы с инфраструктурой. Лучший подход для подобных задач — IaC (Infrastructure as Code), когда весь комплекс элементов и их взаимодействие описывается с помощью кода, вместо настройки вручную. 

Самый известный инструмент для этого — Terraform от компании HashiCorp, который стал отраслевым стандартом для воплощения IaC в жизнь. Сегодня рассмотрим принципы работы с ним, а в качестве примера создадим кластер Managed Kubernetes версии 1.33.5.

Читать далее

Битва в облаках: тестируем скорость популярных хранилищ с помощью Rclone

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

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

Читать далее

Некрокомпиляция или как собрать OpenWatcom для QNX4 под Debian 12 и прикрутить его к Eclipse

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

Меня зовут Ярослав Бомбов и я более 30 лет занимаюсь созданием АСУТП. Как вы понимаете жизненные циклы в АСУТП штука длительная и иногда возникают задачи что-то добавить в систему работающую уже лет 20. И именно такой случай произошел - возникла необходимость изменить код в контроллере под управлением QNX4.

Можно конечно было поговорить на тему "вы в каком морге этого Франкенштейна получали туда и обращайтесь", но при ближайшем рассмотрении оказалось что код мой собственный ;). Самое простое решение открыть mcedit, что-то поправить и собрать в самом QNX4, но для начала надо вспомнить разобраться как все работает, а это удобней делать в современных IDE. Поиск бинарников OpenWatcom (OW) под линукс дал ровно два архива которые в моей системе не заработали. Поэтому решено действовать по принципу - лучше день потерять, потом за пять минут долететь.

Полетели

Патчим Chrome «на лету» для работы с YouTube (вторая часть)

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

Салют, Хабр! В предыдущей статье "Патчим Chrome для работы с YouTube" заменой всего 8 байт в файле chrome.dll мы добились работоспособности YouTube, правда работает это не у всех, но у многих. Теперь напишем программу, которая ищет непропатченный процесс Chrome в ОЗУ компьютера и меняет его прямо "на лету". Права администратора при этом не требуются.

За основу возьмём проект https://github.com/glmcdona/Process-Dump/releases/tag/v2.1.1 который умеет дампить любой процесс на диск. Для этого запустим Chrome и сдампим на диск с использованием утилиты pd64.exe из этого проекта.

Читать далее

MySQL в Uber

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

Как поддерживать свыше 2300 кластеров MySQL без заметных простоев? В Uber это решают разделением на плоскости данных, управления и обнаружения и строгим приведением фактического состояния к desired state. В материале — анатомия control plane (Odin, Cadence, контроллер с правилами), как устроены плавные и аварийные переключения primary, замена узлов и онлайн-изменения схемы; как discovery на etcd и реверс-прокси даёт стабильный VIP; как наблюдаемость, CDC (Storagetapper→Kafka→Hive) и бэкапы закрывают эксплуатацию. ФВ фокусе — инженерные решения, которые позволяют удерживать 99,99% доступности без ручной магии.

К архитектуре

Развёртывание боевого кластера Cassandra. Часть 4

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

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

1. Анализ рабочей нагрузки и требований
2. Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
5. Настройка топологии кластера
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста

В этой части мы возьмём простой советский...

Читать далее

150 млн чтений/с: как Uber усилил консистентность кэша

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

150 млн чтений в секунду — итог скрупулёзной инженерии кэша. В этом кейсе Uber — как ужесточить консистентность без удушения записи: инвалидация «по пути записи» из слоя запросов, дедупликация по commit-timestamp из БД, сочетание TTL и CDC на бинлогах, плюс измерение «черствости» через Cache Inspector. Разобраны реальные источники stale-данных (лаг CDC, реплики, негативное кэширование) и компромиссы вроде read-your-writes — с практическими схемами, которые масштабируются до сотен миллионов RPS.

Читать кейс

Эффективный мониторинг облачных решений: первые шаги от метрик к асинхронным задачам

Время на прочтение8 мин
Количество просмотров836

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

Меня зовут Юлия Рубцова, я ведущий менеджер продукта Yandex Monitoring. В этой серии статей я и мой коллега Владимир Гордийчук @gordiychuk рассказываем про реальные сценарии использования мониторинга облачных решений. Что вас ждёт: мы покажем, как настроить дашборды, быстро проверить гипотезы при расследовании инцидента, а в конце соберём лучшие практики для настройки мониторинга. 

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

Читать далее

Uptrace v2.0: как новый JSON-тип ClickHouse ускорил запросы по трейсам в 10 раз

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

Uptrace v2.0 использует новый JSON-тип ClickHouse для хранения observability-данных. Результат: запросы по трейсам ускорились в 10 раз.

Делюсь практическим опытом внедрения: установка за 5 минут через Docker, настройка data transformations для обработки данных на лету, гибкие retention policies для экономии на хранении.

В статье:

Пошаговая инструкция от установки до production

Примеры кода на Node.js с OpenTelemetry

Кейсы настройки: снижение cardinality URL, парсинг данных, удаление PII

Чеклист для продакшена

Подходит для микросервисных архитектур на 5+ сервисов, где нужна скорость поиска по атрибутам трейсов.

Читать про 10x ускорение

Ближайшие события

Terraform Actions: Глубокое погружение

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

Terraform Actions — это новая концепция, представленная в Terraform 1.14, которая позволяет выполнять операции вне стандартного рабочего процесса CRUD (Create-Read-Update-Delete). Это расширяет возможности Terraform, позволяя взаимодействовать с ресурсами способами, для которых раньше требовались другие инструменты, например Ansible.

Читать далее

Свой прокси DNS сервер для обхода санкций зарубежных сайтов(с использованием VPS)

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

Безусловно, тема обхода ограничений изнутри страны сейчас актуальна. Но что делать, если нужно открыть сайты, которые заблокировали пул IP-адресов из РФ? Например, было интересно создать аналог DNS‑сервера вроде comss, который открывает доступ к заблокированным AI, игровым серверам и тому подобному, с чем не смогут помочь обходы DPI (Возможно, эксперты напишут замечания в комментариях).

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

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

Для примера можно вспомнить Twitch, который заблокировал доступ к просмотру стримов в качестве 1080p и 1440p для пользователей из РФ.

Идём на страницу справки по бета‑тестированию качества 2k на Twitch и смотрим регионы, в которых оно доступно.

Читать далее

Сравнение Grafana и Dimension-UI на задаче мониторинга истории активных сессий

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

Недавно рассказывал про мониторинг истории активных сессий в базах данных Oracle, PostgreSQL, ClickHouse и MS SQL Server с использованием desktop-приложения Dimension-UI (link). В комментариях @KPSB92 задал вопрос о преимуществах/отличиях связки exporter Prometheus/Grafana и Dimension-UI, решил оформить ответ в эту небольшую статью.

Итак, возьмем для примера просмотр данных активных сессий в базе данных PostgreSQL и сравним визуализацию в Grafana и Dimension-UI. Посмотрим работу с интерфейсами обоих систем в динамике с помощью скринкастов.

Читать далее (трафик 21 Мб)

QuasarLinux: когда хочется свободы и удобства

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

OpenRC + AUR + Wine с DXVK/VKD3D + модульный TUI-установщик. Всё это — QuasarLinux, основанный на Artix, но независимый от него.

Читать далее

Умный родительский контроль на MikroTik: Как разрешать доступ в интернет с вашего телефона

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

Стандартные методы родительского контроля часто бывают неудобными: либо вы блокируете всё, кроме пары сайтов, либо тратите кучу времени на ручное ведение "белых списков". Этот метод предлагает элегантное и гибкое решение.

Идея проста: по умолчанию интернет на устройстве ребенка полностью заблокирован. Но как только вы заходите на какой-либо сайт или используете приложение на своем "контрольном" телефоне, его адрес автоматически добавляется в "белый список", и ребенок тут же получает к нему доступ. Вы управляете доступом, просто пользуясь своим телефоном.

Читать далее

Kubernetes 1.29.15 и GPU: как починить пропавшие видеокарты и настроить Time-Slicing

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

В Ситидрайве Kubernetes обновляют регулярно — инфраструктура большая, и актуальность версий критически важна. После апгрейда до версии 1.29.15 один из GPU-узлов внезапно «забыл» о своей видеокарте, и нам пришлось срочно искать решение. В этой статье я расскажу, в чём была причина бага и как Time-Slicing помог повысить утилизацию GPU. Статья будет полезна всем, кто работает с GPU в Kubernetes и хочет избежать подобных сюрпризов в продакшене.

Читать далее

Как мы ускорили ввод новых узлов до 40 секунд: надёжная работа на spot-инстансах в Kubernetes с Karpenter

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

В нашей практике DevOps мы столкнулись с задачей оптимизации Kubernetes-кластера в AWS, включая перевод нагрузки на ARM64-инстансы с процессорами Graviton и эффективное использование spot-инстансов. Благодаря Amazon EKS и Karpenter нам удалось ускорить ввод новых узлов до всего 40 секунд и успевать переносить нагрузку при отборе узлов со стороны AWS. При этом мы сохранили привычный набор инструментов Deckhouse для мониторинга и управления — статья подробно рассказывает о нашем опыте и решениях.

Читать далее