ServerAdmin.ru
30.9K subscribers
510 photos
45 videos
20 files
2.79K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
​​Продолжаю тему просмотра логов. Нашёл ещё один полезный и популярный проект для просмотра логов в браузере в режиме реального времени - log.io. Написан на Node.js с использованием Socket.io. Ставится через nmp в одну команду. Конфиги хранит в формате json.

Архитектура у приложения клиент серверная. Отдельно ставится сервер приёма сообщений и http сервер. Отдельно ставятся клиенты для отправки логов. Log.io может работать в рамках одного сервера.

Установка и настройка очень простая. Описана целиком на главной сайта с примером конфигурации. Не буду сюда это дублировать.

Встроенный веб сервер log.io сам поддерживает http basic auth, так что можно ограничить доступ без применения проксирующего сервера. Как я уже сказал, проект известный, поэтому в сети найдёте много руководств с примерами по установке и настройке. Лично мне хватило информации из документации на guthub.

Обращаю внимание, что сам домен log.io, как я понял, к описываемому продукту не имеет отношения и редиректит на сайт какой-то другой компании.

Сайт - http://logio.org/
Исходники - https://github.com/NarrativeScience/log.io

#logs
На днях в комментариях зашёл разговор о ситуации, когда с утилиты chmod сняли бит исполнения. Эта утилита как раз предназначена для того, чтобы этот бит ставить. Теоретически получается тупиковая ситуация. Это, кстати, отличная безобидная шутка для начинающего Linux админа:
# chmod -x chmod

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

1️⃣ Используем утилиту setfacl. По умолчанию её может не быть в системе, но не проблема установить.
# setfacl -m u::rwx,g::rx,o::x /usr/bin/chmod

2️⃣ Можно запустить утилиту chmod, передав её явно динамическому компоновщику. В контексте данной заметки считайте компоновщик интерпретатором для программы chmod. В разных дистрибутивах он может иметь разное название и расположение. Пример для Debian 11:
# /usr/lib64/ld-linux-x86-64.so.2 /usr/bin/chmod +x /usr/bin/chmod

3️⃣ Можно скопировать права с любого исполняемого файла и записать содержимое утилиты chmod в этот файл. Получается рабочая копия chmod.
Создаём пустой файл с правами утилиты ls.
# cp --attributes-only /usr/bin/ls ./new_chmod
Копируем содержимое утилиты chmod в созданный файл:
# cat /usr/bin/chmod > ./new_chmod
Можно использовать:
# ./new_chmod +x /usr/bin/chmod

4️⃣ Почти то же самое что и предыдущий вариант только проще:
# install -m 755 /usr/bin/chmod ./new_chmod
или так:
# rsync --chmod=ugo+x /usr/bin/chmod ./new_chmod

5️⃣ Если умеете программировать на какой-то языке, то можно с его помощью вернуть бит исполнения. Пример с python:
python -c "import os;os.chmod('/usr/bin/chmod', 0755)"

Если знаете ещё какие-то интересные и необычные решения данной проблемы, делитесь в комментариях.

#terminal #linux #юмор
​​Давно не затрагивал тему мониторинга, потому что все известные продукты так или иначе обозревал ранее в заметках. Посмотреть их можно по соответствующим тэгам. В этот раз хочу познакомить вас с интересным продуктом, ранее который я не обозревал и вообще сам не был с ним знаком. Речь пойдёт о комплексной системе для мониторинга, визуализации и инвентаризации компьютерного оборудования Algorius.

Сразу перечислю основные особенности Algorius:
устанавливается на Windows систему через типовой установщик;
максимально простая и быстрая настройка, в том числе с автоматическим обнаружением устройств в сети;
вся настройка выполняется мышкой в окне программы, никакие конфиги править не надо, долго разбираться и читать документацию тоже, всё интуитивно понятно;
в качестве БД использует SQLite.

А теперь основное по функционалу:
Клиент-серверный доступ к информации. На сервере можно настроить, к каким данным может получать доступ тот или иной клиент. Клиентом выступает отдельное Windows приложение.
В Algorius можно рисовать красивые и наглядные схемы сети с различной разбивкой по сегментам. Можно описать до каждого устройства локальную сеть, а потом все сети описать в общей навигационной карте. Есть поддержка географической карты OpenStreetMap.
Поиск и идентификация устройств могут проходить автоматически с использованием различных механизмов и технологий - ARP, Ping, Netbios, TCP, UDP, SNMP, WMI.
Для устройств можно заполнять инвентарные данные, а также собирать их автоматически отдельным агентом.
Схемы сетей можно импортировать/экспортировать в формат Visio.

Поставил программу, немного посмотрел на неё. Она реально очень проста в настройке. Автоматически просканила сеть, нашла некоторые компы и сервера. Чтобы поставить объект на мониторинг, достаточно открыть его свойства, добавить ip адрес и сенсор, который будет использоваться (ping, tcp или udp запрос на какой-то порт, snmp, arp и т.д.).

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

Algorius платная программа, не Open Source. Есть бесплатная версия с ограничениями:
- 25 хостов мониторинга;
- 5 одновременно открытых карт сетей;
- хранение отчётов 1 месяц;

Если покупать, то цены очень доступные. Мониторинг 500 хостов без каких-либо других ограничений стоит всего 10000р. в год. А 100 всего 2000р.

Сайт - https://algorius.ru

#мониторинг #управление #ITSM
Liefting_Zabbix-5-IT-Infrastructure-Monitoring-Cookbook_RuLi.pdf
12.6 MB
На днях Zabbix в своём блоге анонсировал новую редакцию книги Zabbix 6 IT Infrastructure Monitoring Cookbook. Купить можно в Amazon и Packtpub. Не уверен, что из РФ можно будет оплатить.

Поискал предыдущую редакцию книги, нашлась очень быстро. Её и приложил к посту. Книга кажется объёмной, но реально она не очень большая. Я её всю пролистал и могу посоветовать тем, кто хочет изучить Zabbix.

Рассказано очень доступно с большим количеством скриншотов из веб интерфейса. Из-за этого объём большой. Текстовый материал компактно оформлен по всем основным возможностям системы мониторинга Zabbix.

В 6-й версии есть отличия от 5-й, но не сказать, что прям сильно критичные. Основное - новый синтаксис шаблонов и триггеров. Если вы сами не пишите шаблоны, то для вас это будет не принципиально. Сама установка и настройка осталась плюс-минус такой же.

#zabbix
Давно не было заметок по полезным консольным командам под bash. В комментариях к заметке о find меня попросили поделиться своими шпаргалками для этой утилиты. Собрал наиболее универсальные и часто используемые конструкции.

Вывести только имена файлов. Поиск файлов пойдёт рекурсивно от той директории, где будет запущена команда:
# find | awk -F '/' '{print $NF;}'

Переместить найденные по маске файлы из одной директории в другую:
# find /mnt/backup/*site.ru* -type f -exec mv {} /web/sites/ \;

Найти все файлы по маске и сжать:
# find /data/1c-bases-backup -type f -name 1Cv8.1CD -exec gzip '{}' \;

Переименовать все найденные файлы:
# find /backup/sql -type f -name "*.sql.gz" -exec mv {} {}.old \;

Подробный список файлов размером больше 100М с помощью ls:
# find /data -type f -size +100M -exec ls -lh '{}' \;

Поиск файлов по содержимому (header.php):
# find /web/site.ru -type f -exec grep -i -H "header.php" {} \;

Посчитать количество найденных файлов:
# find /home/user -type f | wc -l

Найти файлы в определённом временном интервале:
# find /mnt/zz_archive -type f -newermt '2022-01-01 00:01' ! -newermt '2022-01-31 23:59'
Потом их можно сжать, переместить и т.д, как было показано в предыдущих примерах.

Искать без учёта регистра:
# find /data -type f -iname FILE_NAME

Поиск файлов, которые менялись сколько то дней назад и более:
# find /data -type f -mtime +30
или в течении последних 5 дней, но не позже:
# find /data -type f -mtime -5
или в определённом промежутке в минутах (10-20 минут назад):
# find /data -type f -mmin -20 -mmin +10

Cортировка по дате изменения:
# find /data -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
и обратная сортировка:
# find /data -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort

Захватил наиболее типовые ситуации, с которыми чаще всего приходится сталкиваться в консоли или скриптах автоматизации.

#bash #terminal #find
​​К заметке про Algorius кто-то вспомнил про программу Friendly Pinger. Типа это реинкарнация старой известной программы, которая безнадёжно устарела. Я знаком с Friendly Pinger, так что хочу немного рассказать об этом.

Впервые увидел её в 2014 году и на тот момент она уже выглядела безнадёжно устаревшей. Её развитие закончилось в 2004 году. Я пришёл в компанию и увидел на экране тамошнего админа какую-то мигающую схему с иконками из Windows 98. Очень удивился представленному зрелищу.

На схему Friendly Pinger была нанесена вся структура офиса с разбивкой по комнатам вместе с серверной. Были добавлены все объекты вплоть до принтеров и виртуальных машин на гипервизорах. Между ними были настроены связи. Узлы помечались активными, если связь с ними была. Если пропадала, то краснели.

Для каждого узла настроен способ подключения к нему. При клике на принтер или свитч, открывался его веб интерфейс, на компьютер юзера - vnc подключение, сервера - подключение по ssh. Реально это всё было очень удобно.

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

Настроить всё это дело тоже очень просто. Раскидываешь объекты по схеме, рисуешь стены, делаешь связи, указываешь ip адреса объектов. Вот и всё. Это не мониторинг, состояние нигде не хранится. Чисто схема сети с активными объектами, к которым можно подключиться в один клик. Для простой тех. поддержки идеальный инструмент.

Было бы интересно узнать, существуют ли какие-то современные аналоги Friendly Pinger? Чтобы все так же просто, быстро и удобно? Ещё очень любопытно, есть ли те, кто Friendly Pinger использует до сих пор?

Приложение бесплатное и полностью рабочее. Можно использовать, если вдруг понадобится. Сайт - http://www.kilievich.com/rus/fpinger/

#управление
​​▶️ На днях вышел отличный ролик на тему создания своего дистрибутива Linux. Автор - Aleksey Samoilov, владелец одноимённого youtube канала, о котором я уже ранее упоминал. Там много интересных видео.

На этом речь идёт про создание своего преднастроенного дистрибутива на базе Debian или Ubuntu. Рассказано всё подробно, наглядно, по шагам. Используется инструмент Live Build для создания своего образа.

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

Записать подобное руководство большой труд. Продолжительность ролика почти час. Так что подписываемся на канал, смотрим, лайкаем и пишем комментарии.

Дистрибутив Linux своими руками | Debian | Ubuntu
https://www.youtube.com/watch?v=_cc6zQBUsXo

#видео
​​На неделе посмотрел бесплатный вебинар (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
​​Расскажу вам про один полезный инструмент, который непосредственно к системному администрированию отношения не имеет, но может быть очень полезен в некоторых ситуациях. Речь пойдёт о сервисе, который позволяет любые структурированные данные на веб страницах переводить в табличный вид.

В Zabbix есть раздел Latest Data, куда я регулярно заглядываю. Иногда хочется для отчёта оттуда вытянуть какие-то данные. Например, статистика по дискам: серийный номер, объём, наработка и т.д. Как-то раз я документацию писал по мониторингу и нужно было описать каждый элемент данных, шаблон, хост и т.д. Делал всё это вручную в Excel. Есть способ, который упрощает эту задачу.

Сервис https://dataminer.io позволяет преобразовывать данные со страниц в табличный вид в полуавтоматическом режиме. Запускаете визард и вручную размечаете страницу, указывая, что будет столбцом, а что строкой. И сохраняете шаблон. Потом с его помощью автоматически генерируете таблицу и сохраняете в xlsx или csv.

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

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

#разное
Вы никогда не задавались вопросом, почему 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 (планировщик). Его иногда называют Скедулер. Мне не понятно это произношение. Правильная транскрипция - Шедулер. Надо с этим тоже разобраться.

#разное
​​Тут есть те, кто до сих пор не знает, как выйти из Vim? Если да, то у меня для вас хорошие новости. Есть игра, которая позволяет в игровой форме освоить этот редактор - Vim Adventures.

Игра работает прямо в браузере. С её помощью можно изучать комбинации клавиш в игровой форме. А комбинации там просто жесть. Например, буквы h, j, k, l соответствуют направлениям влево, вниз, вверх и вправо. Как вам такой поворот? Чем дальше, тем больше жести.

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

Запомнил забавный отзыв о Vim:
Можно сравнить vim с диким и своенравным скакуном, обуздать которого найдутся силы далеко не у каждого, но зато тот, кто сможет это сделать, станет по настоящему лихим наездником!

Я лично Vim не использую, предпочитаю MCedit. Не стал лихим наездником. А вы какой редактор используете?

Сайт - https://vim-adventures.com/

#игра #обучение
​​Ещё один способ организовать мониторинг Nginx - использовать prometheus-nginxlog-exporter. Принцип его действия следующий. В режиме реального времени анализируется лог Nginx. Распознанные метрики из него передаются в Prometheus.

Основная сложность этого способа - настроить соответствие лога nginx и шаблона экспортера. Я сказал "сложность" условно. Просто это единственное, что нужно учесть при настройке, остальное делается на автомате по инструкции. Реально никакой проблемы нет. Формат шаблона у nginxlog-exporter очень простой. Подогнать его под свой лог не проблема. Это не настройка grok фильтра, как у Logstash. Там придётся повозиться, прежде чем получится рабочий вариант.

В целом, использовать Nginxlog-exporter очень просто. Запустить можно сразу в Docker или установить из deb или rpm пакета. В качестве параметров запуска достаточно указать путь к конфигу службы и к логу Nginx. В репозитории есть все примеры.

Дальше всё как обычно. Метрики уходят в Prometheus, далее визуализация с помощью Grafana. В публичном доступе есть один актуальный дашборд, написанный конкретно под prometheus-nginxlog-exporter.

Исходники - https://github.com/martin-helmich/prometheus-nginxlog-exporter

#nginx #webserver
​​Давно ничего не писал в рубрику бесплатных сервисов. Не попадалось чего-то такого, что могло реально быть полезным. В этот раз, мне кажется, предложенный бесплатный хостинг может кому-то пригодиться.

Хостинг https://freehostingnoads.net предлагает бесплатный тарифный план со следующими возможностями:
- 1GB места;
- 5GB трафика (как я понял в месяц);
- 1 домен и 3 поддомена;
- 1 база MySQL;
- 1 почтовый ящик.

Можно использовать бесплатный поддомен в одном из предложенных доменов. Я зарегистрировался (нужен только email), сделал бесплатный домен, закинул php скрипт, создал базу mysql. Всё работает.

Понятно, что это всё несерьезно и подойдёт только для побаловаться. Тем не менее, вполне функционально и полностью бесплатно. Может для чего-то и пригодится.

p.s. Кстати, у меня бесплатные виртуалки от Oracle всё ещё работают. Использую под VPN. Доступ в ЛК вроде как закрыли (не проверял), но сами машины доступны и работают.

#бесплатно #хостинг
​​Поднимал на днях тему просмотра логов в 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
❗️Уже советовал вам канал MikroTik сэнсэй - https://t.me/mikrotik_sensei, когда он только появилась. Его ведёт известный тренер Mikrotik и практикующий инженер Дмитрий Скоромнов.

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

Примеры постов:
Почему устройства Mikritk очень популярны
Возможна ли удалённая блокировка устройств Mikrotik в связи с санкциями?
Маршрутизатор умер, Netinstall не помогает (3 части)

На текущий момент на канале собрана самая большая русскоязычная аудитория по тематике оборудования Mikrotik. Каждый пост продуман, выверен и информативен. Отсюда большой отклик аудитории. В комментариях автор общается, отвечает на вопросы. Присоединяйтесь!

#реклама #mikrotik
​​Рассмотрел уже много различных скриптов и консольных команд на канале. Почти везде так или иначе используется утилита 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
​​Познакомился по рекомендации с полезным сервисом, который позволяет записывать действия в консоли 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
Все еще каждый день какие-то компании уходят из РФ или что-то ограничивают. Парни недавно завели канал, где рассказывают, как и чем заменить софт и сервисы, которые ушли. А ещё о том, как организовать работу, если часть твоих сотрудников уехала из страны. 

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

Любой желающий может задать свой вопрос через бота @russianhelperbot и получить ответ.

Вот ссылка: https://t.me/helprussianbusiness
​​Некоторое время назад я достаточно подробно описывал системы для построения тестовых лаб на основе виртуальных машин. Я их поставил и лично протестировал. Очень удобные инструменты, если вам периодически нужно собирать различные тестовые среды.

Начал с 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
​​Решил проверить, проводит ли сейчас 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 прекратил коммерческую деятельность в России скорее всего по требованию каких-нибудь политиков или регуляторов. Но раз проводит вебинары, значит не поддерживает весь этот движ, но вынужден ему следовать.