Я уже вижу очертания будущей войны роботов и людей. У меня в районе уже несколько лет Яндекс обкатывает свои такси на ИИ. Сейчас всё чаще вижу, что машинами управляют не люди. Только наблюдают за ними. Раньше было не так. Управляли водители, ИИ учился.
Машин много, на глаз, пару десятков. Они ещё и ночуют практически у меня под домом. То есть наблюдаю я это всё постоянно уже не первый год. И вот, что вырисовывается.
Роботов научили ездить аккуратно, внимательно, всех пропускать, на мигающий не лезть и т.д. В общем, ездить как культурные люди. А суть в том, что большинство людей не такие. И они постоянно бибикают, ругаются, подрезают и выражают всяческое презрение, когда робот действует спокойно и аккуратно.
Вот конкретные примеры раздражения, которые наблюдал я:
1️⃣ Человек только подходит к пешеходному переходу, робот уже останавливается.
2️⃣ Светофор мигает жёлтым, робот останавливается заблаговременно.
3️⃣ Робот пропускает машины, чтобы сделать поворот. Ждёт, когда будет безопасный интервал, не лезет без этого.
4️⃣ Робот едет медленно в жилом районе, 30-40 км. в час.
5️⃣ Робот сильно замедляет движение на лежачих полицейских.
В каждой из этих ситуаций находятся люди, которых не устраивает поведение робота, хотя лично мне оно видится абсолютно логичным и оправданным, хотя я сам тоже так не езжу, но не обманываю себя. Лучше ездить так, как он.
Больше всего раздражаются водители коммерческого транспорта и таксисты. То есть те, кто работают на машинах. Для них спокойная культурная езда — прямой убыток. Ну или так они думают.
Ещё из особенностей могу отметить, что как только сильно плохая погода в виде дождя или снега, роботы не ездят. Если ремонт дороги или какое-то ещё происшествие, роботы тоже не ездят. Если перенесли лежачий полицейский на другое место, роботы какое-то время притормаживают у старого места.
Лично я, когда смотрю на всё это, не понимаю, как они поедут без водителей. И это при том, что они по моему району уже без малого 3 года с копейками ездят. А он не очень большой, и маршруты у них довольно простые и однообразные. Пока без водителя они никак не обойдутся. То есть даже не получится поставить одного водителя на несколько авто в качестве надсмотрщика. Надо оперативно решать нештатные ситуации, которых на дороге огромное количество.
#разное
Машин много, на глаз, пару десятков. Они ещё и ночуют практически у меня под домом. То есть наблюдаю я это всё постоянно уже не первый год. И вот, что вырисовывается.
Роботов научили ездить аккуратно, внимательно, всех пропускать, на мигающий не лезть и т.д. В общем, ездить как культурные люди. А суть в том, что большинство людей не такие. И они постоянно бибикают, ругаются, подрезают и выражают всяческое презрение, когда робот действует спокойно и аккуратно.
Вот конкретные примеры раздражения, которые наблюдал я:
1️⃣ Человек только подходит к пешеходному переходу, робот уже останавливается.
2️⃣ Светофор мигает жёлтым, робот останавливается заблаговременно.
3️⃣ Робот пропускает машины, чтобы сделать поворот. Ждёт, когда будет безопасный интервал, не лезет без этого.
4️⃣ Робот едет медленно в жилом районе, 30-40 км. в час.
5️⃣ Робот сильно замедляет движение на лежачих полицейских.
В каждой из этих ситуаций находятся люди, которых не устраивает поведение робота, хотя лично мне оно видится абсолютно логичным и оправданным, хотя я сам тоже так не езжу, но не обманываю себя. Лучше ездить так, как он.
Больше всего раздражаются водители коммерческого транспорта и таксисты. То есть те, кто работают на машинах. Для них спокойная культурная езда — прямой убыток. Ну или так они думают.
Ещё из особенностей могу отметить, что как только сильно плохая погода в виде дождя или снега, роботы не ездят. Если ремонт дороги или какое-то ещё происшествие, роботы тоже не ездят. Если перенесли лежачий полицейский на другое место, роботы какое-то время притормаживают у старого места.
Лично я, когда смотрю на всё это, не понимаю, как они поедут без водителей. И это при том, что они по моему району уже без малого 3 года с копейками ездят. А он не очень большой, и маршруты у них довольно простые и однообразные. Пока без водителя они никак не обойдутся. То есть даже не получится поставить одного водителя на несколько авто в качестве надсмотрщика. Надо оперативно решать нештатные ситуации, которых на дороге огромное количество.
#разное
Один из подписчиков поделился со мной интересным проектом — Proxmox Helper Scripts. Это большой набор bash скриптов для управления гипервизором, виртуалками и контейнерами через консоль.
С помощью представленных скриптов можно выполнять типовую настройку гипервизора после установки, устанавливать LXC контейнеры с преднастройкой системы и установкой нужного софта, создавать виртуальные машины. Всё это делается через консоль с помощью простых вопросов или предустановленных параметров. Готовых LXC контейнеров очень много.
Я изучил некоторые скрипты. Это очень простой bash код, который можно посмотреть, понять, изучить и что-то взять на вооружение. Мне один раз предложили решить комплексную задачу по автоматизации развёртывания VM в Proxmox для тестовой среды. Я сначала согласился, набросал черновики, но потом отказался от задачи, так как не было времени довести до ума. Думал, потом доделаю и выложу в статье или заметке, но так и не доделал. Для тех, кому интересно, использовал стандартные CLI команды Proxmox.
Набор Proxmox Helper Scripts — это продукт для домашнего использования любителями этой виртуализации. Готовые LXC контейнеры для установки тоже на это намекают (Home Assistant, Pi-hole, Syncthing, CrowdSec и т.д.). Я лично для себя там ничего полезного не нашёл, но в целом идея нормальная. Свою аудиторию она найдёт. Автор активно пилит скрипты. Видно по почти ежедневным обновлениям репозитория. Я попробовал установить некоторые LXC контейнеры. Сделано удобно, мне понравилось. На выходе полностью работающий сервис в обычном контейнере.
👍 Отдельно отмечу скрипт по установке тёмной темы интерфейса управления. Он устанавливает качественную и проработанную тёмную тему - PVEDiscordDark.
⇨ Сайт / Исходники
p.s. Отдельное спасибо всем, кто шлёт в личку что-то интересное. Я обычно всё проверяю, но не всё становится заметками.
#proxmox
С помощью представленных скриптов можно выполнять типовую настройку гипервизора после установки, устанавливать LXC контейнеры с преднастройкой системы и установкой нужного софта, создавать виртуальные машины. Всё это делается через консоль с помощью простых вопросов или предустановленных параметров. Готовых LXC контейнеров очень много.
Я изучил некоторые скрипты. Это очень простой bash код, который можно посмотреть, понять, изучить и что-то взять на вооружение. Мне один раз предложили решить комплексную задачу по автоматизации развёртывания VM в Proxmox для тестовой среды. Я сначала согласился, набросал черновики, но потом отказался от задачи, так как не было времени довести до ума. Думал, потом доделаю и выложу в статье или заметке, но так и не доделал. Для тех, кому интересно, использовал стандартные CLI команды Proxmox.
Набор Proxmox Helper Scripts — это продукт для домашнего использования любителями этой виртуализации. Готовые LXC контейнеры для установки тоже на это намекают (Home Assistant, Pi-hole, Syncthing, CrowdSec и т.д.). Я лично для себя там ничего полезного не нашёл, но в целом идея нормальная. Свою аудиторию она найдёт. Автор активно пилит скрипты. Видно по почти ежедневным обновлениям репозитория. Я попробовал установить некоторые LXC контейнеры. Сделано удобно, мне понравилось. На выходе полностью работающий сервис в обычном контейнере.
👍 Отдельно отмечу скрипт по установке тёмной темы интерфейса управления. Он устанавливает качественную и проработанную тёмную тему - PVEDiscordDark.
⇨ Сайт / Исходники
p.s. Отдельное спасибо всем, кто шлёт в личку что-то интересное. Я обычно всё проверяю, но не всё становится заметками.
#proxmox
В выходные разбирал свой старенький HP Proliant N54L Microserver, который трудится в качестве NAS уже лет 8. На него установлен Xpenology.
С самим сервером всё в порядке. Заметил, что шуметь стал сильнее, поэтому полностью разобрал и продул. У него всего 2 вентилятора - по центру сзади для продувки хардов, и один в блоке питания.
После чистки стало потише, но всё равно как-то шумно. Новый он практически бесшумным был. По идее, надо поменять вентиляторы, но железка старая, так что вряд ли имеет смысл её как-то обновлять.
После выхода серии HP Microserver, первые поколения были очень удачны по цене и железу. Много покупал этих коробочек в офисы под файловые шары и бэкапы. Последние поколения уже дороговаты были. Сейчас вообще не знаю, как там дела и осталась ли эта линейка.
Так что если хотите приобрести простенький файловый сервер, обратите внимание на б.у. серверы HP Microserver. Это недорогие и качественные изделия.
#железо
С самим сервером всё в порядке. Заметил, что шуметь стал сильнее, поэтому полностью разобрал и продул. У него всего 2 вентилятора - по центру сзади для продувки хардов, и один в блоке питания.
После чистки стало потише, но всё равно как-то шумно. Новый он практически бесшумным был. По идее, надо поменять вентиляторы, но железка старая, так что вряд ли имеет смысл её как-то обновлять.
После выхода серии HP Microserver, первые поколения были очень удачны по цене и железу. Много покупал этих коробочек в офисы под файловые шары и бэкапы. Последние поколения уже дороговаты были. Сейчас вообще не знаю, как там дела и осталась ли эта линейка.
Так что если хотите приобрести простенький файловый сервер, обратите внимание на б.у. серверы HP Microserver. Это недорогие и качественные изделия.
#железо
Решил для себя проработать ещё один документ от CIS на тему MySQL сервера. Взял версию 5.7, как наиболее универсальный вариант. Честно сказать, документ вообще не впечатлил. Показался набором очевидных банальностей. Ничего для себя оттуда не вынес, но так как потратил довольно много времени на прочтение и разбор, решил всё же сделать небольшую подборку для вас о тех вещах, что мне показались сколько-нибудь полезными.
📌 Mysql сервер должен запускать от непривилегированного пользователя без shell доступа к серверу. Все файлы и директории, с которыми работает сервер, должны принадлежать этому пользователю без доступа посторонних. Это же касается и лог файлов, особенно с ошибками.
📌 Если есть возможность использовать аутентификацию пользователей через unix сокет, оставьте только её, а остальные виды отключите. Речь идёт про плагин auth_socket для mysql или unix_socket для mariadb. Удалённые подключения к mysql серверу для безопасности стоит настроить по tls с помощью сертификатов.
📌 Обязательно ограничьте запуск сервера конкретным IP адресом, на котором он должен быть доступен. Например так:
Если используется внешний IP адрес, необходимо ограничить к нему доступ на уровне firewall.
📌 Если не используете символьные ссылки в файлах, с которыми работает сервер, то отключите их поддержку в my.cnf:
📌 Настройте ведение лога ошибок:
📌 При работе с mysql сервером через консольный клиент следует избегать ситуаций, когда пароль пользователя используется непосредственно в команде и остаётся в системной истории команд. Я, кстати, и сам так попадал, и на других серверах видел пароли mysql пользователей в истории bash. Стоит избегать вот таких конструкций:
Либо интерактивно вводите пароль, либо храните в отдельном файле .my.cnf с ограничением доступа.
Далее обобщил целый набор банальностей, которые разделены на множество подразделов и подробно описаны на десятках страниц. В общем и целом там вот что.
💡Необходимо устанавливать все обновления, удалить все тестовые данные, если они есть. Проверить всех пользователей и их права. Особенно обратить внимание на права SUPER, PROCESS, CREATE USER, GRANT OPTION. Они должны быть только у административных пользователей.
💡Необходимо следить за бэкапами, за учётными записями, от имени которых они выполняются. Не забывать про binlog, если вам нужна возможность восстановления между полными бэкапами.
💡Необходимо создать план восстановления данных в случае проблем, план проверки и восстановления из бэкапов. Необходимо не забыть добавить к бэкапу файлы конфигураций, tls сертификаты, если используются, логи аудита и т.д. Всё, что нужно для полноценной работы сервиса.
💡По возможности сервер должен быть изолирован от остальных служб на отдельной VPS или сервере.
#cis #mysql
📌 Mysql сервер должен запускать от непривилегированного пользователя без shell доступа к серверу. Все файлы и директории, с которыми работает сервер, должны принадлежать этому пользователю без доступа посторонних. Это же касается и лог файлов, особенно с ошибками.
📌 Если есть возможность использовать аутентификацию пользователей через unix сокет, оставьте только её, а остальные виды отключите. Речь идёт про плагин auth_socket для mysql или unix_socket для mariadb. Удалённые подключения к mysql серверу для безопасности стоит настроить по tls с помощью сертификатов.
📌 Обязательно ограничьте запуск сервера конкретным IP адресом, на котором он должен быть доступен. Например так:
bind_address=192.168.11.3
Если используется внешний IP адрес, необходимо ограничить к нему доступ на уровне firewall.
📌 Если не используете символьные ссылки в файлах, с которыми работает сервер, то отключите их поддержку в my.cnf:
skip-symbolic-links = YES
📌 Настройте ведение лога ошибок:
log-error = /var/log/mysql/error.log
📌 При работе с mysql сервером через консольный клиент следует избегать ситуаций, когда пароль пользователя используется непосредственно в команде и остаётся в системной истории команд. Я, кстати, и сам так попадал, и на других серверах видел пароли mysql пользователей в истории bash. Стоит избегать вот таких конструкций:
# mysql -u admin -p password
Либо интерактивно вводите пароль, либо храните в отдельном файле .my.cnf с ограничением доступа.
Далее обобщил целый набор банальностей, которые разделены на множество подразделов и подробно описаны на десятках страниц. В общем и целом там вот что.
💡Необходимо устанавливать все обновления, удалить все тестовые данные, если они есть. Проверить всех пользователей и их права. Особенно обратить внимание на права SUPER, PROCESS, CREATE USER, GRANT OPTION. Они должны быть только у административных пользователей.
💡Необходимо следить за бэкапами, за учётными записями, от имени которых они выполняются. Не забывать про binlog, если вам нужна возможность восстановления между полными бэкапами.
💡Необходимо создать план восстановления данных в случае проблем, план проверки и восстановления из бэкапов. Необходимо не забыть добавить к бэкапу файлы конфигураций, tls сертификаты, если используются, логи аудита и т.д. Всё, что нужно для полноценной работы сервиса.
💡По возможности сервер должен быть изолирован от остальных служб на отдельной VPS или сервере.
#cis #mysql
На прошлой неделе проскочила новость по куче групп и сайтов о том, что какие-то "известные" релизеры из NTDEV выпустили урезанную версию Windows 11 под названием сборки tiny11. Пример новости:
⇨ NTDEV выпустила tiny11 — облегчённую версию Windows 11 Pro 22H2, которой требуется всего 2 ГБ ОЗУ и 8 ГБ места на диске
У меня много старого железа, особенно хороших ноутбуков, которые жалко выкинуть, а использовать не особо получается, поэтому новость заинтересовала. Я как раз недавно накатил на один из старых ноутов на Corel 2 Duo, 2 Гб оперативки и 40 Гб SSD Windows 11. Интересно было посмотреть, как заработает. В целом, заработало, но очевидно, что со временем не хватит места на SSD.
Tiny11 требует всего 8 Гб на диске, поэтому в конкретно моём случае выглядит привлекательно. А с учётом того, что я только что накатил туда полноценную Win11, можно сравнить с этой сборкой. В общем, не откладывая в долгий ящик, поставил я эту систему на ноут. И она реально работает лучше. Места занимает меньше, и шевелится в целом лучше.
Поставил туда браузер, старый Office 2010. Всё работает вполне сносно. Можно спокойно сайты смотреть, youtube, фильмы из домашней коллекции, работать с документами. Детям для учёбы сгодится, или для мультиков на даче. Я всех троих приучаю с малолетства навыкам работы с компьютером. Дома за стационарными сидят, летом ноуты пригодятся. Жаль только, что на старом железе не работает MineCraft из-за дров видеокарт. На старых не запускается. Дома трое (8, 6, 4 года) с азартом играют на домашнем сервере.
Такую сборку, кстати, удобно использовать в тестовых лабах, типа EVE-NG, GNS3 или PNETLab.
#windows
⇨ NTDEV выпустила tiny11 — облегчённую версию Windows 11 Pro 22H2, которой требуется всего 2 ГБ ОЗУ и 8 ГБ места на диске
У меня много старого железа, особенно хороших ноутбуков, которые жалко выкинуть, а использовать не особо получается, поэтому новость заинтересовала. Я как раз недавно накатил на один из старых ноутов на Corel 2 Duo, 2 Гб оперативки и 40 Гб SSD Windows 11. Интересно было посмотреть, как заработает. В целом, заработало, но очевидно, что со временем не хватит места на SSD.
Tiny11 требует всего 8 Гб на диске, поэтому в конкретно моём случае выглядит привлекательно. А с учётом того, что я только что накатил туда полноценную Win11, можно сравнить с этой сборкой. В общем, не откладывая в долгий ящик, поставил я эту систему на ноут. И она реально работает лучше. Места занимает меньше, и шевелится в целом лучше.
Поставил туда браузер, старый Office 2010. Всё работает вполне сносно. Можно спокойно сайты смотреть, youtube, фильмы из домашней коллекции, работать с документами. Детям для учёбы сгодится, или для мультиков на даче. Я всех троих приучаю с малолетства навыкам работы с компьютером. Дома за стационарными сидят, летом ноуты пригодятся. Жаль только, что на старом железе не работает MineCraft из-за дров видеокарт. На старых не запускается. Дома трое (8, 6, 4 года) с азартом играют на домашнем сервере.
Такую сборку, кстати, удобно использовать в тестовых лабах, типа EVE-NG, GNS3 или PNETLab.
#windows
Любопытный трюк подсмотрел, когда изучал документы от CIS. Если вы хотите гарантированно защититься от создания конкретного файла, то просто сделайте вместо него символьную ссылку в /dev/null.
Например, если вы хотите себя подстраховать и гарантированно запретить сохранение истории mysql команд при работе в консоли, сделайте символьную ссылку на дефолтное расположение файла с историей команд:
Даже если вы забыли отключить этот параметр или отключили неправильно, то запись истории никак не состоится. Всё, что будет писаться в файл, сразу же будет уничтожаться.
Мне бы сходу пришла другая идея — создать пустой файл с таким же именем и назначить ему такие права, чтобы никто не смог его изменять. Но какие-то сервисы могут вести себя не так, как ты ожидаешь. Например, не будут стартовать, либо рядом запишут копию файла с другим именем. Вариант с символьной ссылкой в /dev/null более прост и надёжен.
#bash #terminal
Например, если вы хотите себя подстраховать и гарантированно запретить сохранение истории mysql команд при работе в консоли, сделайте символьную ссылку на дефолтное расположение файла с историей команд:
# ln -s /dev/null $HOME/.mysql_history
Даже если вы забыли отключить этот параметр или отключили неправильно, то запись истории никак не состоится. Всё, что будет писаться в файл, сразу же будет уничтожаться.
Мне бы сходу пришла другая идея — создать пустой файл с таким же именем и назначить ему такие права, чтобы никто не смог его изменять. Но какие-то сервисы могут вести себя не так, как ты ожидаешь. Например, не будут стартовать, либо рядом запишут копию файла с другим именем. Вариант с символьной ссылкой в /dev/null более прост и надёжен.
#bash #terminal
Настраивал на днях мониторинг Zabbix с помощью HTTP агента. Мне нужно было довольно часто делать проверки, чем чаще, тем лучше. Взял для начала интервал в 20 секунд. И тут же получил затык. Реально проверки выполнялись гораздо дольше с разбросом между 1-2 минутами.
Начал разбираться. Первым делом заподозрил нехватку HTTP Pollers. Прибавил сразу с запасом:
Это вообще никак не помогло. Оно и понятно. Это была первая и единственная HTTP проверка на тот момент.
Посмотрел логи сервера в надежде увидеть там какие-то подсказки, но не помогло. Стал копать в сторону таймаутов и интервалов именно для http агента. Там же под капотом другие инструменты. Конкретно эти проверки реализуются с помощью curl. Думаю, может там кроются какие-то нюансы. В итоге ничего не придумал и не нашёл. Никаких особых настроек конкретно для http агента нет. Всё выполняется в рамках всех проверок.
💡И тут меня осенило. Зашёл и проверил очередь запросов в Zabbix — Администрирование ⇨ Очередь ⇨ Обзор очереди. А тут сотни запросов в ожидании от 30 секунд до 1 минуты. На сервере очень много simple check и icmp запросов. Нагрузку на сервер они особо не создают, поэтому не заметно, что их много и они тупят. Для этих проверок не критичны задержки, поэтому никто и не заметил, что они иногда не соблюдают заданный интервал.
Далее открыл стандартный дашборд Zabbix под названием Zabbix server health. На нём есть 2 нужных виджета: Utilization of data collectors и Queue size. На первом видно, каких именно обработчиков не хватает, чтобы не росла очередь. В моём случае это были poller data collector и icmp pinger data collector. Увеличил их количество в конфиге сервера:
и всё поехало как надо. Очередь рассосалась, HTTP агент стал работать точно в заданных интервал в 20 секунд.
#zabbix
Начал разбираться. Первым делом заподозрил нехватку HTTP Pollers. Прибавил сразу с запасом:
StartHTTPPollers=20
Это вообще никак не помогло. Оно и понятно. Это была первая и единственная HTTP проверка на тот момент.
Посмотрел логи сервера в надежде увидеть там какие-то подсказки, но не помогло. Стал копать в сторону таймаутов и интервалов именно для http агента. Там же под капотом другие инструменты. Конкретно эти проверки реализуются с помощью curl. Думаю, может там кроются какие-то нюансы. В итоге ничего не придумал и не нашёл. Никаких особых настроек конкретно для http агента нет. Всё выполняется в рамках всех проверок.
💡И тут меня осенило. Зашёл и проверил очередь запросов в Zabbix — Администрирование ⇨ Очередь ⇨ Обзор очереди. А тут сотни запросов в ожидании от 30 секунд до 1 минуты. На сервере очень много simple check и icmp запросов. Нагрузку на сервер они особо не создают, поэтому не заметно, что их много и они тупят. Для этих проверок не критичны задержки, поэтому никто и не заметил, что они иногда не соблюдают заданный интервал.
Далее открыл стандартный дашборд Zabbix под названием Zabbix server health. На нём есть 2 нужных виджета: Utilization of data collectors и Queue size. На первом видно, каких именно обработчиков не хватает, чтобы не росла очередь. В моём случае это были poller data collector и icmp pinger data collector. Увеличил их количество в конфиге сервера:
StartPollers=25
StartPingers=10
и всё поехало как надо. Очередь рассосалась, HTTP агент стал работать точно в заданных интервал в 20 секунд.
#zabbix
Обработал несколько материалов на тему Nginx и подготовил универсальный конфиг с общими параметрами и некоторыми примерами настроек для виртуального хоста. Перед применением конфиг обязательно правится под ваш сервер. Нужно сделать некоторые подготовительные действия, чтобы на нём завестись. Как минимум, получить сертификаты, создать нужные директории, сгенерировать dhparam.pem, какие-то пути подправить и т.д.
✅ https://pastebin.com/dHscS0Vi
Это компиляция из моих же настроек в постах про Nginx (1, 2). Настройки TLS частично подсмотрел в генераторе от Mozilla:
⇨ https://ssl-config.mozilla.org/
Также кое что посмотрел в генераторе конфигов от Digital Ocean:
⇨ https://www.digitalocean.com/community/tools/nginx
Проверил всё это дело на nginx playground:
⇨ https://nginx-playground.wizardzines.com
А также с помощью анализатора конфигов Nginx от Яндекса gixy:
⇨ https://github.com/yandex/gixy
Настройки TLS проверил тут:
⇨ https://www.ssllabs.com/ssltest
Параметры моего конфига поддерживают работу TLS 1.0 и 1.1. За это дают большой штраф. Можете отключить эти протоколы и соответствующие шифры, но тогда, к примеру, отвалятся все старые андроиды версии 4 и ниже. Смотрите сами, нужна ли вам поддержка максимального числа оборудования, или важнее соответствие современным протоколам безопасности.
Конфиг получился не сферическим конём в вакууме, а рабочим вариантом. Я сам постоянно его использую, поэтому обновил свой рабочий шаблон, которым сам буду пользоваться.
📌 В завершении несколько полезных ссылок на мои материалы по теме Nginx:
◽ Подробная установка и настройка Nginx с примерами
◽ Автоматическое тестирование конфигурации Nginx
◽ Правильный redirect 301 для SEO в Nginx
◽ Nginx в качестве балансировщика нагрузки
◽ Проксирование запросов в nginx с помощью proxy_pass
◽ Сборка rpm пакета nginx с дополнительными модулями
#nginx #webserver
✅ https://pastebin.com/dHscS0Vi
Это компиляция из моих же настроек в постах про Nginx (1, 2). Настройки TLS частично подсмотрел в генераторе от Mozilla:
⇨ https://ssl-config.mozilla.org/
Также кое что посмотрел в генераторе конфигов от Digital Ocean:
⇨ https://www.digitalocean.com/community/tools/nginx
Проверил всё это дело на nginx playground:
⇨ https://nginx-playground.wizardzines.com
А также с помощью анализатора конфигов Nginx от Яндекса gixy:
⇨ https://github.com/yandex/gixy
Настройки TLS проверил тут:
⇨ https://www.ssllabs.com/ssltest
Параметры моего конфига поддерживают работу TLS 1.0 и 1.1. За это дают большой штраф. Можете отключить эти протоколы и соответствующие шифры, но тогда, к примеру, отвалятся все старые андроиды версии 4 и ниже. Смотрите сами, нужна ли вам поддержка максимального числа оборудования, или важнее соответствие современным протоколам безопасности.
Конфиг получился не сферическим конём в вакууме, а рабочим вариантом. Я сам постоянно его использую, поэтому обновил свой рабочий шаблон, которым сам буду пользоваться.
📌 В завершении несколько полезных ссылок на мои материалы по теме Nginx:
◽ Подробная установка и настройка Nginx с примерами
◽ Автоматическое тестирование конфигурации Nginx
◽ Правильный redirect 301 для SEO в Nginx
◽ Nginx в качестве балансировщика нагрузки
◽ Проксирование запросов в nginx с помощью proxy_pass
◽ Сборка rpm пакета nginx с дополнительными модулями
#nginx #webserver
Занимался вчера перенастройкой OpenVPN сервера. Потратил немало времени из-за маленького нюанса, про который забыл. Поделюсь информацией для тех, кто тоже использует OpenVPN. Всем остальным читать большого смысла нет.
Люблю OpenVPN Server за гибкость в настройках. У меня обычное дело, когда на небольшой виртуалке под VPN поднято несколько туннелей. Пример разделения.
1️⃣ В этот туннель заводим все устройства Mikrotik. Так как у них своеобразная реализация OpenVPN, для них приходится поднимать отдельный туннель со своими настройками.
2️⃣ Стандартный туннель на UDP для удалённых пользователей. Типовые настройки.
3️⃣ Тот же туннель, что и выше, только на 443 TCP порту для обхода некоторых ограничений.
4️⃣ Ещё один туннель для удалённых филиалов, только уже не на базе Mikrotik. Тут тоже свои настройки, маршруты и т.д.
Я обычно не боюсь сильно дробить абонентов по разным туннелям, так ими удобнее управлять. Главное сильно не переусложнить, иначе можно запутаться.
Я одних абонентов, за которыми есть свои подсети, к которым нужен доступ через VPN, пересадил с одного туннеля на другой. Добавил новый и подключил их к нему. Перенастроил клиентов, они подключились. На вид всё нормально. Но вижу, что к некоторым сеткам за этими клиентами не могу подключиться.
Начинаю всё проверять. Для начала проверил на всех сторонах firewall. Вроде всё правильно. Для надёжности включил логирование всех заблокированных пакетов, там моих пакетов нет. Из чего делаю вывод, что проблема в маршрутизации.
Смотрю внимательно на маршруты. Иногда это непростая задача, когда путь пакета длинный, особенно если проходит через несколько VPN, как было у меня. Хоть садись и схему пути рисуй, сопоставляя с маршрутами на каждом устройстве. Какое-то время не могу понять в чём проблема, но в итоге заметил.
Оказалось, что я ошибся в настройках туннелей и не полностью перенёс подсети, за которые отвечают абоненты из настроек одного туннеля в другой. Заметил это в маршрутах на сервере. Банально, подсеть 192.168.13.0/24 уехала на интерфейс tun4, а я её оставил в старом конфиге с tun2. В итоге OpenVPN все запросы отправлял в tun2 и они там пропадали.
Во время диагностики просто не обратил внимание на разные имена туннелей. Проверяю, что маршрут завёрнут в tun и на этом успокаиваюсь, ожидая, что OpenVPN сама разберётся в какой туннель отправить запрос. Но на самом деле нет. Надо аккуратно самому расписать, какой туннель за какую подсеть отвечает в конфигах сервера. В итоге всё перепроверил и аккуратно расписал все подсетки по своим туннелям. И трафик поехал как надо.
Я мало работал с другими реализациями VPN. Немного pptp делал, и на микротиках l2tp. На Linux всегда использую OpenVPN. Мне он нравится за простоту и удобство реализации. У каждого туннеля свой отдельный конфиг, где описаны все настройки и маршрутизация, относящаяся к этому туннелю. Удобно быстро оценить настройки, сделать копию туннеля, поменяв пару параметров. Можно по отдельности перезапускать туннели, не трогая остальные. При этом база пользователей со своими персональными сертификатами и настройками может быть общей для всех туннелей. Их можно спокойно перемещать между ними. Где-то ещё есть подобная реализация?
#openvpn
Люблю OpenVPN Server за гибкость в настройках. У меня обычное дело, когда на небольшой виртуалке под VPN поднято несколько туннелей. Пример разделения.
1️⃣ В этот туннель заводим все устройства Mikrotik. Так как у них своеобразная реализация OpenVPN, для них приходится поднимать отдельный туннель со своими настройками.
2️⃣ Стандартный туннель на UDP для удалённых пользователей. Типовые настройки.
3️⃣ Тот же туннель, что и выше, только на 443 TCP порту для обхода некоторых ограничений.
4️⃣ Ещё один туннель для удалённых филиалов, только уже не на базе Mikrotik. Тут тоже свои настройки, маршруты и т.д.
Я обычно не боюсь сильно дробить абонентов по разным туннелям, так ими удобнее управлять. Главное сильно не переусложнить, иначе можно запутаться.
Я одних абонентов, за которыми есть свои подсети, к которым нужен доступ через VPN, пересадил с одного туннеля на другой. Добавил новый и подключил их к нему. Перенастроил клиентов, они подключились. На вид всё нормально. Но вижу, что к некоторым сеткам за этими клиентами не могу подключиться.
Начинаю всё проверять. Для начала проверил на всех сторонах firewall. Вроде всё правильно. Для надёжности включил логирование всех заблокированных пакетов, там моих пакетов нет. Из чего делаю вывод, что проблема в маршрутизации.
Смотрю внимательно на маршруты. Иногда это непростая задача, когда путь пакета длинный, особенно если проходит через несколько VPN, как было у меня. Хоть садись и схему пути рисуй, сопоставляя с маршрутами на каждом устройстве. Какое-то время не могу понять в чём проблема, но в итоге заметил.
Оказалось, что я ошибся в настройках туннелей и не полностью перенёс подсети, за которые отвечают абоненты из настроек одного туннеля в другой. Заметил это в маршрутах на сервере. Банально, подсеть 192.168.13.0/24 уехала на интерфейс tun4, а я её оставил в старом конфиге с tun2. В итоге OpenVPN все запросы отправлял в tun2 и они там пропадали.
Во время диагностики просто не обратил внимание на разные имена туннелей. Проверяю, что маршрут завёрнут в tun и на этом успокаиваюсь, ожидая, что OpenVPN сама разберётся в какой туннель отправить запрос. Но на самом деле нет. Надо аккуратно самому расписать, какой туннель за какую подсеть отвечает в конфигах сервера. В итоге всё перепроверил и аккуратно расписал все подсетки по своим туннелям. И трафик поехал как надо.
Я мало работал с другими реализациями VPN. Немного pptp делал, и на микротиках l2tp. На Linux всегда использую OpenVPN. Мне он нравится за простоту и удобство реализации. У каждого туннеля свой отдельный конфиг, где описаны все настройки и маршрутизация, относящаяся к этому туннелю. Удобно быстро оценить настройки, сделать копию туннеля, поменяв пару параметров. Можно по отдельности перезапускать туннели, не трогая остальные. При этом база пользователей со своими персональными сертификатами и настройками может быть общей для всех туннелей. Их можно спокойно перемещать между ними. Где-то ещё есть подобная реализация?
#openvpn
📱Прошлая публикация про софт на смартфоне собрала много комментариев. Решил их обработать и составить отдельный список наиболее полезных и популярных программ под android на основе ваших комментариев и своего списка.
Ссылки не стал вставлять, так как не все программы есть в магазине, и не все бесплатны. Но через поиск всё отлично находится (в основном на 4PDA, F-Droid).
◽Termius — популярный SSH клиент. Программа платная, но есть бесплатная версия, достаточная для единоличного пользования. Поддерживает в том числе SFTP.
◽RD Client — RDP клиент от Microsoft.
◽ProxMon — клиент для управления гипервизором Proxmox.
◽vSphere Mobile Client — мобильный клиент для vSphere.
◽MikroTik — приложение для управления Микротиками.
◽Tabbix — клиент для Zabbix Server. Маленькое, простое приложение, но кое-что посмотреть можно. Альтернатив для Zabbix не так много. Официального приложения нет, а веб интерфейс сервера не адаптирован под смартфоны.
◽VNC Viewer — vnc клиент.
◽OpenVPN Connect — openvpn клиент.
◽Wifiman — анализ Wifi сетей. Программа от Ubiquiti.
◽Network Analyzer — умеет анализировать wifi сети, пинговать, трассировать, сканировать порты, в том числе по ipv6. Помимо этого делает DNS и WHOIS проверки.
◽LanDroid — "швейцарский нож" сетевых утилит: отображение внешнего IP, DNS и IP lookup, Ping, TraceRoute, NetStat, PortScan, проверка IP по DNSBL (чёрные списки), инфа по MAC о вендоре, калькулятор IP, WakeOnLan, проверка SSL, поддержка IPv6.
◽Total Commander — популярный файловый менеджер.
◽X-plore File Manager — файловый менеджер с поддержкой SMB1/2, SSH, DLNA, облачных хранилищ (российских нет), FTP, WEBDAV.
◽Wi-Fi FTP-сервер — поднимает полноценный FTP на смартфоне.
◽KPass — просмотр паролей в файлах формата keepass.
◽Получи раскладку — клавиатура для ввода паролей из русских слов на английской раскладке.
◽Magicplan — используя датчики вашего аппарата и камеру для "захвата габаритов" помещения, вычисляет размеры и составляет план. Вообще не знал, что такие программы существуют.
◽Cams — простое приложение для воспроизведения RTSP потоков с IP камер.
◽Acrobits Softphone (Groundwire) — SIP клиент с поддержкой push.
◽Grandstream Wave (Lite) — SIP софтфон, нормально работает с Asterisk.
◽Aqua Mail — почтовый клиент. Хоть и не имеет отношения непосредственно к IT, но я сам тоже использую этот клиент для почты.
◽UptimeRobot — приложение от одноимённого сервиса мониторинга.
◽Linux Command Library — огромная база данных по командам, утилитам, однострочникам в Linux.
◽Tasker — выполнение действий по событиям или изменению состояния. Например, включить в 8 утра wifi и если обнаружилась домашняя сеть, выполнить синхронизацию данных.
Спасибо всем, кто поделился информацией.
#android
Ссылки не стал вставлять, так как не все программы есть в магазине, и не все бесплатны. Но через поиск всё отлично находится (в основном на 4PDA, F-Droid).
◽Termius — популярный SSH клиент. Программа платная, но есть бесплатная версия, достаточная для единоличного пользования. Поддерживает в том числе SFTP.
◽RD Client — RDP клиент от Microsoft.
◽ProxMon — клиент для управления гипервизором Proxmox.
◽vSphere Mobile Client — мобильный клиент для vSphere.
◽MikroTik — приложение для управления Микротиками.
◽Tabbix — клиент для Zabbix Server. Маленькое, простое приложение, но кое-что посмотреть можно. Альтернатив для Zabbix не так много. Официального приложения нет, а веб интерфейс сервера не адаптирован под смартфоны.
◽VNC Viewer — vnc клиент.
◽OpenVPN Connect — openvpn клиент.
◽Wifiman — анализ Wifi сетей. Программа от Ubiquiti.
◽Network Analyzer — умеет анализировать wifi сети, пинговать, трассировать, сканировать порты, в том числе по ipv6. Помимо этого делает DNS и WHOIS проверки.
◽LanDroid — "швейцарский нож" сетевых утилит: отображение внешнего IP, DNS и IP lookup, Ping, TraceRoute, NetStat, PortScan, проверка IP по DNSBL (чёрные списки), инфа по MAC о вендоре, калькулятор IP, WakeOnLan, проверка SSL, поддержка IPv6.
◽Total Commander — популярный файловый менеджер.
◽X-plore File Manager — файловый менеджер с поддержкой SMB1/2, SSH, DLNA, облачных хранилищ (российских нет), FTP, WEBDAV.
◽Wi-Fi FTP-сервер — поднимает полноценный FTP на смартфоне.
◽KPass — просмотр паролей в файлах формата keepass.
◽Получи раскладку — клавиатура для ввода паролей из русских слов на английской раскладке.
◽Magicplan — используя датчики вашего аппарата и камеру для "захвата габаритов" помещения, вычисляет размеры и составляет план. Вообще не знал, что такие программы существуют.
◽Cams — простое приложение для воспроизведения RTSP потоков с IP камер.
◽Acrobits Softphone (Groundwire) — SIP клиент с поддержкой push.
◽Grandstream Wave (Lite) — SIP софтфон, нормально работает с Asterisk.
◽Aqua Mail — почтовый клиент. Хоть и не имеет отношения непосредственно к IT, но я сам тоже использую этот клиент для почты.
◽UptimeRobot — приложение от одноимённого сервиса мониторинга.
◽Linux Command Library — огромная база данных по командам, утилитам, однострочникам в Linux.
◽Tasker — выполнение действий по событиям или изменению состояния. Например, включить в 8 утра wifi и если обнаружилась домашняя сеть, выполнить синхронизацию данных.
Спасибо всем, кто поделился информацией.
#android
Открытый практикум DevOps by Rebrain: Ansible 101
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉 Регистрация
Время проведения:
21 Февраля (Вторник) в 20:00 по МСК
Программа практикума:
🔹Установка окружения
🔹Ad-hoc магия ansible
🔹Композиция playbook
Кто ведет?
Павел Фискович - Инженер с 2009 года. Мечтатель. Отец. He/him
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉 Регистрация
Время проведения:
21 Февраля (Вторник) в 20:00 по МСК
Программа практикума:
🔹Установка окружения
🔹Ad-hoc магия ansible
🔹Композиция playbook
Кто ведет?
Павел Фискович - Инженер с 2009 года. Мечтатель. Отец. He/him
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Это не совсем мем, но довольно забавная ситуация, с которой столкнулся лично. Был в музее, посвящённому вооруженным силам России. Это стенд на тему войны в Афганистане и тематическому музыкальному сопровождению в рядах вооружённых сил того времени.
В деревянном ящике установлен планшет с некоторой информацией по данной теме, но он не работал. На экране информация об активации Windows. Я нажал на кнопку "Перейти к параметрам", открылись параметры и их сразу же перекрыл интерфейс программы с информацией, которая там должна быть всегда.
Таким вот нехитрым способом восстановил работу музейного инвентаря.
Дело, кстати, было в Туле, в одном из музеев Кремля. Отдельно хочу порекомендовать Тульский государственный музей оружия. Очень классный, современный музей. Рекомендую посетить тем, кто там не был. Тула — интересный город, его центр подвергся масштабной реконструкции совсем недавно. В том числе городской Кремль, набережная. Там интересно и красиво.
#мем
В деревянном ящике установлен планшет с некоторой информацией по данной теме, но он не работал. На экране информация об активации Windows. Я нажал на кнопку "Перейти к параметрам", открылись параметры и их сразу же перекрыл интерфейс программы с информацией, которая там должна быть всегда.
Таким вот нехитрым способом восстановил работу музейного инвентаря.
Дело, кстати, было в Туле, в одном из музеев Кремля. Отдельно хочу порекомендовать Тульский государственный музей оружия. Очень классный, современный музей. Рекомендую посетить тем, кто там не был. Тула — интересный город, его центр подвергся масштабной реконструкции совсем недавно. В том числе городской Кремль, набережная. Там интересно и красиво.
#мем
Я уже не однократно затрагивал тему логирования сессий пользователей на Linux сервере. Все способы сильно отличаются друг от друга, так что каждый может выбрать то, что подходит ему больше в конкретной ситуации. Напомню, о чём я уже рассказывал:
◽️snoopy — небольшая библиотека под Linux, которая может логировать не только команды пользователей, но многое другое. Например, команды системных процессов.
◽️log-user-session — программа, которая запускается вместо оболочки пользователя и пропускает через себя все его команды, записывая их в текстовый файл.
◽️PROMPT_COMMAND — логирование в текстовый файл с помощью встроенных возможностей оболочки bash.
Сейчас хочу рассказать о более серьезной программе, которая написана RedHat и интегрирована в их экосистему. Речь пойдёт про Tlog. Под остальные линуксы нужно будет самостоятельно собирать из исходников. Хотя я посмотрел в момент написания статьи, как дела обстоят в Debian, и заметил, что этот пакет в 12-й версии уже в ветке Testing. Так что со временем и для Debian должен появиться пакет.
Tlog умеет хранить сессии пользователей в текстовых файлах через rsyslog, в журнале systemd или в elasticsearch. Формат хранения — json, так что вручную такие логи смотреть не удобно. В комплекте с tlog есть утилита для воспроизведения сохранённой сессии. Причём можно как запись смотреть, так и в режиме реального времени. Если сессии хранятся локально, то за сеансом можно следить в соседней консоли, если в elasticsearch, то подключившись к нему. Посмотреть, как это выглядит на практике можно в демонстрационном ролике.
Tlog в RHEL или Centos, а также всех форках, интегрирован с SSSD и Cockpit. У redhat есть статья с описанием, как это реализовано. Если коротко, то ставим cockpit и tlog. Настраиваем в sssd запись сессии, назначаем группу, для которой она будет работать. Потом пользователей добавляем в эту группу и смотрим записи их сессий через веб интерфейс cockpit. Там это реализовано в виде плеера.
Поддержка elasticsearch реализована с помощью модуля omelasticsearch для rsyslog. То есть логи надо будет сначала в rsyslog положить, а потом он отправит их в elasticsearch. А встроенная поддержка этого дела заключается в том, что потом можно будет просматривать сессии, подключаясь напрямую в elasticsearch. Пример настройки и просмотра показан в репозитории.
В общем, если вам нужно централизованное решение для логирования пользовательских сессий, то Tlog будет лучшим вариантом. С настройкой придётся повозиться, но получится полноценное решение, основанное на пользователях и группах с помощью интеграции с FreeIPA через SSSD. Забыл сразу упомянуть об этом.
⇨ Сайт / Исходники / Настройка / Демонстрация
#security #ssh #linux
◽️snoopy — небольшая библиотека под Linux, которая может логировать не только команды пользователей, но многое другое. Например, команды системных процессов.
◽️log-user-session — программа, которая запускается вместо оболочки пользователя и пропускает через себя все его команды, записывая их в текстовый файл.
◽️PROMPT_COMMAND — логирование в текстовый файл с помощью встроенных возможностей оболочки bash.
Сейчас хочу рассказать о более серьезной программе, которая написана RedHat и интегрирована в их экосистему. Речь пойдёт про Tlog. Под остальные линуксы нужно будет самостоятельно собирать из исходников. Хотя я посмотрел в момент написания статьи, как дела обстоят в Debian, и заметил, что этот пакет в 12-й версии уже в ветке Testing. Так что со временем и для Debian должен появиться пакет.
Tlog умеет хранить сессии пользователей в текстовых файлах через rsyslog, в журнале systemd или в elasticsearch. Формат хранения — json, так что вручную такие логи смотреть не удобно. В комплекте с tlog есть утилита для воспроизведения сохранённой сессии. Причём можно как запись смотреть, так и в режиме реального времени. Если сессии хранятся локально, то за сеансом можно следить в соседней консоли, если в elasticsearch, то подключившись к нему. Посмотреть, как это выглядит на практике можно в демонстрационном ролике.
Tlog в RHEL или Centos, а также всех форках, интегрирован с SSSD и Cockpit. У redhat есть статья с описанием, как это реализовано. Если коротко, то ставим cockpit и tlog. Настраиваем в sssd запись сессии, назначаем группу, для которой она будет работать. Потом пользователей добавляем в эту группу и смотрим записи их сессий через веб интерфейс cockpit. Там это реализовано в виде плеера.
Поддержка elasticsearch реализована с помощью модуля omelasticsearch для rsyslog. То есть логи надо будет сначала в rsyslog положить, а потом он отправит их в elasticsearch. А встроенная поддержка этого дела заключается в том, что потом можно будет просматривать сессии, подключаясь напрямую в elasticsearch. Пример настройки и просмотра показан в репозитории.
В общем, если вам нужно централизованное решение для логирования пользовательских сессий, то Tlog будет лучшим вариантом. С настройкой придётся повозиться, но получится полноценное решение, основанное на пользователях и группах с помощью интеграции с FreeIPA через SSSD. Забыл сразу упомянуть об этом.
⇨ Сайт / Исходники / Настройка / Демонстрация
#security #ssh #linux
У мониторинга Zabbix до сих пор нет никакого официального решения по работе с мониторингом на смартфоне. И это странно для нашего времени, когда все стараются максимально адаптировать работу своих систем на смартфонах.
Я решил посмотреть, какие вообще есть варианты в удобном виде хотя бы посмотреть дашборды, графики или списки триггеров в Zabbix. На редактирование даже не замахиваюсь. Стандартный веб интерфейс совершенно немобилен. Смотреть его со смартфона неудобно ни в адаптированном виде под экран смартфона, ни в исходном виде в версии для ПК. В первом случае появляется большая прокрутка по горизонтали, во втором случае всё слишком мелко.
Рассказываю, что в принципе есть по этой теме.
📌 Приложение Tabbix от Tirgil. Есть бесплатная и платная версия. Я проверял только бесплатную. Тут более менее функциональный интерфейс. Можно посмотреть список хостов, активные триггеры конкретного хоста, его историю по событиям и содержимое метрик в текстовом и графическом виде. Это всё, что там есть. Можно добавить несколько серверов в программу. Сделано удобно, можно пользоваться.
📌 Приложение OneZabbix от Mahhaus. Бесплатное приложение. У него очень мало скачиваний и совсем нет отзывов, хотя приложение рабочее и довольно функциональное. При подключении к серверу сразу открывается список групп. При входе в группу отображаются основные метрики каждого хоста в виде небольших виджетов. В группе можно выбрать любой хост. При открытии хоста отображается импровизированный дашборд с графиками загрузки памяти, cpu, диска. В хосте можно посмотреть только графики самого хоста, не значения всех метрик из latest data. Весь остальной функционал при нажатии показывает сообщение, что будет реализовано в будущем. В настоящий момент приложение пригодно только для просмотра графиков и статуса хостов. Если бы всё нарисованное было реализовано, то приложение было бы лучшим.
📌 Приложение ZabbixITK от Илим-Телеком. По картинкам из описания и самого описания функционала выглядит неплохо. Последнее обновление 4 марта 2020 года. То есть приложение относительно свежее. Но у меня почему-то не заработало. Пишет, что не подходят учётные данные, либо неверный url. Проверял всё много раз, но так и не заработало. Жаль.
📌 Приложение Moobix 2.0 от BeOnUp. У него 5+ тыс. скачиваний на google play. Говорю сразу, не тратьте своё время на него. Приложение никакущее. Оно не умеет практически ничего. Через него можно посмотреть список хостов и их состояние (активен или нет), количество активных триггеров (только число, даже без названий и списка). Такое ощущение, что это вообще какой-то скам для сбора учёток от серверов. Не понимаю, какой смысл было делать подобное приложение.
📌 Есть ещё приложение IntelliMon Mobile for Zabbix, которое может работать в двух режимах. Либо бесплатный режим, но подключение к Zabbix серверу возможно через их собственный IntelliMon-Server, либо прямое подключению к Zabbix Server, но нужно купить платную версию. По описанию и картинкам видно, что это максимально функциональное приложение под android. Его написал премиум партнёр компании Zabbix. Так что если вам реально нужен хороший мобильный клиент, то это наиболее подходящий вариант. Стоит 1500 р. в год.
💡 Ну и в завершение расскажу про Unofficial Zabbix Agent. Это тоже приложение под Android, которое выполняет функцию агента. Можно поставить на смартфон и добавить на сервер. Список метрик будет сильно зависеть от того, рутирован аппарат или нет. Помимо традиционных системных метрик, можно снимать данные о положении аппарата по координатам gps, о заряде смартфона и многих других специфичных вещах. Полный список айтемов есть в описании в google play.
#zabbix #android
Я решил посмотреть, какие вообще есть варианты в удобном виде хотя бы посмотреть дашборды, графики или списки триггеров в Zabbix. На редактирование даже не замахиваюсь. Стандартный веб интерфейс совершенно немобилен. Смотреть его со смартфона неудобно ни в адаптированном виде под экран смартфона, ни в исходном виде в версии для ПК. В первом случае появляется большая прокрутка по горизонтали, во втором случае всё слишком мелко.
Рассказываю, что в принципе есть по этой теме.
📌 Приложение Tabbix от Tirgil. Есть бесплатная и платная версия. Я проверял только бесплатную. Тут более менее функциональный интерфейс. Можно посмотреть список хостов, активные триггеры конкретного хоста, его историю по событиям и содержимое метрик в текстовом и графическом виде. Это всё, что там есть. Можно добавить несколько серверов в программу. Сделано удобно, можно пользоваться.
📌 Приложение OneZabbix от Mahhaus. Бесплатное приложение. У него очень мало скачиваний и совсем нет отзывов, хотя приложение рабочее и довольно функциональное. При подключении к серверу сразу открывается список групп. При входе в группу отображаются основные метрики каждого хоста в виде небольших виджетов. В группе можно выбрать любой хост. При открытии хоста отображается импровизированный дашборд с графиками загрузки памяти, cpu, диска. В хосте можно посмотреть только графики самого хоста, не значения всех метрик из latest data. Весь остальной функционал при нажатии показывает сообщение, что будет реализовано в будущем. В настоящий момент приложение пригодно только для просмотра графиков и статуса хостов. Если бы всё нарисованное было реализовано, то приложение было бы лучшим.
📌 Приложение ZabbixITK от Илим-Телеком. По картинкам из описания и самого описания функционала выглядит неплохо. Последнее обновление 4 марта 2020 года. То есть приложение относительно свежее. Но у меня почему-то не заработало. Пишет, что не подходят учётные данные, либо неверный url. Проверял всё много раз, но так и не заработало. Жаль.
📌 Приложение Moobix 2.0 от BeOnUp. У него 5+ тыс. скачиваний на google play. Говорю сразу, не тратьте своё время на него. Приложение никакущее. Оно не умеет практически ничего. Через него можно посмотреть список хостов и их состояние (активен или нет), количество активных триггеров (только число, даже без названий и списка). Такое ощущение, что это вообще какой-то скам для сбора учёток от серверов. Не понимаю, какой смысл было делать подобное приложение.
📌 Есть ещё приложение IntelliMon Mobile for Zabbix, которое может работать в двух режимах. Либо бесплатный режим, но подключение к Zabbix серверу возможно через их собственный IntelliMon-Server, либо прямое подключению к Zabbix Server, но нужно купить платную версию. По описанию и картинкам видно, что это максимально функциональное приложение под android. Его написал премиум партнёр компании Zabbix. Так что если вам реально нужен хороший мобильный клиент, то это наиболее подходящий вариант. Стоит 1500 р. в год.
💡 Ну и в завершение расскажу про Unofficial Zabbix Agent. Это тоже приложение под Android, которое выполняет функцию агента. Можно поставить на смартфон и добавить на сервер. Список метрик будет сильно зависеть от того, рутирован аппарат или нет. Помимо традиционных системных метрик, можно снимать данные о положении аппарата по координатам gps, о заряде смартфона и многих других специфичных вещах. Полный список айтемов есть в описании в google play.
#zabbix #android
Расскажу вам про относительно старую, но не очень популярную в широких кругах систему мониторинга SAYMON. Сам я о ней краем уха слышал, так как периодически получал рекомендацию от читателей на эту систему, но не смотрел, потому что на сайте не было открытой ссылки на скачивание дистрибутива и не было цен. Меня это всегда останавливало.
SAYMON — российская разработка, которая включена в список отечественного ПО. Скачать её на самом деле не сложно. Достаточно в форму ввести свой email и на почту сразу же приходит прямая ссылка для скачивания без каких-либо проверок или доп. условий. По ссылке загружается ISO образ на базе Ubuntu, который автоматически разворачивается в готовую систему. В консоль севера вообще не надо заходить. Сразу после установки можно идти в веб интерфейс.
Систему я развернул у себя и немного изучил. В целом, она похожа на классические мониторинги типа Zabbix, Nagios и т.д. Ставится сервер с веб интерфейсом, метрики собираются от агентов, по snmp, делаются прямые проверки портов, icmp запросы, прямые запросы в базы данных и многое другое. Список источников для метрик там большой.
Я добавил Windows систему, установив на неё агент. После установки достаточно в конфиге указать адрес сервера и запустить службу. Больше ничего делать не надо. Агент сам идёт на сервер и регистрирует там себя. То есть разворачивать эту систему в автоматическом режиме максимально просто.
Веб интерфейс сервера специфический. Он не выглядит красивым и современным, но и какой-то стариной не отдаёт. Всё утилитарно и функционально. А вот в плане управления, настройки и удобства всё очень круто. Так как давно и много работаю с мониторингом, я сразу же оценил удобство. Покажу несколько примеров.
У вас есть хост, на нём какие-то проверки и метрики с данными. Зайдя в любую метрику вы сразу же можете указать, что превышение какого-то значения переводит хост в другое состояние (например, перегружен, остановлен, выключен и т.д.). Так же для конкретной метрики можно указать, какое действие будет выполнено при превышении порога. Это может быть оповещение в различные каналы связи, какое-то действие или скрипт, задача в Jira и т.д. То есть всё это можно гибко настроить для каждой конкретной метрики в настройках хоста. Это очень удобно.
Далее понравилась визуализация. Для каждого хоста можно настроить свой дашборд, на который можно вывести значения любых метрик в нескольких предложенных форматах, примерно как у Grafana. Каждый хост может иметь свой дашборд, при этом они все иерархически присутствуют в едином интерфейсе сервера. Очень удобно. Настраивать быстрее, проще и интуитивнее, чем у Zabbix или Grafana.
Все базовые настройки и проверки я сделал вообще не заглядывая в документацию. Основной функционал выглядит просто и интуитивно. Можно поставить и сразу что-то настроить.
Система SAYMON у меня оставила очень приятное впечатление. Под капотом большой стек современных технологий. Ядро системы на Java, хранение в MongoDB и OpenTSDB, кэш в Redis, очереди на Kafka, сервер данных на NodeJS. Цен на сайте нет, так что ничего не могу сказать. Есть возможность скачать бесплатную версию без ограничения срока действия по времени, но с лимитом в 400 объектов и 3 пользователей. В целом, это не мало. Добавив 2 агента с типовыми проверками и мониторинг доступности шлюза через icmp я получил 15 проверок. Где-то 50-60 агентов можно подключить, а если отключить какие-то ненужные проверки, то и больше.
Программа присутствует в реестре отечественного ПО под названием Центральный пульт. Мне система понравилась. В ютубе нашёл некоторое количество выступлений за последние 10 лет, где расписаны очень разнообразные случаи применения этого мониторинга. Гибкость настроек и визуализаций позволяет реализовать широкий спектр задач. Примеры дашбордов и графиков можно посмотреть на сайте.
Если кто-то использовал или использует у себя эту систему мониторинга, дайте обратную связь по ней.
⇨ Сайт / Реестр ПО
#мониторинг #отечественное
SAYMON — российская разработка, которая включена в список отечественного ПО. Скачать её на самом деле не сложно. Достаточно в форму ввести свой email и на почту сразу же приходит прямая ссылка для скачивания без каких-либо проверок или доп. условий. По ссылке загружается ISO образ на базе Ubuntu, который автоматически разворачивается в готовую систему. В консоль севера вообще не надо заходить. Сразу после установки можно идти в веб интерфейс.
Систему я развернул у себя и немного изучил. В целом, она похожа на классические мониторинги типа Zabbix, Nagios и т.д. Ставится сервер с веб интерфейсом, метрики собираются от агентов, по snmp, делаются прямые проверки портов, icmp запросы, прямые запросы в базы данных и многое другое. Список источников для метрик там большой.
Я добавил Windows систему, установив на неё агент. После установки достаточно в конфиге указать адрес сервера и запустить службу. Больше ничего делать не надо. Агент сам идёт на сервер и регистрирует там себя. То есть разворачивать эту систему в автоматическом режиме максимально просто.
Веб интерфейс сервера специфический. Он не выглядит красивым и современным, но и какой-то стариной не отдаёт. Всё утилитарно и функционально. А вот в плане управления, настройки и удобства всё очень круто. Так как давно и много работаю с мониторингом, я сразу же оценил удобство. Покажу несколько примеров.
У вас есть хост, на нём какие-то проверки и метрики с данными. Зайдя в любую метрику вы сразу же можете указать, что превышение какого-то значения переводит хост в другое состояние (например, перегружен, остановлен, выключен и т.д.). Так же для конкретной метрики можно указать, какое действие будет выполнено при превышении порога. Это может быть оповещение в различные каналы связи, какое-то действие или скрипт, задача в Jira и т.д. То есть всё это можно гибко настроить для каждой конкретной метрики в настройках хоста. Это очень удобно.
Далее понравилась визуализация. Для каждого хоста можно настроить свой дашборд, на который можно вывести значения любых метрик в нескольких предложенных форматах, примерно как у Grafana. Каждый хост может иметь свой дашборд, при этом они все иерархически присутствуют в едином интерфейсе сервера. Очень удобно. Настраивать быстрее, проще и интуитивнее, чем у Zabbix или Grafana.
Все базовые настройки и проверки я сделал вообще не заглядывая в документацию. Основной функционал выглядит просто и интуитивно. Можно поставить и сразу что-то настроить.
Система SAYMON у меня оставила очень приятное впечатление. Под капотом большой стек современных технологий. Ядро системы на Java, хранение в MongoDB и OpenTSDB, кэш в Redis, очереди на Kafka, сервер данных на NodeJS. Цен на сайте нет, так что ничего не могу сказать. Есть возможность скачать бесплатную версию без ограничения срока действия по времени, но с лимитом в 400 объектов и 3 пользователей. В целом, это не мало. Добавив 2 агента с типовыми проверками и мониторинг доступности шлюза через icmp я получил 15 проверок. Где-то 50-60 агентов можно подключить, а если отключить какие-то ненужные проверки, то и больше.
Программа присутствует в реестре отечественного ПО под названием Центральный пульт. Мне система понравилась. В ютубе нашёл некоторое количество выступлений за последние 10 лет, где расписаны очень разнообразные случаи применения этого мониторинга. Гибкость настроек и визуализаций позволяет реализовать широкий спектр задач. Примеры дашбордов и графиков можно посмотреть на сайте.
Если кто-то использовал или использует у себя эту систему мониторинга, дайте обратную связь по ней.
⇨ Сайт / Реестр ПО
#мониторинг #отечественное
Существует популярный маркетплейс готовых приложений на базе Docker или образов виртуальных машин Bitnami. Это довольно известный сервис для тех, кто пользуется западными облачными провайдерами. Bitnami их партнёр и продаёт по подписке возможность работы со своими образами напрямую через сервисы провайдеров.
А все остальные могут совершенно бесплатно и свободно использовать их в своей работе, разворачивая в ручном режиме. Сразу возникает вопрос, а зачем это нужно? Всё просто. Bitnami берёт популярные наборы софта, пакует их в образы и поддерживает. То есть максимально быстро выпускает обновлённые версии образов.
Docker контейнеры Bitnami собраны на базе Debian. То есть это не кастратики по типу distroless, а более ли менее типовые контейнеры. Также они партнёры Docker, контейнеры подписаны доверенными цифровыми подписями. Докерфайлы всех контейнеров есть на github. То есть это контейнеры, которым можно доверять и использовать в продакшене.
Помимо контейнеров, есть готовые образы виртуальных машин в формате .ova для VirtualBox. Без проблем конвертируется в qcow2 или lvm с помощью qemu-img для запуска в Proxmox.
В каталоге много популярного софта. Так что если надо что-то посмотреть или потестировать, то можно смело брать и смотреть. В прод уже на своё усмотрение.
⇨ Сайт / Контейнеры / Виртуальные машины
#docker #devops
А все остальные могут совершенно бесплатно и свободно использовать их в своей работе, разворачивая в ручном режиме. Сразу возникает вопрос, а зачем это нужно? Всё просто. Bitnami берёт популярные наборы софта, пакует их в образы и поддерживает. То есть максимально быстро выпускает обновлённые версии образов.
Docker контейнеры Bitnami собраны на базе Debian. То есть это не кастратики по типу distroless, а более ли менее типовые контейнеры. Также они партнёры Docker, контейнеры подписаны доверенными цифровыми подписями. Докерфайлы всех контейнеров есть на github. То есть это контейнеры, которым можно доверять и использовать в продакшене.
Помимо контейнеров, есть готовые образы виртуальных машин в формате .ova для VirtualBox. Без проблем конвертируется в qcow2 или lvm с помощью qemu-img для запуска в Proxmox.
В каталоге много популярного софта. Так что если надо что-то посмотреть или потестировать, то можно смело брать и смотреть. В прод уже на своё усмотрение.
⇨ Сайт / Контейнеры / Виртуальные машины
#docker #devops
На днях рассказывал про Zabbix Agent для Android. Меня заинтересовала эта тема, поэтому решил разобраться, как он работает и попробовать самому.
Речь идёт про Unofficial Zabbix Agent:
⇨ https://play.google.com/store/apps/details?id=fr.damongeot.zabbixagent
Одного агента для мониторинга недостаточно. Нужен ещё шаблон. Нашёл его на github:
⇨ https://github.com/muutech/zabbix-templates/tree/master/ANDROID
Для мониторинга смартфонов более уместно использовать формат работы агента ACTIVE. Это когда он сам отправляет данные на Zabbix Server. Так что я взял шаблон UNOFFICIAL_ZABBIX_AGENT_ACTIVE.xml и попытался его загрузить на сервер. Это не получилось, потому что в шаблоне есть привязка к стандартному шаблону Template App Zabbix Active Agent. В версии 6.0 этот шаблон называется Template App Zabbix Agent Active. Я открыл шаблон текстовым редактором и просто изменил это имя. После этого шаблон успешно импортировался на сервер.
После этого взял старый нерутированный смартфон Xiaomi Redmi 4X, поставил на него из магазина Unofficial Zabbix Agent, и указал настройки — адрес и порт Zabbix Server. В итоге всё заработало. На скрине список айтемов, которые он поддерживает. По умолчанию никаких смартфоновских триггеров нет, кроме стандартных от шаблона zabbix agent, так что если они вам нужны, то нужно будет сделать отдельно.
Мне понравилась идея мониторинга смартфонов. Сразу придумал, что сделаю я. Смартфон, который я взял, используется дома для включения детям сказок. Очень часто бывает так, что он полностью разряжен и замечают это вечером, когда уже надо включать сказки. Сделаю триггер на заряд смартфона, чтобы не забывать его заряжать.
Надо только не забыть настроить работу агента в фоновом режиме, если вам нужно постоянно получать с него метрики. Не знаю, насколько сильно это будет высаживать батарею. Также нормально работает отправка GPS координат смартфона. То есть можно наколхозить свою карту с расположением смартфонов. Это может быть актуально для какого-то бизнеса.
Подобные мониторинги под ключ стоят немалых денег. Тут можно всё сделать бесплатно и довольно быстро. Не вижу особых проблем. Берём скрипт, забираем данные айтемов с координатами и через api загружаем их в инвентарь хоста-смартфона. Далее эти хосты наносим на карту и наблюдаем перемещение. Если кому-то это реально надо, обращайтесь. Думаю, я смогу это реализовать.
#zabbix
Речь идёт про Unofficial Zabbix Agent:
⇨ https://play.google.com/store/apps/details?id=fr.damongeot.zabbixagent
Одного агента для мониторинга недостаточно. Нужен ещё шаблон. Нашёл его на github:
⇨ https://github.com/muutech/zabbix-templates/tree/master/ANDROID
Для мониторинга смартфонов более уместно использовать формат работы агента ACTIVE. Это когда он сам отправляет данные на Zabbix Server. Так что я взял шаблон UNOFFICIAL_ZABBIX_AGENT_ACTIVE.xml и попытался его загрузить на сервер. Это не получилось, потому что в шаблоне есть привязка к стандартному шаблону Template App Zabbix Active Agent. В версии 6.0 этот шаблон называется Template App Zabbix Agent Active. Я открыл шаблон текстовым редактором и просто изменил это имя. После этого шаблон успешно импортировался на сервер.
После этого взял старый нерутированный смартфон Xiaomi Redmi 4X, поставил на него из магазина Unofficial Zabbix Agent, и указал настройки — адрес и порт Zabbix Server. В итоге всё заработало. На скрине список айтемов, которые он поддерживает. По умолчанию никаких смартфоновских триггеров нет, кроме стандартных от шаблона zabbix agent, так что если они вам нужны, то нужно будет сделать отдельно.
Мне понравилась идея мониторинга смартфонов. Сразу придумал, что сделаю я. Смартфон, который я взял, используется дома для включения детям сказок. Очень часто бывает так, что он полностью разряжен и замечают это вечером, когда уже надо включать сказки. Сделаю триггер на заряд смартфона, чтобы не забывать его заряжать.
Надо только не забыть настроить работу агента в фоновом режиме, если вам нужно постоянно получать с него метрики. Не знаю, насколько сильно это будет высаживать батарею. Также нормально работает отправка GPS координат смартфона. То есть можно наколхозить свою карту с расположением смартфонов. Это может быть актуально для какого-то бизнеса.
Подобные мониторинги под ключ стоят немалых денег. Тут можно всё сделать бесплатно и довольно быстро. Не вижу особых проблем. Берём скрипт, забираем данные айтемов с координатами и через api загружаем их в инвентарь хоста-смартфона. Далее эти хосты наносим на карту и наблюдаем перемещение. Если кому-то это реально надо, обращайтесь. Думаю, я смогу это реализовать.
#zabbix
Расскажу про ситуацию, в которой я немного облажался. Случилась буквально на днях на одном из серверов мониторинга Zabbix.
Я всегда закрываю доступ ко всему, что не требуется выставлять в интернет. В данном случае с помощью веб сервера Nginx настраивается разрешение на доступ к веб интерфейсу только с разрешённых ip адресов. Для этого достаточно в секции server конфига Nginx добавить:
И всё. Самый простой и быстрый способ. Но в какой-то момент мне нужно было настроить работу по https. Для этого надо было открыть доступ к виртуальному хосту, чтобы серверы let's encrypt смогли подтвердить доменное имя.
Для этого пришлось убрать запрет из секции server, добавить location для
На днях захожу в Zabbix и вижу сообщение, что недавно были неудачные попытки залогиниться. Как-то напрягся. Да ещё и IP адреса какие-то странные, вообще с другого конца света. Начал всё проверять. Ну нет доступа к веб интерфейсу. Проверил несколько раз, запрет настроен, по адресу сайта выдаёт 404.
Начал внимательно смотреть логи веб сервера. И реально вижу, на некоторые запросы с левых ip адресов ответ веб сервера 200. Присмотрелся на запросы и всё понял. Какой-то бот занимался перебором и периодически слал POST запросы на
Исправил я это дело. Впредь буду внимательнее. Так часто бывает. Сначала настроишь, всё нормально. Потом надо быстренько что-то добавить или исправить. Делаешь исправление и что-то забываешь. С firewall так часто бывает. Первичная настройка обычно внимательно делается и проверяется, а потом уже быстро что-то добавляется, или временно, и забывается, или недостаточно проверяется. В итоге остаются дырки. В данном случае некритично, а сам Zabbix помог сразу закрыть дырку.
Вот сам конфиг виртуального хоста, если кому-то интересно:
⇨ https://pastebin.com/1pPz01m0
#zabbix
Я всегда закрываю доступ ко всему, что не требуется выставлять в интернет. В данном случае с помощью веб сервера Nginx настраивается разрешение на доступ к веб интерфейсу только с разрешённых ip адресов. Для этого достаточно в секции server конфига Nginx добавить:
allow 1.1.1.1/32;
allow 2.2.2.2/32;
allow 3.3.3.3/32;
allow 127.0.0.1/32;
deny all;
И всё. Самый простой и быстрый способ. Но в какой-то момент мне нужно было настроить работу по https. Для этого надо было открыть доступ к виртуальному хосту, чтобы серверы let's encrypt смогли подтвердить доменное имя.
Для этого пришлось убрать запрет из секции server, добавить location для
/.well-known
, а запрет я повесил на корневой location /
. И посчитал, что всё нормально. По идее всё и должно быть нормально. При обращении на адрес веб интерфейса zabbix получишь 404 ошибку. На днях захожу в Zabbix и вижу сообщение, что недавно были неудачные попытки залогиниться. Как-то напрягся. Да ещё и IP адреса какие-то странные, вообще с другого конца света. Начал всё проверять. Ну нет доступа к веб интерфейсу. Проверил несколько раз, запрет настроен, по адресу сайта выдаёт 404.
Начал внимательно смотреть логи веб сервера. И реально вижу, на некоторые запросы с левых ip адресов ответ веб сервера 200. Присмотрелся на запросы и всё понял. Какой-то бот занимался перебором и периодически слал POST запросы на
index.php
. А для php в конфиге nginx выделен отдельный location. И для него я просто забыл поставить запрет на доступ. Я закрыл только location /
, а location ~ \.php$
остался открытым. В итоге все прямые запросы на php скрипты проходили. Исправил я это дело. Впредь буду внимательнее. Так часто бывает. Сначала настроишь, всё нормально. Потом надо быстренько что-то добавить или исправить. Делаешь исправление и что-то забываешь. С firewall так часто бывает. Первичная настройка обычно внимательно делается и проверяется, а потом уже быстро что-то добавляется, или временно, и забывается, или недостаточно проверяется. В итоге остаются дырки. В данном случае некритично, а сам Zabbix помог сразу закрыть дырку.
Вот сам конфиг виртуального хоста, если кому-то интересно:
⇨ https://pastebin.com/1pPz01m0
#zabbix
Опять сегодня тема про мониторинг Zabbix. Последнее время много им занимался. Сегодня речь пойдёт про софтовый рейд Mdadm. Я абсолютно всегда настраиваю его мониторинг, если он используется.
Давно уже наколхозил простенькую проверку статуса mdamd:
И много лет использую её в Zabbix. Вопрос по мониторингу статуса массива mdamd она полностью решает.
Решил посмотреть что-то более удобное и функциональное. Нашёл репозиторий на github:
⇨ https://github.com/linuxsquad/zabbix_mdraid
Он хоть и старый, но полностью рабочий. Шаблон без проблем и каких-либо правок импортировал в Zabbix Server 6.0. Потестировал скрипт на сервере. Всё полностью рабочее. Главное, не забыть выдать пользователю zabbix через sudo разрешение на запуск скрипта, который обращается к /sbin/mdadm.
Шаблон удобен, с автообнаружением. Имеет 10 метрик, посмотреть их можно на картинке. Триггер один — на статус массива. Если он в состоянии degraded|resyncing|recovering|Not Started, будет оповещение.
В общем, решение рабочее, можно смело пользоваться.
#zabbix
Давно уже наколхозил простенькую проверку статуса mdamd:
egrep -c "\[.*_.*\]" /proc/mdstat
И много лет использую её в Zabbix. Вопрос по мониторингу статуса массива mdamd она полностью решает.
Решил посмотреть что-то более удобное и функциональное. Нашёл репозиторий на github:
⇨ https://github.com/linuxsquad/zabbix_mdraid
Он хоть и старый, но полностью рабочий. Шаблон без проблем и каких-либо правок импортировал в Zabbix Server 6.0. Потестировал скрипт на сервере. Всё полностью рабочее. Главное, не забыть выдать пользователю zabbix через sudo разрешение на запуск скрипта, который обращается к /sbin/mdadm.
Шаблон удобен, с автообнаружением. Имеет 10 метрик, посмотреть их можно на картинке. Триггер один — на статус массива. Если он в состоянии degraded|resyncing|recovering|Not Started, будет оповещение.
В общем, решение рабочее, можно смело пользоваться.
#zabbix
Одна из самых популярных рубрик на канале это тема с консольными командами и однострочными bash скриптами. При этом всё самое интересное и полезное, чем сам пользуюсь, я уже публиковал, а повторяться не очень люблю. Тем не менее, аудитория постоянно растёт и меняется, и по вопросам в комментариях я вижу, что есть много людей, которые не читали мои старые публикации.
Решил сделать подборку наиболее популярных по сохранениям постов на тему консольных команд.
▪ Обработка строк с помощью awk, sed, grep, cat
▪ Анализ сетевых метрик сервера через консоль
▪ Общий анализ нагрузки на систему по cpu и памяти
▪ Анализ нагрузки на дисковую подсистему
▪ Информация о железе через консоль
▪ Работа с файлами (поиск дубликатов, рекурсивный листинг и т.д.)
▪ Работа с файлами (правка конфигов, сравнение директорий и т.д.)
▪ Анализ логов веб сервера
▪ Конструктор для консольной команды find
▪ Мои примеры поиска с помощью find
▪ Примеры с утилитой grep
▪ Работа с дисками и разделами
▪ Примеры использования ps (processes status)
▪ Анализ дисковой активности в Linux
▪ Низкоуровневое профилирование нагрузки (perf и ftrace)
▪ Использование date в скриптах
#bash #подборка
Решил сделать подборку наиболее популярных по сохранениям постов на тему консольных команд.
▪ Обработка строк с помощью awk, sed, grep, cat
▪ Анализ сетевых метрик сервера через консоль
▪ Общий анализ нагрузки на систему по cpu и памяти
▪ Анализ нагрузки на дисковую подсистему
▪ Информация о железе через консоль
▪ Работа с файлами (поиск дубликатов, рекурсивный листинг и т.д.)
▪ Работа с файлами (правка конфигов, сравнение директорий и т.д.)
▪ Анализ логов веб сервера
▪ Конструктор для консольной команды find
▪ Мои примеры поиска с помощью find
▪ Примеры с утилитой grep
▪ Работа с дисками и разделами
▪ Примеры использования ps (processes status)
▪ Анализ дисковой активности в Linux
▪ Низкоуровневое профилирование нагрузки (perf и ftrace)
▪ Использование date в скриптах
#bash #подборка