Обновить
0
0

Пользователь

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

Магия ssh

Время на прочтение12 мин
Охват и читатели86K

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →

Как в Smarkets улучшили мониторинг для своих Kubernetes-кластеров

Время на прочтение7 мин
Охват и читатели4.9K
Прим. перев.: автор этой статьи — ведущий инженер по инфраструктуре в Smarkets, что позиционирует себя как «одну из самых прибыльных [по доходам на каждого сотрудника] компаний в Европе». Работая с большой и чувствительной к мониторингу инфраструктурой на базе Kubernetes, инженеры компании нашли своё счастье с VictoriaMetrics, которая помогла им решить проблемы с Prometheus, возникшие после добавления новых K8s-кластеров.

Мониторинг внутренних endpoint'ов и API Kubernetes может быть проблематичным, особенно если стоит задача использовать автоматизированную инфраструктуру как сервис. Мы в Smarkets еще не достигли этой цели, но, к счастью, уже довольно близки к ней. Я надеюсь, что наш опыт в этой области поможет и другим реализовать нечто подобное.

Мы всегда мечтали о том, чтобы разработчики прямо «из коробки» получали возможность мониторинга для любого приложения или сервиса. До перехода на Kubernetes эта задача выполнялась либо с помощью метрик Prometheus, либо с помощью statsd, который пересылал статистику на базовый хост, где она конвертировалась в метрики Prometheus. Наращивая применение Kubernetes, мы начали разделять кластеры, и нам захотелось сделать так, чтобы разработчики могли экспортировать метрики напрямую в Prometheus через аннотации к сервисам. Увы, эти метрики были доступны только внутри кластера, то есть их нельзя было собирать глобально.

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

Бангалор: «кремниевое плато» и столица мирового аутсорсинга

Время на прочтение7 мин
Охват и читатели20K

Где-то в нулевых годах в английском языке появился неологизм «to bangalore / bangalored». Интернет-словари вполне однозначно расшифровывают его значение: to outsource (an employee, position, or function) to India, especially to Bangalore. Речь идёт о практике, когда американские и европейские компании увольняли своих айтишников или отказывались от услуг местных подрядчиков из экономии, передавая IT-задачи на аутсорс в Индию.

В большинстве случаев при «убангалорении» географически заказ отправлялся именно в город Бангалор, столицу южноиндийского штата Карнатака, лежащий на юго-востоке плато Декан. Как и описанный в предыдущей статье китайский Чжунгуаньцунь, Бангалор претендует на звание «Кремниевой долины Азии». И уж точно является аналогом калифорнийской Долины для всего индийского субконтинента. Ну а за расположение на плато Декан его альтернативным и уникальным названием стало «кремниевое плато».
Читать дальше →

Мониторим ресурсы кластеров Kubernetes

Время на прочтение3 мин
Охват и читатели13K


Я создал Kube Eagle — экспортер Prometheus. Оказалось, крутая штука, которая помогает лучше разбираться в ресурсах маленьких и средних кластеров. В итоге я сэкономил не одну сотню долларов, потому что подбирал правильные типы машин и настраивал ограничения ресурсов приложений под рабочие нагрузки.


Я расскажу о преимуществах Kube Eagle, но сначала объясню, из-за чего вышел сыр-бор и для чего понадобился качественный мониторинг.

Читать дальше →

Секреты observability. Часть 2: алерты

Время на прочтение8 мин
Охват и читатели18K

image
Фото Ricardo Gomez Angel, Unsplash.com


Используем метрики для отправки уведомлений через Slack


В предыдущей статье мы задеплоили оператор Prometheus с помощью helm-чарта и на примере набора сервисов увидели, как можно собирать метрики через prom-client и экспортеры. Как вы помните, цель observability (наблюдаемости) — узнать статус системы, поэтому нужные люди должны получать уведомления, когда значения метрик выходят за установленные пределы. Для этого надо настроить алерты.

Читать дальше →

Как подружиться с OOM Killer: кейс Southbridge

Время на прочтение6 мин
Охват и читатели30K

OOM Killer — защитный механизм ядра Linux, призванный решать проблемы с нехваткой памяти. При исчерпании доступной памяти он принудительно «убивает» наиболее подходящий по приоритетам процесс, отправляя ему сигнал KILL. Сообщение об этом отображается в /var/log/syslog (Debian/Ubuntu) или /var/log/messages (Centos/Rhel).

Иногда OOM Killer может затрагивать важные процессы, нарушая работу проекта. Как исправить это, узнали у Сергея Юдина, инженера Southbridge. Ниже подробный кейс с примерами кода. 

Читать далее

Go optimizations in VictoriaMetrics. Александр Валялкин

Время на прочтение22 мин
Охват и читатели8K

Предлагаю ознакомиться с расшифровкой доклада конца 2019 года Александра Валялкина "Go optimizations in VictoriaMetrics"


VictoriaMetrics — быстрая и масштабируемая СУБД для хранения и обработки данных в форме временного ряда (запись образует время и набор соответствующих этому времени значений, например, полученных через периодический опрос состояния датчиков или сбор метрик).


Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) (2019г)

Время на прочтение15 мин
Охват и читатели19K


Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics.

VictoriaMetrics и мониторинг приватных облаков. Павел Колобаев

Время на прочтение9 мин
Охват и читатели58K


VictoriaMetrics — быстрая и масштабируемая СУБД для хранения и обработки данных в форме временного ряда (запись образует время и набор соответствующих этому времени значений, например, полученных через периодический опрос состояния датчиков или сбор метрик).

Устройство и механизм работы Prometheus Operator в Kubernetes

Время на прочтение6 мин
Охват и читатели68K
В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes.

image

С первого взгляда Prometheus может показаться достаточно сложным продуктом, но, как и любая хорошо спроектированная система, она состоит из явно выраженных функциональных компонентов и по сути делает всего три вещи: а) собирает метрики, б) выполняет правила, в) сохраняет результат в базу данных временных рядов (time series). Статья посвящена не столько самому Prometheus, сколько интеграции этой системы с Kubernetes, для чего мы активно используем вспомогательный инструмент под названием Prometheus Operator. Но начать всё же необходимо с самого Prometheus…
Читать дальше →

Google's Shell Style Guide (на русском)

Время на прочтение14 мин
Охват и читатели26K

Предисловие


Какой Shell использовать


Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.


Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


Когда использовать Shell


Shell следует использовать только для небольших утилит или простых скрптов-оберток.


Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

Читать дальше →

Подготовка эффективной среды для написания bash сценариев

Время на прочтение17 мин
Охват и читатели50K

Bash, он же возрождённый shell, является по-прежнему одним из самых популярных командных процессоров и интерпретаторов сценариев. Как бы его ненавидели и не пытались заменить, всё равно он присутствует вокруг нас и никуда не собирается исчезать. Если вам приходится писать bash скрипты или вы только планируете этим заняться, данная статья написана для вас.

Читать далее

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Время на прочтение8 мин
Охват и читатели74K

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

Читать далее

Выучить английский самостоятельно вполне реально, если вы айтишник. И вот почему

Время на прочтение5 мин
Охват и читатели54K

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

Читать далее

Сбор и анализ логов с Fluentd

Время на прочтение12 мин
Охват и читатели99K
fluentd

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

От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible

Время на прочтение9 мин
Охват и читатели147K


Количество серверов в нашей инфраструктуре уже перевалило за 800, хотя еще год назад их было около 500. Для работы с этим всем активно используются решения от Red Hat. Про FreeIPA — для организации и управления доступами для Linux-серверов — мы уже писали, сейчас же я хочу затронуть тему управления конфигурациями. Для этих целей у нас юзается Ansible, а с недавних пор к нему добавился AWX — представленное полгода назад решение для централизованного управления плейбуками, расписанием их запусков, управления инвентори, учетными данными для доступа к серверам, а также механизм callback'ов для запроса конфигураций со стороны сервера.

Из-за ряда вещей мы не сразу смогли интегрировать его для работы с нашим основным проектом War Robots, но полей для проверки AWX нашлось предостаточно. Во-первых, в компании ведутся разработки новых проектов, которым нужны dev/stage-окружения и, само собой, production-окружения в перспективе. А недавно к этому добавился еще и проект для внутренней аналитики, которому потребовался полностью новый кластер.

Итак, начнём!
Читать дальше →

Что такое JSON

Время на прочтение11 мин
Охват и читатели1M

JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. Но при этом формат независим от JS и может использоваться в любом языке программирования.

JSON используется в REST API. По крайней мере, тестировщик скорее всего столкнется с ним именно там.

И если в SOAP API возможен только формат XML, REST поддерживает как XML, так и JSON. Разработчики предпочитают JSON — он легче читается человеком и меньше весит.

 

Читать далее

Регулярные выражения (regexp) — основы

Время на прочтение21 мин
Охват и читатели1.5M

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее

NetSarang xShell — мощный клиент SSH

Время на прочтение3 мин
Охват и читатели33K
image

Всё ещё пользуетесь Putty + WinSCP/FileZilla?

Тогда рекомендуем обратить внимание на такое ПО как xShell.

  • Он поддерживает не только SSH протокол, но и другие. Например, telnet или rlogin.
  • Одновременно можно подключаться к нескольким серверам (механизм вкладок).
  • Нет необходимости каждый раз вводить данные, их можно запомнить.
  • Начиная с 6-й версии появился русский интерфейс, понимает все русские кодировки, в том числе и UTF-8.
  • Поддерживает как подключение по паролю, так и подключение по ключу.

Читать дальше →

Перепрограммируй свою психику: конспект тренинга Ивана Замесина

Время на прочтение12 мин
Охват и читатели13K

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

Курс мне очень понравился и я решил сделать для вас выжимку с самыми важными тезисами, отвечающими на вопрос из названия тренинга.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность