Думаю, вы уже слышали, что компания Elastic, как и многие другие, закрыла доступ к своим репозиториям и пакетам с IP адресов из России. Это создаёт некоторые неудобства. У меня полно комментариев к статьям про ELK, что ничего не устанавливается из реп.
Особых проблем в этом нет, так что какой-то глупый демарш получился. Решений тут несколько:
1️⃣ Перейти на какой-то другой форк: Open Distro или OpenSearch. Что это такое и чем они отличаются, я рассказывал в отдельной заметке.
2️⃣ Настроить работу пакетного менеджера через какой-то иностранный прокси. Лично мне не хочется этим заниматься на сервере.
3️⃣ Вручную скачать пакеты через vpn на своей машине и залить на сервер. Мне этот вариант кажется наиболее простым. Обновления приходится делать не часто, тестируя их предварительно. Так что всё равно готовиться надо. Плюс, продукты elastic в своих пакетах содержат практически все, что им надо для работы. В 7-й и 8-й версии даже Java уже запакована в них, не надо ставить отдельно. То есть они автономны.
Ссылки для скачивания:
Elasticsearch, Kibana, Logstash.
Я зашёл через американский vpn, всё скачал и установил.
#elk
🗓 22.04/18:00
Санкт-Петербург
Митап, который нужен сейчас.@Selectel совместно с Space307 проводят митап в поддержку твоего морального духа. Вечер пройдёт в формате PowerPoint Party — будем смотреть смешные, интересные и остроумные презентации от разработчиков, маркетологов и других диджитал-коллег. Никакого занудства, только душевные презентации на любые темы: от рейтинга гифок-поздравляшек из вотсапп до обзора на выдру.
Всё это — в хорошей компании, с крафтовым пивом и вкусной пиццулей. И в красивом офисе Selectel. И бесплатно.
Ждем тебя на Цветочной 19 в Санкт-Петербурге или на онлайн-трансляции: https://slc.tl/0uH05
#реклама
Решил проверить, проводит ли сейчас Zabbix вебинары на русском языке. К моему удивлению, они заявлены в ближайших планах. Несмотря на всевозможные ссанкции, которых уже насчитывается 8000 🤦, сегодня, в 10:00 MSK, будет традиционный вебинар:
Установите и настройте Zabbix за 5 минутРегистрация (zoom)
Постараюсь глянуть, если не просплю. Последнее время по ночам приходится делами заниматься из-за всяких форс-мажоров (2 раза за неделю замок ломался (старый и новый) от входной двери, захожу домой в окно, идёт стройка дома, прохожу реабилитацию позвоночника).
В ближайшее время заявлены следующие вебинары:
Apr 26, 2022, 10:00 - Возможности тегов
May 3, 2022, 10:00 - Зачем нужен мониторинг
May 10, 2022, 10:00 - Обзор системы мониторинга Zabbix
May 24, 2022, 10:00 - Расширение возможностей Zabbix
Далее то же самое по кругу повторяется. Регистрация на отдельной странице для вебинаров.
Если вебинары действительно будут проходить, то это хороший знак. Zabbix прекратил коммерческую деятельность в России скорее всего по требованию каких-нибудь политиков или регуляторов. Но раз проводит вебинары, значит не поддерживает весь этот движ, но вынужден ему следовать.
Некоторое время назад я достаточно подробно описывал системы для построения тестовых лаб на основе виртуальных машин. Я их поставил и лично протестировал. Очень удобные инструменты, если вам периодически нужно собирать различные тестовые среды.
Начал с GNS3, но мне быстро объяснили, что есть инструмент гораздо лучше - EVE-NG. Попробовал бесплатную версию, реально лучше. И только после этого узнал, что есть PNETLab, которая ещё лучше, так как имеет функционал, сопоставимый с платной EVE-NG Pro. Основное удобство PNETLab, которое бросается в глаза - не нужно перезагружать устройство, чтобы переткнуть сетевой линк. В бесплатной EVE-NG это быстро начинает надоедать.
Сразу же прикладываю очень полезную ссылку с готовыми образами для EVE/Pnetlab. Там есть все популярные ОС, в том числе для железок (mikrotik, fortinet, synology). Образы в формате qcow2, так что могут без проблем запускаться на любом KVM гипервизоре. Я некоторые образы брал оттуда и запускал на Proxmox. Например, есть очень урезанный образ Win10, который занимает несколько гигабайт после установки. Все пароли от образов живут в файле passwords_eve.xlsx.
PNETLab полностью бесплатна. Поставить для максимальной производительности лучше на железо. Но если его нет, то заработает и во вложенной виртуализации с соответствующей просадкой по производительности. Конкретно я запускал в KVM. Как будет с другими гипервизорами, не знаю, но думаю, что решаемо.
На самом сайте pnetlab есть бесплатные готовые тестовые лабы, которые можно скачать и посмотреть. Там же образы для VM.
Сайт - https://pnetlab.com
Установка Pnetlab на VMWare Workstation:
https://www.youtube.com/watch?v=aTSzwsUGlP4
#testlab
Все еще каждый день какие-то компании уходят из РФ или что-то ограничивают. Парни недавно завели канал, где рассказывают, как и чем заменить софт и сервисы, которые ушли. А ещё о том, как организовать работу, если часть твоих сотрудников уехала из страны.
Ребята стараются помочь бизнесу и ИТ-специалистам адаптироваться к новой реальности. В таких ситуациях классно получить готовое решение от тех, кто в этом разбирается. В канал также привлекаются профильные эксперты для участия в обсуждениях.
Любой желающий может задать свой вопрос через бота @russianhelperbot и получить ответ.
Вот ссылка: https://t.me/helprussianbusiness
Познакомился по рекомендации с полезным сервисом, который позволяет записывать действия в консоли Linux или Windows (powershell), публиковать их в общий доступ для просмотра в браузере или создавать на их основе gif ролики.
Всё это можно сделать с помощью Terminalizer:
https://github.com/faressoft/terminalizer
Open Source программа, написанная на JavaScript. Установить можно с помощью npm:
# apt install npm# npm install -g terminalizer
Если будете запускать под root, как это делаю обычно я, то добавьте пару ключей:
# npm install -g terminalizer --unsafe-perm=true --allow-root
Для того, чтобы записать свою работу в консоли, достаточно запустить terminalizer и в качестве параметра указать имя файла, в который будет записана последовательность действий и вывод экрана:
# terminalizer record demo-rolik
Утилита напишет, что для завершения записи надо нажать CTRL+D, но у меня это не срабатывало при подключении по ssh. Так что выходил, просто набирая в консоли:
# exit
После окончания записи вам предложат зарегистрироваться на сайте https://terminalizer.com и выложить запись в общий доступ. Можете отказаться, если вам этого не нужно. Если же согласитесь, то получите ссылку вида https://terminalizer.com/view/eaf819495681, которую можно посмотреть в браузере.
Если не хотите загружать на сайт, то можете просмотреть запись в терминале:
# terminalizer play demo-rolik
Или сгенерировать на его основе гифку:
# terminalizer render demo-rolik
Для того, чтобы гифка в итоге получилась, нужна куча зависимостей, потому что используется electron и gtk. Как минимум нужно будет поставить:
# apt install libgtk-3-0 libgtk-3-dev# apt install libxss1# apt install xscreensaver
Насколько я понял, если у вас ноут с графикой, то всё это там будет. Я тестировал на чистом Ubuntu Server с голой консолью. Под root тоже не заведётся без танцев с бубном, так как electron по дефолту не хочет под ним работать. Нужен обычный юзер.
Из недостатков заметил один баг в готовых роликах. Немного обрезается верхняя часть шрифтов. Возможно это исправляется настройками отображения, которые можно очень гибко настраивать. Там и цвет, и шрифт, и его размер и многое другое. Я не разбирался. В репе есть описание всех возможностей.
С помощью terminalizer можно просить о помощи, записывая свои действия и вывод. Либо сохранять какие-то свои наработки, инструкции, примеры. Так как все записи хранятся в обычных текстовых файлах формата yml, положить всё это можно в git репозиторий.
#terminal
Рассмотрел уже много различных скриптов и консольных команд на канале. Почти везде так или иначе используется утилита grep. Отдельно её ни разу не рассматривал и сейчас хочу это исправить.
Какой Linux админ не любит хорошенько грепнуть? Наравне с cat это, пожалуй, самая популярная консольная утилита, которую используешь постоянно. Буквально каждый день. Почти любой консольный вывод я грепаю, чтобы получить только нужную информацию.
Ниже несколько примеров не самых распространённых использований grep, но при этом полезных. Основной функционал, думаю, и так все знают.
Исключение из вывода части строки:
# echo 'raz_dva_tri' | grep -Po '\Kdva_tri'dva_tri
Начало фразы raz_ вырезали. Здесь используются два ключа: P (perl-regexp) - использование регулярного выражение Perl, o (only-matching) - возвращает только совпадение с образцом. \K - регулярка, которая отбрасывает всё, что перед ней.
Проверка файла на наличие pattern.
# grep 'pattern' file > /dev/null && echo 'String Found'# grep -q 'pattern' file && echo 'String Found'
Если pattern не будет найден в файле, конструкция && не сработает.
Посчитать количество совпадений pattern в файле:
# grep -c pattern file
Рекурсивный поиск файлов, где найден шаблон:
# grep -lr 'pattern' /web/site.ru
И обратная история, когда нужно вывести файлы, которые не содержат шаблон:
# grep -Lr 'pattern' /web/site.ru
Опять рекурсивный поиск по директории, только выводим не имена файлов, а все совпадающие строки:
# grep -hr 'pattern' /var/log
Бывает нужно когда какой-то ip пробиваешь по нескольким логам.
Когда через grep нужно вывести символы регулярных выражений, их нужно экранировать \ или использовать ключ F (fixed-strings):
# cat /var/log/syslog | grep 'systemd\[1]'# cat /var/log/syslog | grep -F 'systemd[1]'
Да, я знаю, что не надо тут использовать cat, но я привык. Правильнее сделать так:
# grep -F 'systemd[1]' /var/log/syslog
Ничего не могу с собой поделать. Использую всегда с cat. Причина проста - не всегда нужен grep, а смотреть что-то в консоли я привык через cat. Так что мне проще сначала сделать просто cat, а потом грепнуть вывод в случае необходимости.
Ещё одна полезная опция grep - i (ignore-case) игнорировать регистр шаблона. Будут найдены и заглавные, и строчные совпадения.
# grep -i 'Page.html' /web/site
Вывести рядом с найденной строкой 2 до и 2 после:
# last | grep -A2 -B2 'reboot'
#bash #terminal
❗️Уже советовал вам канал MikroTik сэнсэй - https://t.me/mikrotik_sensei, когда он только появилась. Его ведёт известный тренер Mikrotik и практикующий инженер Дмитрий Скоромнов.
Прошло более полугода с момента открытия канала, на который я сам подписан и постоянно читаю, так что могу его смело рекомендовать. Все посты авторские с уникальной информацией, которой зачастую нет в открытых источниках. Встречаются некоторые вещи, которых нет и в официальной документации.
Примеры постов:
◽ Почему устройства Mikritk очень популярны
◽ Возможна ли удалённая блокировка устройств Mikrotik в связи с санкциями?
◽ Маршрутизатор умер, Netinstall не помогает (3 части)
На текущий момент на канале собрана самая большая русскоязычная аудитория по тематике оборудования Mikrotik. Каждый пост продуман, выверен и информативен. Отсюда большой отклик аудитории. В комментариях автор общается, отвечает на вопросы. Присоединяйтесь!
#реклама #mikrotik
Поднимал на днях тему просмотра логов в Linux. В комментариях неоднократно получил рекомендацию на утилиту lnav. Попробовал её и оценил. Классный функционал. Расскажу подробнее.
lnav есть в базовых репах Debian и RHEL. В других дистрибутивах не проверял. Ставится просто:
# apt install lnav# dnf install lnav
Lnav понимает ряд наиболее популярных форматов логов, таких как access логи веб сервера, syslog, dpkg, strace и некоторые другие. Она их автоматически парсит, подсвечивает, позволяет быстро делать какие-то выборки. Например, посмотреть все ошибки в syslog, показать по ним статистику, вывести информацию по какой-то службе и т.д.
Основное, что очень понравилось в Lnav - возможность открыть сразу несколько логов и увидеть их наложение на одном экране. Это очень удобно в некоторых ситуациях, когда надо что-то расследовать. Нигде раньше не встречал подобного функционала. Когда нужно было сопоставить логи, открывал их либо в соседних вкладках на одном экране, либо как-то ещё. С Lnav просто делаем вот так и смотрим оба лога:
# lnav /var/log/auth.log /var/log/syslog
Если утилита распознала формат, то выстроит строки обоих логов в порядке времени событий. На картинке ниже пример.
Помимо прочего Lnav умеет сазу открывать архивные логи, отображать содержимое в режиме реального времени, применять сложные фильтры для отображения нужных строк.
Осталось хорошее впечатление классической консольной программы в Linux с полезным и уникальным функционалом. Рекомендую 👍
#linux #logs
Давно ничего не писал в рубрику бесплатных сервисов. Не попадалось чего-то такого, что могло реально быть полезным. В этот раз, мне кажется, предложенный бесплатный хостинг может кому-то пригодиться.
Хостинг https://freehostingnoads.net предлагает бесплатный тарифный план со следующими возможностями:
- 1GB места;
- 5GB трафика (как я понял в месяц);
- 1 домен и 3 поддомена;
- 1 база MySQL;
- 1 почтовый ящик.
Можно использовать бесплатный поддомен в одном из предложенных доменов. Я зарегистрировался (нужен только email), сделал бесплатный домен, закинул php скрипт, создал базу mysql. Всё работает.
Понятно, что это всё несерьезно и подойдёт только для побаловаться. Тем не менее, вполне функционально и полностью бесплатно. Может для чего-то и пригодится.
p.s. Кстати, у меня бесплатные виртуалки от Oracle всё ещё работают. Использую под VPN. Доступ в ЛК вроде как закрыли (не проверял), но сами машины доступны и работают.
#бесплатно #хостинг
🚀 Data Engineering — перспективная сфера на стыке дата-аналитики и дата-сайенс. Эта профессия может стать мощным рывком в карьере для разработчиков, администраторов СУБД и другим техническим специалистам, которые хотят решать интересные задачи в сфере Big Data. Освоить эту специальность поможет онлайн-курс «Data Engineer (https://otus.pw/41SE/)» от OTUS.
✅ За 4 месяца вы научитесь:
✔️ Работать с Architecture, Data Lake, DWH и MLOps
✔️ Адаптировать датасеты для дальнейшей работы и аналитики
✔️ Работать с компонентами экосистемы Hadoop, распределенными хранилищами и платформам
✔️ Строить и управлять архитектурой данных в компании и многое другое
В новом потоке вас ждет актуализированная программа, реальные кейсы, отработка навыков на виртуальных стендов и практика в Yandex.Cloud.
👉 Чтобы оценить подойдет ли вам курс, нужно пройти вступительный тест https://otus.pw/p48u/
🎁 Все, кто пройдут тест до 10 мая, получат скидку 30%. Промокод: dataEng2022
#реклама
Ещё один способ организовать мониторинг Nginx - использовать prometheus-nginxlog-exporter. Принцип его действия следующий. В режиме реального времени анализируется лог Nginx. Распознанные метрики из него передаются в Prometheus.
Основная сложность этого способа - настроить соответствие лога nginx и шаблона экспортера. Я сказал "сложность" условно. Просто это единственное, что нужно учесть при настройке, остальное делается на автомате по инструкции. Реально никакой проблемы нет. Формат шаблона у nginxlog-exporter очень простой. Подогнать его под свой лог не проблема. Это не настройка grok фильтра, как у Logstash. Там придётся повозиться, прежде чем получится рабочий вариант.
В целом, использовать Nginxlog-exporter очень просто. Запустить можно сразу в Docker или установить из deb или rpm пакета. В качестве параметров запуска достаточно указать путь к конфигу службы и к логу Nginx. В репозитории есть все примеры.
Дальше всё как обычно. Метрики уходят в Prometheus, далее визуализация с помощью Grafana. В публичном доступе есть один актуальный дашборд, написанный конкретно под prometheus-nginxlog-exporter.
Исходники - github.com/martin-…exporter
#nginx #webserver
Тут есть те, кто до сих пор не знает, как выйти из Vim? Если да, то у меня для вас хорошие новости. Есть игра, которая позволяет в игровой форме освоить этот редактор - Vim Adventures.
Игра работает прямо в браузере. С её помощью можно изучать комбинации клавиш в игровой форме. А комбинации там просто жесть. Например, буквы h, j, k, l соответствуют направлениям влево, вниз, вверх и вправо. Как вам такой поворот? Чем дальше, тем больше жести.
Игра вроде как платная, но я поиграл немного и не понял, в какой момент там надо платить. Скорее всего стоит какое-то ограничение по уровням для бесплатной версии, и чтобы пойти дальше, нужно будет заплатить.
Запомнил забавный отзыв о Vim:
Можно сравнить vim с диким и своенравным скакуном, обуздать которого найдутся силы далеко не у каждого, но зато тот, кто сможет это сделать, станет по настоящему лихим наездником!
Я лично Vim не использую, предпочитаю MCedit. Не стал лихим наездником. А вы какой редактор используете?
Сайт - https://vim-adventures.com/
#игра #обучение
⚡️Почему безопасность должна быть на всех этапах CI/CD?
🔥Узнайте 20 апреля в 20:00 (мск) на открытом уроке c Филиппом Игнатенко, руководителем направления безопасной разработки в компании Digital Energy.
📚На занятии мы затронем темы:
- Работа над ошибками классического подхода к защите информации.
- Рассмотрение DevSecOps как ключа к парадигме правильной безопасной разработки.
- Способы трансформации DevOps-процессов в безопасную среду, ускоряющую процессы разработки и формирующую кибер-иммунитет у ваших приложений.
👉🏻Регистрация на урок: https://otus.pw/1iq6/
Открытый урок— это возможность попробовать обучение на онлайн-курсе «Внедрение и работа в DevSecOps» и познакомиться с преподавателем.
#реклама
Вы никогда не задавались вопросом, почему SQL иногда произносят как Эс-Кью-Эль, а иногда как Сиквел? Причём последнее произношение часто упоминается в контексте MSSQL. Сам Билл Гейтс называл свой сервер - Сиквел сервер. Хотя казалось бы, в аббревиатуре и расшифровке сиквелом и не пахнет. Как то раз пришла в голову идея прояснить этот момент. Вот что я нашёл.
В 1974 году был опубликован язык запросов SEQUEL (Structured English Query Language — «структурированный английский язык запросов»), в основе которого лежала SQUARE (Specifying Queries As Relational Expressions). Именно SEQUEL произносят как Сиквел.
Акроним SEQUEL в тот момент уже был зарегистрирован как торговая марка британской компании Hawker Siddeley, производящей авиационную технику. Поэтому название языка запросов было изменено на Structured Query Language, сокращенно — SQL.
В 1979 году был выпущен первый SQL-продукт — СУБД Oracle V2. Потом почти сразу же вышла СУБД от IBM — System R. И там, и там использовался язык запросов SEQUEL.
Именно отсюда и пошло это произношение, которое изначально использовали специалисты того времени. Остаточным эхом это произношение дошло и до наших дней. Я лично его слышал ещё в университете 2000-х от преподавателя. И на первой работе админ MSSQL, с которым я работал, тоже называл его Сиквел. Я ещё тогда не мог понять, откуда такое произношение.
То, что я написал, лишь версия. Как на самом деле было, трудно узнать наверняка. В подтверждении написанного есть видео записи с тем же самым Гейтсом, где он говорит Сиквел. На современных конференциях до сих пор можно услышать Сиквел, вместо Эс-Кью-Эль.
Есть ещё одно слово, которое не даёт мне покоя — Scheduler (планировщик). Его иногда называют Скедулер. Мне не понятно это произношение. Правильная транскрипция - Шедулер. Надо с этим тоже разобраться.
#разное
Расскажу вам про один полезный инструмент, который непосредственно к системному администрированию отношения не имеет, но может быть очень полезен в некоторых ситуациях. Речь пойдёт о сервисе, который позволяет любые структурированные данные на веб страницах переводить в табличный вид.
В Zabbix есть раздел Latest Data, куда я регулярно заглядываю. Иногда хочется для отчёта оттуда вытянуть какие-то данные. Например, статистика по дискам: серийный номер, объём, наработка и т.д. Как-то раз я документацию писал по мониторингу и нужно было описать каждый элемент данных, шаблон, хост и т.д. Делал всё это вручную в Excel. Есть способ, который упрощает эту задачу.
Сервис https://dataminer.io позволяет преобразовывать данные со страниц в табличный вид в полуавтоматическом режиме. Запускаете визард и вручную размечаете страницу, указывая, что будет столбцом, а что строкой. И сохраняете шаблон. Потом с его помощью автоматически генерируете таблицу и сохраняете в xlsx или csv.
Сервис платный, но есть бесплатный тарифный план, который позволяет обработать 500 страниц в месяц. Для непостоянных задач этого хватает за глаза. Для работы нужно установить плагин в свой браузер. Я разобрался с этой штукой где-то за пол часа и распарсил нужные мне страницы.
Чтобы быстро понять, как это работает, можно посмотреть трехминутное видео на главной сервиса.
#разное
Сетевые диски в Selectel с поддержкой бэкапов по расписанию
Организовать хранение данных на облачных серверах в Selectel — быстро и безопасно! Подключите к сетевым дискам бэкапы по расписанию, чтобы регулярно делать резервные копии, а в случае ошибки или сбоя не потерять нужные вам данные.
Цены:
⚈ Сетевой диск — от 7,28 ₽ за 1 Гб,
⚈ Услуга по резервному копированию — 3,7 ₽ за 1 Гб бэкапов в месяц. Вы можете сделать расчет под нужный объем и количество копий.
Ссылка: https://slc.tl/stNmy
#реклама
На неделе посмотрел бесплатный вебинар (Rebrain) на тему мониторинга Nginx под нагрузкой. Он оказался очень интересным и полезным, потому что узнал новый для себя способ мониторинга Nginx. Он оказался простым в настройке и функциональным. Ниже стек софта для реализации. При желании все инструкции находятся через поиск. Главное, знать что искать. Я обычно nginx мониторю традиционно, через анализ /nginx_status и лог файлов. Ниже будет описан другой способ.
Дано: балансер на Nginx и какое-то количество бэкендов, на которые nginx проксирует запросы. Надо мониторить этот балансер. Конкретно следующие метрики:
- ответы с разбивкой по http кодам;
- некоторые тайминги ответов;
- информация по запросам в разрезе трафика и их количества (rps).
Всё это с разбивкой по бэкендам, чтобы можно было их сравнивать и обнаруживать аномалии на конкретных серверах.
Для подобного мониторинга используется бесплатный nginx-module-vts. Необходимо самостоятельно собрать Nginx с этим модулем. В модуле настраиваются метрики, которые он будет выдавать. Этот модуль по дефолту умеет показывать все свои метрики в html странице. Понятное дело, что для полноценного мониторинга всё это надо отправить в какую-то единую систему.
VTS модуль умеет экспортировать метрики в формате Prometheus и без проблем подключается через static_config. Далее прикручивается Grafana. У неё есть готовые дашборды для VTS.
Подобный мониторинг настраивается буквально за считанные минуты. Самое хлопотное тут - сборка Nginx. Всё остальное по сути представлено в готовом виде: VTS экспортер в prom, докер контейнеры для prometheus и grafana и готовый дашборд. К примеру, в Zabbix всё это так просто не затолкать. Придётся потратить кучу времени, чтобы распарсить вывод модуля и написать шаблон. В настоящий момент я всё это получаю в ELK, но только без разбивки по бэкендам.
#nginx #webserver