Pull to refresh
6
0
Send message

Google Keep как инбокс, интеграция с Telegram

Level of difficultyEasy
Reading time5 min
Views9.4K

Ссылки, скриншоты, статьи, заметки на ходу, важные сообщения — всё это появляется спонтанно, быстро, в разных местах. А потом так же быстро теряется. Закладки, «Избранное» в Telegram, «Посмотреть позже» — удобны в моменте, но со временем превращаются в захламлённые корзины. И главное — всё это разбросано по разным сервисам.

Я искал инструмент, который позволял бы мне фиксировать все интересное быстро, удобно и централизованно. И таким инструментом стал Google Keep — инбокс, точка входа для всего. Расскажу, почему выбрал именного его и как сделал интеграцию с Telegram.

Читать далее

Nginx rewrite: когда нужен break, а когда last

Level of difficultyEasy
Reading time7 min
Views2.6K

Привет, Хабр!

Сегодня рассмотрим, что на самом деле происходит при rewrite в Nginx. Как работает связка rewrite ... break, чем она отличается от rewrite ... last, и как одно неловкое движение может превратить весь конфиг в тыкву.

Читать далее

Мониторим потребление памяти в Linux-системе

Level of difficultyMedium
Reading time12 min
Views11K

Сколько себя помню, меня всегда привлекали счётчики памяти в Linux: смотришь в условный htop – в плане потребления CPU вроде всё +/- понятно, а вот память всегда считалась как-то не так, как ты это на первый взгляд ожидаешь, и долгое время у меня было довольно наивное и ошибочное представление о механизмах её работы.

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

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

Читать далее

LXC теряли память и падали. И при чем же здесь tmpfs и journald?

Level of difficultyEasy
Reading time4 min
Views4.2K

Старый добрый Proxmox с его контейнерами и виртуалками - по-прежнему рабочая лошадка многих компаний. И если нарезать много-много мелких контейнеров, то может случиться, что память куда-то девается со временем, а контейнеры падают в OOM без очевидной причины. Причем не все. Причем иногда. И зачастую проще перезапустить и ехать дальше чем разбираться. А причина есть, и она оказалось довольно проста.

Читать далее

Как избежать 10 частых ошибок в настройке NGINX

Reading time17 min
Views70K


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →

Переменные окружения в Node.js: полное руководство

Reading time10 min
Views20K

В этой статье мы рассмотрим переменные окружения (environment variables) в NodeJs с примерами. По сути, это пары ключ-значение набора данных, которые хранятся на уровне операционной системы. Они важны, поскольку отвечают за: разделение проблем, безопасность, переносимость, масштабируемость, совместимость, интероперабельность.

Читать далее

Как я из телефона сделал сервер для своего бота в телеграме

Level of difficultyMedium
Reading time3 min
Views42K

Как я из телефона сделал сервер для своего бота в телеграме

Все началось с того что я написал своего бота и решил его выложить в открытый доступ, а точнее чтобы он работал круглосуточно, но платить деньги, за хостинг мне не хотелось. И тогда я вспомнил, что у меня как раз в ящиках залежались старые 2 телефона, можно сказать только один, потому что второй я превратил в кирпич (Неправильно перепрошил). Мой путь поиска программы для установки линукса начался с Termux, но к сожелению он работает только с Android 7+. А телефон на Android 5. Поэтому действенным решением я выбрал UserLAnd.

Читать далее

Учимся использовать модуль Ansible Shell для выполнения удалённых команд

Level of difficultyEasy
Reading time9 min
Views30K

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

Читать далее

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Level of difficultyMedium
Reading time11 min
Views148K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Reading time25 min
Views134K
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →

Базовая настройка Zabbix 6.4.0 под CentOS 8 / Rocky Linux 8

Level of difficultyEasy
Reading time5 min
Views14K

Вот прошло уже 2 недели с появления новой версии Zabbix, а именно, версии 6.4.0. И поскольку новым версиям посвещено довольно мало статей, а интерфейс и логику работы они поменяли прямо очень сильно, я решил написать кратенькую инструкцию как с актуальной на данный момент времени вообще жить. Сейчас начнём с основ, а там посмотрим на реакцию публики. Итак...

Читать далее

Сахар для слоненка — быстрый старт c PostgreSQL для команд в НЛМК

Level of difficultyEasy
Reading time8 min
Views8.6K

На протяжении более чем 10 лет работы с PostgreSQL, периодически наблюдаю, как команды на начальном этапе, зачастую, не уделяют внимание ролевой модели базы, или как вся команда работает под суперпользователем postgres и забывает про версионирование схемы.

В процессе общения с различными командами в НЛМК у меня появилась идея предложить им «преднастроенный PostgreSQL». Как в итоге сделали — под катом.

Читать далее

Java для сисадминов

Reading time17 min
Views15K

Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.

Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об  устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.

Читать далее

Дисковая подсистема в ОС Linux

Reading time6 min
Views34K

В сегодняшней статье мы поговорим об устройстве дисковой подсистемы в ОС Linux. Конечно, многие скажут, что на эту тему написано уже множество статей и все и так прекрасно знают, как устроен Линукс и в том числе, как он работает с дисками. Однако, как показывает практика, даже многие администраторы при работе с дисковой подсистемой ограничиваются только начальным разбиением диска при установке операционки. Да и то, с параметрами по умолчанию. Так что я предлагаю подробнее рассмотреть такие вопросы дисковой подсистемы, как: работу с правилами правила системы udev, инструменты для работы с блочными устройствами и планировщики системы ввода/вывода.

Читать далее

Не куб, а кубик: kubernetes для не-highload

Level of difficultyEasy
Reading time11 min
Views19K

Может ли kubernetes сделать жизнь админов небольших и средних компаний проще или же это шайтан-машина для кровавого enterprise и оголтелых стартапов?

Хочется кубер, но колется...

Linux на смартфоне: делаем экран погодной станции, используя Termux и Node-RED

Level of difficultyEasy
Reading time6 min
Views19K

Всем привет!

Сейчас я покажу, как перенести на смартфон проект погодной станции, изначально сделанный под Raspberry Pi. Для этого мы установим программу Termux — эмулятор терминала Linux —, затем поставим на него среду визуального программирования Node-RED и за 5 минут реализуем готовый проект — погодную станцию, то есть экран, выводящий текущую погоду и прогноз. Использовать будем только Free/Open Source- инструменты.

Читать далее

Резервное копирование и восстановление СУБД PostgreSQL

Reading time7 min
Views63K

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

Читать далее

Защищаем данные на проекте: про плагин Calico и правила работы с ним

Reading time8 min
Views4.9K

Привет! Меня зовут Антон Седов, я DevOps-инженер и работаю в команде AGIMA. Мы с ребятами решили рассказать, как настраиваем Zero Trust Network Access через опенсорс-плагин Calico. Статей об этом не очень много, а у нас накопился опыт, которым хочется поделиться. Тут найдете полезную базовую информацию — на случай, если вообще про Calico не слышали. А если слышали — узнаете, как его настроить.

Читать далее

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

Reading time8 min
Views33K

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

Читать далее

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity