Pull to refresh
0
0
Константин Садовский @AsmodeusL

User

Send message

Использование journalctl для просмотра и анализа логов: подробный гайд

Reading time6 min
Views271K


Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструментом очень удобны и заметно облегчают работу системным администраторам.

Эта статья рассматривает основные возможности утилиты journalctl и различные варианты ее применения. С помощью journalctl можно просматривать логи системы, чтобы решить возникшие проблемы на рабочей станции или сервере использующие дистрибутив linux с демоном инициализации systemd, де-факто уже ставшим стандартом в современных Linux-системах, например: RHEL, CentOS, Fedora, Debian и многих других.

Существует мнение, что systemd не так уж и хорош — он нагружает систему и это все еще предмет для споров на сегодняшний день, но нельзя отрицать, что он предоставляет прекрасный набор инструментов для управления системой и поиска проблем. Представьте, что вам приходится иметь дело с проблемным сервером, который даже не загружается — в таком случае можно загрузиться с live-дистрибутива, смонтировать системный раздел и просмотреть логи systemd, чтобы понять, в чем проблема.
Читать дальше →
С каждым годом сфера Data Science обрастает новыми методиками, терминами и направлениями. К счастью, у нас есть почти готовая энциклопедия по этой теме, которую год за годом кропотливо наполняло сообщество Хабра. Есть, правда, проблема: материалы сообщества почти не структурированы и в них сложновато ориентироваться. Чтобы упростить жизнь тем, кто пытается разобраться в этом сумбуре из полезных (и не очень) статей, мы в Data-Science департаменте Газпромбанка собрали коллекцию лучших постов о том, как грамотная работа с данными меняет компании и людей. Подробности — под катом.
Читать дальше

Кунг-фу стиля Linux: регулярные выражения

Reading time11 min
Views31K
Если вы считаете, что умеете готовить, то может, вы знаете о том, как сделать суфле или пахлаву, а может — и не знаете. Но есть кое-что такое, чему вы, вероятно, научились, просто готовя разные блюда. Например, вы, скорее всего, можете вскипятить воду, можете правильно разбить яйцо, можете поджарить мясо. Если говорить о работе в Linux или Unix, то тут тоже можно сделать похожие наблюдения. Возможно, вы не знаете о том, как установить сервер Wayland, или о том, как написать модуль ядра. Но есть определённые базовые навыки, вроде работы с файлами или редактирования текстов, которые люди осваивают независимо от того, чем они занимаются, навыки, которые помогают им в самых разных ситуациях. Один из навыков, полезных в самых разных ситуациях, овладение которым часто вызывает определённые сложности, это — умение пользоваться регулярными выражениями. Многие программы используют их в качестве средства описания шаблонов поиска чего-либо. Обычно — для поиска данных в строках, например — в файлах с каким-то текстом.



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

Разберём основы регулярных выражений, то, что нужно для того, чтобы хорошо их понимать и эффективно использовать.
Читать дальше →

Кунг-фу стиля Linux: организация работы программ после выхода из системы

Reading time9 min
Views19K
Если вы пользуетесь Linux с ранних дней появления этой ОС (или если, вроде меня, начинали с Unix), то вам не надо очень быстро и в больших количествах изучать то новое, что появляется в системе по мере её развития и усложнения. Вы можете разбираться с новым постепенно, в режиме обычной работы. Но если вы только начинаете знакомство с Linux, то вам будет непросто сразу в ней разобраться, сразу понять её особенности. Среди тех, кому приходится изучать Linux с нуля, те, кто пользуется Raspberry Pi, те, кого расстроило то, что Microsoft забросила Windows XP, те, кто развернул облачную среду для своего IoT-проекта, похожего на Skynet.

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


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

Коммутаторы L2, L2+ и L3 — что, когда, куда, откуда, как, зачем и почему?

Reading time9 min
Views251K


«Но это же в любом учебнике по сетям написано!» — возмутится нетерпеливый читатель.


Однако, не нужно спешить с выводами. Написано по этому поводу много, но, к сожалению, далеко не всегда понятным языком. Вот и рождаются вредные мифы.


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


И начинает наш герой ломать голову: взять L3, чтобы «на все случаи жизни», но он дорогой или взять подешевле — L2, а вдруг прогадаешь… Да ещё этот L2+ непонятно что за промежуточный уровень...


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

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

varchar2 и Unicode для тех, кто ничего не понимает в базах данных Oracle или ORA-12899: value too large for column

Reading time3 min
Views18K

Так случилось, что продукт, который мы разрабатываем работает с несколькими реляционными базами данных. Сейчас это MS SQL, Postgres и Oracle. Были запуски под много чем от MySQL до покойного, наверное, Firebird и экзотических Sybase с DB2, но сказ не об этом.

Если с MS SQL и Postgres все более мене понятное-привычное, то с Oracle каждый раз нас ждут какие-то сюрпризы. Проницательный читатель сразу заметит, что "руки у нас кривые" и мы "попросту не умеем его готовить", но если, уважаемому читателю захочется узнать чем varchar (а точнее varchar2) в Богоподобном Oracle отличается от его собратьев, то прошу под кат.

Читать далее

Кунг-фу стиля Linux: sudo и поворот двух ключей

Reading time5 min
Views15K
Если вы работали в современных Linux-системах, включая большинство ОС для Raspberry Pi, то вы, возможно, знакомы с командой sudo. Обычно она позволяет авторизованному пользователю повышать свои полномочия до уровня суперпользователя и решать в таком режиме различные задачи, требующие соответствующих привилегий.

Правда, тут есть одна проблема. Если у вас есть sudo-доступ к системе, то это значит, что вы сможете сделать с ней всё что угодно — по крайней мере, всё, что вам позволено в файле sudoers. А как насчёт операций, ошибка при выполнении которых способна серьёзно нарушить работу системы? Все видели фильмы, в которых для запуска ядерной ракеты нужен одновременный поворот двух ключей, за которым следует нажатие на кнопку «Пуск». Есть ли нечто подобное в Linux?



В Linux есть похожий механизм, но это, на самом деле, не совсем «поворот двух ключей». Речь идёт о проекте sudo_pair, работой над которым занимается компания Square. Это — плагин для sudo, который даёт нам похожие возможности. А именно, речь идёт о том, что один пользователь запрашивает выполнение некоего действия, требующего повышенных привилегий, а другой пользователь авторизует запрос. Причём этот второй пользователь может не только одобрить выполнение операции, но и понаблюдать за тем, что происходит, и даже отменить операцию в том случае, если увидит, что происходит что-то неправильное.
Читать дальше →

Лучшие методики журналирования enterprise-приложений (с точки зрения инженера поддержки)

Reading time15 min
Views12K

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

Давайте разберемся, как писать в журнал полезные сообщения, которые всем понравятся.
Читать дальше →

Безопасный Linux вместе с AppArmor

Reading time5 min
Views53K


В предыдущей статье речь шла о SELinux. Моё впечатление об этой системе безопасности двоякое. С одной стороны безопасности в ИТ много не бывает, и SELinux содержит все необходимое для защиты ОС и приложений от несанкционированного доступа. С другой же стороны он выглядит чересчур громоздким и неоправданно сложным, что делает его применение непрактичным. Не раз и не два в руководствах пользователя по установке коммерческого ПО я видел рекомендации выполнить setenforce 0 перед началом установки.

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

Так же, как и SELinux AppArmor является реализацией системы Mandatory Access Control (MAC), основанной на архитектуре Linux Security Modules (LSM). Модель безопасности Apparmor заключается в привязке атрибутов контроля доступа не к пользователям, а к программам. AppArmor обеспечивает изоляцию с помощью профилей, загружаемых в ядро, как правило, при загрузке.

AppArmor отличается от остальных реализаций MAC в Linux принципом действия на основе путей, еще он позволяет смешивать профили принудительного исполнения и режима предупреждений. Кроме того AppArmor использует вложенные файлы для облегчения разработки и имеет гораздо более пологий барьер для входа, чем тот же SELinux.
Читать дальше →

PostgreSQL Antipatterns: скованные одной цепью EXISTS

Reading time2 min
Views8K
Я уже как-то рассказывал про особенности вычисления условий в SQL вообще и в PostgreSQL, в частности. Сегодня продолжим тему и попробуем написать и пооптимизировать простой запрос — у кого из сотрудников есть на выполнении «суперприоритетные» задачи.

CREATE TABLE task AS
SELECT
  id
, (random() * 100)::integer person -- всего 100 сотрудников
, least(trunc(-ln(random()) / ln(2)), 10)::integer priority -- каждый следующий приоритет в 2 раза менее вероятен
FROM
  generate_series(1, 1e5) id; -- 100K задач
CREATE INDEX ON task(person, priority);

Слово «есть» в SQL превращается в EXISTS — вот с самого простого варианта и начнем:

SELECT
  *
FROM
  generate_series(0, 99) pid
WHERE
  EXISTS(
    SELECT
      NULL
    FROM
      task
    WHERE
      person = pid AND
      priority = 10
  );


все картинки планов кликабельны

Пока все выглядит неплохо, но…
Читать дальше →

Кунг-фу стиля Linux: программное управление окнами

Reading time8 min
Views14K
Операционными системами, которые основаны на Linux и Unix и работают в текстовом режиме, очень легко управлять. Учитывая то, как работает подсистема ввода-вывода Unix, программам, ожидающих на входе то, что вводится с клавиатуры, можно передавать любые данные. А то, что программы обычно выдают на экран, можно перехватить и подвергнуть дальнейшей обработке. Вся операционная система устроена именно так. А вот графические программы, использующие возможности X11, это — уже совсем другое дело. Можно ли управлять графическими программами так же, как управляют программами с текстовым интерфейсом? Точный ответ на этот вопрос зависит от того, что именно понимать под «управлением программами». Но если не вдаваться в детали, то на этот вопрос можно дать положительный ответ.

Как это обычно бывает в Linux и Unix, существует множество способов решения одной и той же задачи. И наша задача — не исключение. Если вам нужны средства для точного управления программами, то можно сказать, что добиться этого можно с помощью утилит, задействующих специальный механизм, называемый D-Bus. Этот механизм позволяет программам так оформлять данные и методы, что ими могут пользоваться другие программы. В идеальном мире программы, которыми нужно управлять, применяют D-Bus, но в реальности всё далеко не так просто. Поэтому сегодня мы поговорим о том, как управлять самыми разными графическими программами в Linux.



Существует несколько утилит, которые позволяют каким-то способом управлять X-окнами. Например, есть инструмент xdo, о котором вы, наверняка слышите не особенно часто. Более популярным средством из этой сферы является утилита xdotool, о которой я расскажу. Кроме того, похожим функционалом обладает wmctrl. Есть ещё программа autokey, которая родственна популярной Windows-программе AutoHotKey.
Читать дальше →

Выявление аномалий в микросервисной архитектуре — обзор инструментов для DevOps и SRE

Reading time7 min
Views8K

Всем привет. Сегодня мы хотели бы поговорить про выявления аномалий в микросервисной среде. Данный пост является краткой выжимкой нашего 40 минутного доклада, который мы делали на онлайн конференции DevOps Live 2020 и, чтобы не писать лонгрид, мы решили сфокусироваться на обзоре инструментов выявления аномалий в распределении значений метрик для автоматизации мониторинга микросервисов, которые возможно быстро начать использовать любой команде.


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


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

Репликация баз данных MySQL. Введение

Reading time9 min
Views53K
Редкая современная продакшн система обходится без репликации баз данных. Это мощный инструмент на пути к повышению производительности и отказоустойчивости системы, и современному разработчику очень важно иметь хотя бы общее представление о репликации. В данной статье я поделюсь базовыми знаниями о репликации, и покажу простой пример настройки репликации в MySQL с помощью Docker.

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

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Reading time5 min
Views31K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!

Как обратиться к человеку на английском, чтобы не было мучительно больно

Reading time5 min
Views55K


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

Но грань между обращениями «sir» и «dude» довольно смазана. Сегодня мы попытаемся разобраться, какое обращение стоит использовать в конкретных ситуациях, чтобы не вызвать негатив в свой адрес. Поехали.
Читать дальше →

В начале был “workflow”

Reading time9 min
Views5.6K

Добрый день! Меня зовут Кирилл, и я DevOps-инженер. За свою карьеру мне не раз приходилось внедрять DevOps-практики как в существующие, так и в новые команды, поэтому хочу поделиться своим опытом и мыслями по поводу стратегий ветвления. Существует множество различных типов рабочих процессов, и чтобы разобраться что к чему, предлагаю рассмотреть пример создания нового программного продукта. 

Читать далее

5 наивных вопросов о беспроводной зарядке, которые продолжают задавать

Reading time10 min
Views131K
На Хабре есть немало статей о беспроводной зарядке смартфонов, и в комментариях к каждой из них, нет-нет, да и проскользнет наивный вопрос, который местные старожилы мгновенно заминусуют, отправив комментатора учить матчасть. Мы как, не побоимся этого слова, крупнейший производитель зарядных устройств для смартфонов с удовольствием проведем ликбез по беспроводным зарядкам, ответим на вопросы и развеем пару мифов. И начнем, пожалуй, с вопроса, от которого большинство хабровчан начинают скрежетать зубами.


Фото: Anker

Книга «Простой Python. Современный стиль программирования. 2-е изд.»

Reading time14 min
Views29K
image Привет, Хаброжители! «Простой Python» познакомит вас с одним из самых популярных языков программирования. Книга идеально подойдет как начинающим, так и опытным программистам, желающим добавить Python к списку освоенных языков. Любому программисту нужно знать не только язык, но и его возможности.

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

Что изменилось? — Абсолютно новые 100 страниц (там есть котики). — Глав стало большое, но они стали короче. — Появилась глава, посвященная типам данных, переменным и именам. — Добавился рассказ о новых возможностях Python, таких как f-строки. — Обновилась информация о сторонних библиотеках. — Новые примеры кода. — Дан обзор библиотеки asyncio. — Рассмотрен новый стек технологий: контейнеры, облачные технологии, data science и машинное обучение. Что осталось неизменным? — Примеры c утками и плохими стихотворениями. Они навечно с нами.
Читать дальше →

Время великих архитектурных сооружений. Рассказ

Reading time23 min
Views4.4K
Аудиокнига

– У вас что-то жарится. Вы сходите на кухню, выключите газ, а то сгорит.
Стоит в дверях, принюхивается. Вот подлец.
У него был чуть жалобный и умный вид, а теперь он ещё поводил носом, втягивая воздух, и стал совершенно похож на беспородного пса. Влез в двери и знает, гад, что его так просто не вытолкать.
Впрочем, Анна и не таких видала.
– Точно. Постойте пока здесь, я схожу на кухню, выключу газ под сковородкой. А потом возьму её и врежу вам по лбу.
– Это незаконно, – мгновенно ответил парень.
– А вламываться ко мне в квартиру законно?
– Я не вламывался, – тут же сказал он, подумал ещё полсекунды и добавил: – Давайте я сделаю шаг назад и окажусь за порогом. Тогда по закону я не у вас в квартире, и вы разговариваете со мной добровольно.
– Да! Сделайте шаг назад, потом ещё шаг, и ещё, и идите к чёрту. Повторю: я не частный инвестор. Я не вкладываю свои деньги, я распоряжаюсь деньгами фонда. Нет смысла лезть ко мне домой. Отправьте свой бизнес-план на мейл. В случае заинтересованности мы вам перезво…

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

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity