Вчера нужно было оперативно подключиться к консоли сервера Supermicro через его BMC (Baseboard Management Controller), чего я не делал уже очень давно. Даже не помню, сколько лет. Если сам покупаю или арендую сервера, то всегда предпочитаю другие бренды. Больше всего нравится Dell. В современных серверах вроде бы уже давно нет Java в BMC
Клиент для подключения тут на Java. Думаю, уже понятно, с чем я столкнулся 😁. Как меня парит эта фигня со старыми железками. Если постоянно с ними работаешь, то можно что-то придумать, типа виртуалки, где будет настроено всё необходимое. Для разовых задач мне сейчас такое не надо, так что у меня нет.
Помню когда-то делал заметку про проект, где для таких железок поднимаются докер контейнеры с разными версиями Java и браузером, чтобы можно было подключиться. Но, во-первых, я не смог его найти, во-вторых, оттуда как-то доступ надо будет прокидывать до сервера.
Раньше можно было в Панели управления, в настройках Java, во вкладке Security, добавить исключение и подключиться. Но это давно уже не помогает. Решил сходить по самому простому пути - загуглил ошибку:
java unsigned application requesting unrestricted access
И тут же получил рабочее решение. Идём в директорию
После этого при подключении к этому же серверу выскакивает предупреждение, где можно принять все риски на себя и таки подключиться.
Раньше уже сталкивался с такими проблемами, но решал их каким-то более сложным путём. Искал другие машины, какие-то старые версии скачивал. Просто в голову не приходило загуглить решение. Не думал, что настройками можно обойтись.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#ошибка
Клиент для подключения тут на Java. Думаю, уже понятно, с чем я столкнулся 😁. Как меня парит эта фигня со старыми железками. Если постоянно с ними работаешь, то можно что-то придумать, типа виртуалки, где будет настроено всё необходимое. Для разовых задач мне сейчас такое не надо, так что у меня нет.
Помню когда-то делал заметку про проект, где для таких железок поднимаются докер контейнеры с разными версиями Java и браузером, чтобы можно было подключиться. Но, во-первых, я не смог его найти, во-вторых, оттуда как-то доступ надо будет прокидывать до сервера.
Раньше можно было в Панели управления, в настройках Java, во вкладке Security, добавить исключение и подключиться. Но это давно уже не помогает. Решил сходить по самому простому пути - загуглил ошибку:
java unsigned application requesting unrestricted access
И тут же получил рабочее решение. Идём в директорию
C:\Program Files\Java\jre1.8.0_361\lib\security
. Находим файл java.security
и комментируем в нём параметры, где упоминается disabled
. В них речь идёт об устаревших алгоритмах и механизмах аутентификации. Именно они на старой железке не позволяют с ней работать на современных версиях ПО.После этого при подключении к этому же серверу выскакивает предупреждение, где можно принять все риски на себя и таки подключиться.
Раньше уже сталкивался с такими проблемами, но решал их каким-то более сложным путём. Искал другие машины, какие-то старые версии скачивал. Просто в голову не приходило загуглить решение. Не думал, что настройками можно обойтись.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#ошибка
🔥 Новый гайд для тех, кто строит карьеру в DevOps
Если хочешь понять, какие технологии учить, как устроен рынок и как не застрять в вечной подготовке — забирай нашу матрицу компетенций DevOps в 2025 году.
Что внутри:
▪️ Матрица компетенций DevOps-инженера — от Linux и CI/CD до GitOps и облаков
▪️ ТОП-10 технологий с подробным разбором, зачем каждая нужна
▪️ Главные тренды 2025 года
▪️ Пошаговая дорожная карта — как перейти в DevOps без опыта или из другой IT-роли
Всё основано на исследовании с 4100+ специалистами + анализ вакансий на hh + опыт инженеров Rebrain
🎁 И бонус — в гайде есть ссылки на бесплатные демо-дни и открытые практикумы. Можно сразу тестировать свои силы!
📥 Скачать гайд бесплатно: https://clck.ru/3MJNF5
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFHbWf5S
Если хочешь понять, какие технологии учить, как устроен рынок и как не застрять в вечной подготовке — забирай нашу матрицу компетенций DevOps в 2025 году.
Что внутри:
▪️ Матрица компетенций DevOps-инженера — от Linux и CI/CD до GitOps и облаков
▪️ ТОП-10 технологий с подробным разбором, зачем каждая нужна
▪️ Главные тренды 2025 года
▪️ Пошаговая дорожная карта — как перейти в DevOps без опыта или из другой IT-роли
Всё основано на исследовании с 4100+ специалистами + анализ вакансий на hh + опыт инженеров Rebrain
🎁 И бонус — в гайде есть ссылки на бесплатные демо-дни и открытые практикумы. Можно сразу тестировать свои силы!
📥 Скачать гайд бесплатно: https://clck.ru/3MJNF5
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFHbWf5S
Я уже когда-то вскользь упоминал про особенность работы почтовых клиентов, связанную с отображением аватаров отправителей. Конкретно о том, что нет какого-то единого стандарта и возможности указать свой аватар для всех получателей. В протоколах SMTP и IMAP вообще ничего не существует на эту тему. Многие, кто настраивают свои почтовые сервера не знают и не понимают этого. Точнее их пользователи, и просят сделать что-то подобное, но это невозможно.
Все те изображения, что вы видите у себя в почтовых клиентах – функциональность именно клиентов. Веб интерфейсы почты Яндекса, Мейла, Гугла отображают картинки, которые добавили сами пользователи в своих учётных записях. И если пользователь Gmail с настроенной у себя аватаркой пришлёт сообщение пользователю почты Яндекс, он там не увидит эту аватарку. А если отправить в ящик Gmail, то увидит.
То же самое умеет делать Outlook, подтягивая добавленные заранее аватары либо вручную пользователем для каждого отправителя, либо автоматически из AD. Насчёт последнего не уверен на 100%, но вроде бы видел такую информацию. Какие-то клиенты могут автоматически использовать favicon с сайта домена отправителя, если он там есть. Яндекс когда-то давно заявлял, что ищет и добавляет фото отправителя из соцсетей. Кто-то берёт изображения из сервиса Gravatar.
Когда последний раз упоминал об этом, мне в комментариях написали, что есть же стандарт BIMI (Brand Indicators for Message Identification), который как раз отвечает за отображение аватара почтового отправителя. Решил разобраться с этой темой и посмотреть, как она работает на практике. Забегая вперёд скажу, что стандарт этот скорее мёртв, чем жив.
Работает BIMI относительно просто. Он является частью настроек DMARC. Вы просто добавляете ещё одну TXT запись в DNS, типа такой:
Вам нужно выложить на сайт с тем же доменом, что и почтовый, картинку в формате svg. Картинка будет привязана к домену, то есть это в основном актуально для рассылок компании, потому что у всех отправителей этого домена будет один и тот же аватар или логотип.
В принципе, в таком виде это уже было бы удобно, но есть несколько важных нюансов. Для того, чтобы привязать изображение к вашему домену, вы должны получить VMC-сертификат (Verified Mark Certificate), подтверждающий, что вы реально имеете право использовать указанное изображение. По сути вам нужно зарегистрировать товарный знак и получить на него сертификат, выпущенный доверенным центром сертификации. Сделать его может, к примеру, тот же DigiCert, что выпускает обычные TLS сертификаты.
Требование получения VMC необязательное. В стандарте BIMI это опция. Но, к примеру, Gmail требует его наличие, чтобы отображать логотип у пользователей в почте. Мало того, что регистрация товарного знака и получение VMC – это значительная трата времени и денег, смыла в этом большого нет, потому что стандарт BIMI почти никто не поддерживает.
Ни один локальный почтовый клиент типа Thunderbird или Outlook его не поддерживают. Из крупных почтовых сервисов поддержка заявлена только у Gmail и Yahoo Mail и у некоторых небольших провайдеров. При этом Gmail требует VMC, который стоит ~$1,200 в год.
В общем, с аватарами в почте всё плохо. От BIMI толку почти нет, настраивать хлопотно, хотя для крупных западных компаний, сидящих плотно на Gmail, может и имеет смысл заморочиться.
Вообще, для меня странно, что протокол SMTP никак не развивают и не добавляют к нему функциональности. Ведь почтой до сих пор продолжают активно пользоваться. И хотя мессенджеры частично её заменяют, но полностью не заменят, так как это как ни крути – другой формат общения. Есть некоторое развитие IMAP в виде jIMAP, а по SMTP вообще ничего не видел нового. Аватарки прям напрашиваются в виде отдельного заголовка с закодированным там изображением.
#mailserver
Все те изображения, что вы видите у себя в почтовых клиентах – функциональность именно клиентов. Веб интерфейсы почты Яндекса, Мейла, Гугла отображают картинки, которые добавили сами пользователи в своих учётных записях. И если пользователь Gmail с настроенной у себя аватаркой пришлёт сообщение пользователю почты Яндекс, он там не увидит эту аватарку. А если отправить в ящик Gmail, то увидит.
То же самое умеет делать Outlook, подтягивая добавленные заранее аватары либо вручную пользователем для каждого отправителя, либо автоматически из AD. Насчёт последнего не уверен на 100%, но вроде бы видел такую информацию. Какие-то клиенты могут автоматически использовать favicon с сайта домена отправителя, если он там есть. Яндекс когда-то давно заявлял, что ищет и добавляет фото отправителя из соцсетей. Кто-то берёт изображения из сервиса Gravatar.
Когда последний раз упоминал об этом, мне в комментариях написали, что есть же стандарт BIMI (Brand Indicators for Message Identification), который как раз отвечает за отображение аватара почтового отправителя. Решил разобраться с этой темой и посмотреть, как она работает на практике. Забегая вперёд скажу, что стандарт этот скорее мёртв, чем жив.
Работает BIMI относительно просто. Он является частью настроек DMARC. Вы просто добавляете ещё одну TXT запись в DNS, типа такой:
default._bimi.example.com. IN TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"
Вам нужно выложить на сайт с тем же доменом, что и почтовый, картинку в формате svg. Картинка будет привязана к домену, то есть это в основном актуально для рассылок компании, потому что у всех отправителей этого домена будет один и тот же аватар или логотип.
В принципе, в таком виде это уже было бы удобно, но есть несколько важных нюансов. Для того, чтобы привязать изображение к вашему домену, вы должны получить VMC-сертификат (Verified Mark Certificate), подтверждающий, что вы реально имеете право использовать указанное изображение. По сути вам нужно зарегистрировать товарный знак и получить на него сертификат, выпущенный доверенным центром сертификации. Сделать его может, к примеру, тот же DigiCert, что выпускает обычные TLS сертификаты.
Требование получения VMC необязательное. В стандарте BIMI это опция. Но, к примеру, Gmail требует его наличие, чтобы отображать логотип у пользователей в почте. Мало того, что регистрация товарного знака и получение VMC – это значительная трата времени и денег, смыла в этом большого нет, потому что стандарт BIMI почти никто не поддерживает.
Ни один локальный почтовый клиент типа Thunderbird или Outlook его не поддерживают. Из крупных почтовых сервисов поддержка заявлена только у Gmail и Yahoo Mail и у некоторых небольших провайдеров. При этом Gmail требует VMC, который стоит ~$1,200 в год.
В общем, с аватарами в почте всё плохо. От BIMI толку почти нет, настраивать хлопотно, хотя для крупных западных компаний, сидящих плотно на Gmail, может и имеет смысл заморочиться.
Вообще, для меня странно, что протокол SMTP никак не развивают и не добавляют к нему функциональности. Ведь почтой до сих пор продолжают активно пользоваться. И хотя мессенджеры частично её заменяют, но полностью не заменят, так как это как ни крути – другой формат общения. Есть некоторое развитие IMAP в виде jIMAP, а по SMTP вообще ничего не видел нового. Аватарки прям напрашиваются в виде отдельного заголовка с закодированным там изображением.
#mailserver
Ранее я упоминал про различные движки, которые позволяют описывать диаграммы кодом. Они все собраны на сайте kroki.io, где их удобно оценить по визуальному оформлению и попробовать на готовых примерах что-то нарисовать.
Для движков с этого сайта есть расширение для VSCode - Markdown Kroki. С его помощью удобно рисовать схемы, так как тут же в соседнем окне можно открыть preview в режиме реального времени. Я попробовал, как это работает на наиболее актуальном по моему мнению движку для рисования схем сети - nwdiag.
Удобство такого подхода в том, что схема и все её изменения можно хранить в git репозитории. Я сделал для этого тестовый репо в gitflic, установил расширение, создал в репозитории файл в формате .md. Начал рисовать схему сети. Что получилось, можно посмотреть в репозитории или ниже на картинке. Попробовал основные возможности по оформлению.
Впечатления о nwdiag следующие. Это простой движок разметки. Не нужно ничего учить, можно сразу брать и делать. Я даже документацию не смог к нему найти. Есть ли она вообще? Просто посмотрел готовые примеры и начал пробовать.
Из-за его простоты ограничены возможности. Например, нельзя указать цвет фона. Из-за этого пришлось изменить тему VSCode с тёмной на светлую, иначе на тёмном фоне не видно чёрный шрифт, для которого тоже нельзя изменить ни размер, ни цвет. Это возможно только при экспорте в формат SVG. Там уже можно свои стили использовать.
Также нельзя задать координаты элементов, как-то подвигать их. Они отображаются в том порядке, как описаны в коде. Для маленьких схем некритично, а вот в больших захочется как-то скомпоновать элементы для наглядного представления, но не получится. Придётся изменением порядка в описании пытаться что-то изобразить.
Расширение только отображает схему в preview. Экспорт в картинку не делает, так что не получится её положить рядом с кодом. Смотреть придётся в редакторе или делать простенький пайплайн, создавай картинку на каком-то своём сервер с загрузкой в репозиторий.
Nwdiag можно установить через pip:
И потом из кода рисовать картинки:
При коммите нужно будет забрать код md файла, обрезать первую и последнюю строки, где указан тип движка для расширения. То есть убрать нужно строки:
и
А потом уже рисовать картинку через nwdiag. Можно там же и некоторую красоту навести, например, сразу изменяя шрифт:
Из подобных сервисов есть Graphviz и Mermaid, но они более сложные в освоении и без акцента на сети. Там нужно будет заморочиться, чтобы оформить такую же наглядную схему сети, которая в nwdiag создаётся за 10 минут.
Ещё отдельно напомню, что схемы, нарисованные вручную в excalidraw тоже могут храниться в git репозитории и автоматически рендериться в картинки, на которые можно указывать ссылки в различных документах.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#схемы
Для движков с этого сайта есть расширение для VSCode - Markdown Kroki. С его помощью удобно рисовать схемы, так как тут же в соседнем окне можно открыть preview в режиме реального времени. Я попробовал, как это работает на наиболее актуальном по моему мнению движку для рисования схем сети - nwdiag.
Удобство такого подхода в том, что схема и все её изменения можно хранить в git репозитории. Я сделал для этого тестовый репо в gitflic, установил расширение, создал в репозитории файл в формате .md. Начал рисовать схему сети. Что получилось, можно посмотреть в репозитории или ниже на картинке. Попробовал основные возможности по оформлению.
Впечатления о nwdiag следующие. Это простой движок разметки. Не нужно ничего учить, можно сразу брать и делать. Я даже документацию не смог к нему найти. Есть ли она вообще? Просто посмотрел готовые примеры и начал пробовать.
Из-за его простоты ограничены возможности. Например, нельзя указать цвет фона. Из-за этого пришлось изменить тему VSCode с тёмной на светлую, иначе на тёмном фоне не видно чёрный шрифт, для которого тоже нельзя изменить ни размер, ни цвет. Это возможно только при экспорте в формат SVG. Там уже можно свои стили использовать.
Также нельзя задать координаты элементов, как-то подвигать их. Они отображаются в том порядке, как описаны в коде. Для маленьких схем некритично, а вот в больших захочется как-то скомпоновать элементы для наглядного представления, но не получится. Придётся изменением порядка в описании пытаться что-то изобразить.
Расширение только отображает схему в preview. Экспорт в картинку не делает, так что не получится её положить рядом с кодом. Смотреть придётся в редакторе или делать простенький пайплайн, создавай картинку на каком-то своём сервер с загрузкой в репозиторий.
Nwdiag можно установить через pip:
# pip install nwdiag
И потом из кода рисовать картинки:
# nwdiag diagram.diag
При коммите нужно будет забрать код md файла, обрезать первую и последнюю строки, где указан тип движка для расширения. То есть убрать нужно строки:
```nwdiag
и
```
А потом уже рисовать картинку через nwdiag. Можно там же и некоторую красоту навести, например, сразу изменяя шрифт:
# nwdiag -f /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf diagram.diag
Из подобных сервисов есть Graphviz и Mermaid, но они более сложные в освоении и без акцента на сети. Там нужно будет заморочиться, чтобы оформить такую же наглядную схему сети, которая в nwdiag создаётся за 10 минут.
Ещё отдельно напомню, что схемы, нарисованные вручную в excalidraw тоже могут храниться в git репозитории и автоматически рендериться в картинки, на которые можно указывать ссылки в различных документах.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#схемы
⚡️ Itentis Cloud — не просто облако. Это адреналиновая инъекция для твоей инфраструктуры. Когда конкуренты сожрут тебя завтра, а свистопляска с настройками вымотает до трухи — мы твой огнетушитель в цифровом аду.
Чем дышит платформа:
🔥 Архитектура-терминатор
Не «безопасность», а бронированный сейф. Закрой рот на замок 2FA, отстреливай угрозы встроенными файрволами. Попробуй пробить — смешно будет.
💥 Контроль? Да ты здесь бог!
Рви шаблоны. Взламывай правила. Поднимай VPC, ломай сети через VNF, кроши лимиты AutoScaling-ом. Хочешь Kubernetes? Держи Managed — но уже с ножом в зубах.
🚑 Старт за 120 секунд или вернём бабки
Пока другие ковыряются с Docker’ом, ты уже рвёшь продакшн. Полноценный кластер быстрее, чем доставка пиццы. Не успел — мы чек сожжём.
🩹 Чем залили раны системы:
▪️ VPC — твоё цифровое гетто с колючей проволокой
▪️ VNF — NAT, балансировщики, файрволы как кувалда по цене скальпеля
▪️ IaC — инфраструктура кодом. Git push — и сервера горят синим пламенем
▪️ S3 — хранилище, где данные переживут ядерную зиму
▪️ Snapshots — откатывай косяки как в GTA чит-кодами
🗡 Хватит сосать лапшу провайдеров:
➔ 14 дней демо — не нравится? Свалим без вопросов. Привязка карты? Нет, это не мы.
➔ Миграция бесплатно — вырвем твои данные из лап гигантов. С кровью? Бесплатно.
➔ Инженер на линии — не болтовня, а технарь с SSH-ключом и ядром Linux в голове.
☠️ Не ной про «сложно». Жми → itentis.cloud
☢️ Канал с дозированной жестью → t.me/itentis
P.S. Если через 2 недели не захочешь убивать за legacy — мы сами отключимся. Стыдно не будет.
Реклама, ООО "АВАНГАРД", ИНН 7729648547, erid: 2SDnjd5n4Hs
Чем дышит платформа:
🔥 Архитектура-терминатор
Не «безопасность», а бронированный сейф. Закрой рот на замок 2FA, отстреливай угрозы встроенными файрволами. Попробуй пробить — смешно будет.
💥 Контроль? Да ты здесь бог!
Рви шаблоны. Взламывай правила. Поднимай VPC, ломай сети через VNF, кроши лимиты AutoScaling-ом. Хочешь Kubernetes? Держи Managed — но уже с ножом в зубах.
🚑 Старт за 120 секунд или вернём бабки
Пока другие ковыряются с Docker’ом, ты уже рвёшь продакшн. Полноценный кластер быстрее, чем доставка пиццы. Не успел — мы чек сожжём.
▪️ VPC — твоё цифровое гетто с колючей проволокой
▪️ VNF — NAT, балансировщики, файрволы как кувалда по цене скальпеля
▪️ IaC — инфраструктура кодом. Git push — и сервера горят синим пламенем
▪️ S3 — хранилище, где данные переживут ядерную зиму
▪️ Snapshots — откатывай косяки как в GTA чит-кодами
🗡 Хватит сосать лапшу провайдеров:
➔ 14 дней демо — не нравится? Свалим без вопросов. Привязка карты? Нет, это не мы.
➔ Миграция бесплатно — вырвем твои данные из лап гигантов. С кровью? Бесплатно.
➔ Инженер на линии — не болтовня, а технарь с SSH-ключом и ядром Linux в голове.
☠️ Не ной про «сложно». Жми → itentis.cloud
☢️ Канал с дозированной жестью → t.me/itentis
P.S. Если через 2 недели не захочешь убивать за legacy — мы сами отключимся. Стыдно не будет.
Реклама, ООО "АВАНГАРД", ИНН 7729648547, erid: 2SDnjd5n4Hs
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
В начале мая попался необычный канал, где автор с помощью ИИ озвучивает ролики в основном на тему преимущества C++ перед всеми остальными языками программирования. Я посмотрел несколько пародий, не особо понравилось, кроме вот этой с Лениным. Делюсь с вами. Оригинал тут:
▶️ https://www.youtube.com/watch?v=WPrSZvvt9Ow
Автор песни Папа может в СИ поспорил бы с текущей пародией:
Си плюс плюс или си шарп, это юнцам по вкусу
За решеткой есть жизнь и на кладбище есть плюсы
Но мой папа не любит эти модные приколы
Только чистый си по заветам старой школы
Так что Ленин тут не совсем прав, хоть и топит за права трудящихся программистов.
#юмор
Автор песни Папа может в СИ поспорил бы с текущей пародией:
Си плюс плюс или си шарп, это юнцам по вкусу
За решеткой есть жизнь и на кладбище есть плюсы
Но мой папа не любит эти модные приколы
Только чистый си по заветам старой школы
Так что Ленин тут не совсем прав, хоть и топит за права трудящихся программистов.
#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
Перебирал свои очень старые записи. У меня во времена, когда я учился и изучал новое, была привычка сохранять целиком html страницы с сайтов. Они так с тех пор и лежат все в одном архиве. Распаковал, посмотрел, с чего я всё начинал. В те времена это была система Freebsd. Я где-то с 5-й версии начал.
Для отказоустойчивости на уровне дисков использовались:
◽️gmirror
◽️atacontrol
◽️zfs
Меня постоянно спрашивают, почему я не использую zfs. Редко о нём пишу. На самом деле я его использую. И использовать начал очень давно ещё на Freebsd. Ставил на него системы. И это было очень удобно, так как zfs без проблем переживала аварийные отключения, в отличие от стандартной ufs. У меня был один шлюз на производстве, где постоянно были проблемы с электричеством, упсами. И аварийные отключения случались нередко. Шлюз на zfs очень хорошо их переживал. Всегда поднимался, не нужно было никого отправлять к консоли, проверять, почему не загрузился шлюз, не бились данные. Я считаю zfs нишевым продуктом и по умолчанию не использую, ставлю только там, где это действительно нужно и оправданно.
Первую почтовую систему собирал на связке Postfix + Courier-imap + Apache + Postfixadmin + Squirrelmail. В архиве будут две очень подробные статьи. Я по ним почти ничего не зная про почтовые сервера всё собрал и отладил.
В качестве файрвола использовался ipfw или pf. Последний не любил, казался более запутанным и нелогичным. Это пока не узнал про iptables 😁. Для контроля за трафиком пользователей использовался прокси сервер Squid и веб интерфейс к нему Sams.
До сих пор помню, что в составе Freebsd всегда был скрипт
Первый свой мониторинг, ещё до знакомства с Zabbix, настраивал на базе rrdtool и базы Round Robin Database (RRD). Получались красивые графики. Красивее, чем в том время были в Zabbix. Да они и сейчас там, те, что устаревшие, а не на дашбордах.
У меня с самого начала трудовой деятельности сформировалась привычка всё записывать, сохранять статьи, готовить какие-то небольшие инструкции. Потом всё это вылилось в сайт и Telegram канал. Сохранял всё это пока не начал вести сайт. После этого всю освоенную информацию перерабатывал и писал статьи. Это помогало в работе.
За статьи часто получал критику, да и сейчас получаю, потому что я не учитель, не позиционирую свои материалы как обучающие, не выверяю досконально информацию. Но в целом они на нормально уровне. Никому не вредили, потому что всё, что там описано, я использовал сам и своевременно вносил исправления, если там были проблемы. Комментарии всегда были открыты, я их читаю. Может быть из-за того, что я писал их с такой позиции они были популярны и интересны, потому что давал только прикладные вещи. Это минус с точки зрения обучения, но плюс с точки зрения быстрого решения задачи.
Ниже отправляю архив. Может кому-то будет интересно поностальгировать, посмотреть старые инструкции. Скоро их не будет, писать некому, все у ИИ спрашивают. На чём только этот ИИ будет учиться новому пока не понятно. Может как в нейросети Natasha 😁 Сейчас почти все сайты, с которых сохранялись статьи, не работают. Исключение - lissyara и opennet.
#разное
Для отказоустойчивости на уровне дисков использовались:
◽️gmirror
◽️atacontrol
◽️zfs
Меня постоянно спрашивают, почему я не использую zfs. Редко о нём пишу. На самом деле я его использую. И использовать начал очень давно ещё на Freebsd. Ставил на него системы. И это было очень удобно, так как zfs без проблем переживала аварийные отключения, в отличие от стандартной ufs. У меня был один шлюз на производстве, где постоянно были проблемы с электричеством, упсами. И аварийные отключения случались нередко. Шлюз на zfs очень хорошо их переживал. Всегда поднимался, не нужно было никого отправлять к консоли, проверять, почему не загрузился шлюз, не бились данные. Я считаю zfs нишевым продуктом и по умолчанию не использую, ставлю только там, где это действительно нужно и оправданно.
Первую почтовую систему собирал на связке Postfix + Courier-imap + Apache + Postfixadmin + Squirrelmail. В архиве будут две очень подробные статьи. Я по ним почти ничего не зная про почтовые сервера всё собрал и отладил.
В качестве файрвола использовался ipfw или pf. Последний не любил, казался более запутанным и нелогичным. Это пока не узнал про iptables 😁. Для контроля за трафиком пользователей использовался прокси сервер Squid и веб интерфейс к нему Sams.
До сих пор помню, что в составе Freebsd всегда был скрипт
/usr/local/etc/ipfw_change_rules
, позволяющий безопасно менять правила файрвола. Ты его запускаешь, открывается текстовый редактор правил. Меняешь правила, применяешь их. Скрипт задаёт тебе вопрос, всё ли ОК, применяем правила? Если тебя не отключило и ты подтверждаешь, то правила окончательно применяются, если подтверждения не дал, то через несколько минут правила откатываются обратно. В Linux в базе ничего подобного до сих пор нет. Надо либо какие-то свои скрипты колхозить, либо дополнительные пакеты ставить.Первый свой мониторинг, ещё до знакомства с Zabbix, настраивал на базе rrdtool и базы Round Robin Database (RRD). Получались красивые графики. Красивее, чем в том время были в Zabbix. Да они и сейчас там, те, что устаревшие, а не на дашбордах.
У меня с самого начала трудовой деятельности сформировалась привычка всё записывать, сохранять статьи, готовить какие-то небольшие инструкции. Потом всё это вылилось в сайт и Telegram канал. Сохранял всё это пока не начал вести сайт. После этого всю освоенную информацию перерабатывал и писал статьи. Это помогало в работе.
За статьи часто получал критику, да и сейчас получаю, потому что я не учитель, не позиционирую свои материалы как обучающие, не выверяю досконально информацию. Но в целом они на нормально уровне. Никому не вредили, потому что всё, что там описано, я использовал сам и своевременно вносил исправления, если там были проблемы. Комментарии всегда были открыты, я их читаю. Может быть из-за того, что я писал их с такой позиции они были популярны и интересны, потому что давал только прикладные вещи. Это минус с точки зрения обучения, но плюс с точки зрения быстрого решения задачи.
Ниже отправляю архив. Может кому-то будет интересно поностальгировать, посмотреть старые инструкции. Скоро их не будет, писать некому, все у ИИ спрашивают. На чём только этот ИИ будет учиться новому пока не понятно. Может как в нейросети Natasha 😁 Сейчас почти все сайты, с которых сохранялись статьи, не работают. Исключение - lissyara и opennet.
#разное
WAICORE — хостинг, который не подведёт, со скидкой 25%
Для сисадминов, которые ценят:
— AMD Ryzen 9 9950X, а так же EPYC 9454— никаких тормозов
— NVMe-диски
— 5-10 Гбит/c — ширина канала зависит от тарифной линейки
— Надежная Германия — стабильные дата-центры
Преимущества:
- Быстрая поддержка
- Мгновенная активация
- Гибкая оплата. Crypto, СБП, PayPal
👉 Попробовать со скидкой 25%
👉 Написать нам для обратной связи: @waicore_help
👉 Телеграм канал @waicore
Для сисадминов, которые ценят:
— AMD Ryzen 9 9950X, а так же EPYC 9454— никаких тормозов
— NVMe-диски
— 5-10 Гбит/c — ширина канала зависит от тарифной линейки
— Надежная Германия — стабильные дата-центры
Преимущества:
- Быстрая поддержка
- Мгновенная активация
- Гибкая оплата. Crypto, СБП, PayPal
👉 Попробовать со скидкой 25%
👉 Написать нам для обратной связи: @waicore_help
👉 Телеграм канал @waicore
Подписчик прислал ссылку на очередной проект по мониторингу сайтов и TLS сертификатов к ним - Simple Site Monitor. Название полностью соответствует описанию. Ничего кроме кода ответа веб сервера и проверки содержимого страницы по заданному шаблону он не умеет. Разве что время жизни сертификата ещё проверяет. Больше ничего.
Проект собран в Docker, так что я его очень быстро развернул и попробовал:
Можно идти на порт сервера 8000 и проверять. Настраивать мониторинг можно как через файл конфигурации в директории
Приведу 3 наиболее популярных и функциональных аналогов, которые я сам использовал и писал о них.
📌UptimeRobot - это вообще сервис, но там есть бесплатный тарифный план, которого лично мне хватает. Использую его из-за удобного бесплатного приложения на Android.
📌Uptime Kuma - это наверное лидер среди подобных простых мониторингов, в которых не надо разбираться, а можно развернуть и сразу настроить. На него полно обзоров. Наверное каждый месяц какой-нибудь блогер пишет на него обзор. Можно развернуть у себя и пользоваться.
📌Gatus - этот мониторинг активно использую и по сей день. Писал про него, в том числе про то, как обновляю его конфигурацию с помощью простого пайплайна. Настроил там все интересующие меня проверки. Уведомления шлю в Telegram. Он у меня дублирует основные мониторинги на Zabbix, проверят их самих, плюс точки входа в наблюдаемые инфраструктуры, чтобы быстро узнать, что там всё отвалилось и лежит без внешнего доступа. Ну и по мелочи свои личные ресурсы. Мне он лично нравится за его дашборд-стартовую страницу, которая наглядна и не требует особой настройки. Просто по группам там всё скомпоновал.
А кто не видел, предлагаю свою сборную статью, где я собрал вообще все публикации о бесплатных мониторингах, которые были на обзоре в этом Telegram канале:
⇨ Топ бесплатных систем мониторинга
Если кто-то знает ещё интересные и функциональные мониторинги, поделитесь информацией.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#мониторинг
Проект собран в Docker, так что я его очень быстро развернул и попробовал:
# git clone https://github.com/DarthTigerson/Simple-Site-Monitor
# cd Simple-Site-Monitor
# docker compose up -d --build
Можно идти на порт сервера 8000 и проверять. Настраивать мониторинг можно как через файл конфигурации в директории
./data
, так и через веб интерфейс. В целом, ничего особенного. Работает и работает. Не знаю, что мотивирует людей писать такие мониторинги. Их уже есть, много, хороших, бесплатных, более функциональных. Тут мне не понравилось то, что уведомления возможны только в Discord и Slack. Хоть и заявлен тип Custom с возможностью указать свой webhook, но с Telegram он не заработал. Пишет, что поддерживает только домены в зоне discord и slack.Приведу 3 наиболее популярных и функциональных аналогов, которые я сам использовал и писал о них.
📌UptimeRobot - это вообще сервис, но там есть бесплатный тарифный план, которого лично мне хватает. Использую его из-за удобного бесплатного приложения на Android.
📌Uptime Kuma - это наверное лидер среди подобных простых мониторингов, в которых не надо разбираться, а можно развернуть и сразу настроить. На него полно обзоров. Наверное каждый месяц какой-нибудь блогер пишет на него обзор. Можно развернуть у себя и пользоваться.
📌Gatus - этот мониторинг активно использую и по сей день. Писал про него, в том числе про то, как обновляю его конфигурацию с помощью простого пайплайна. Настроил там все интересующие меня проверки. Уведомления шлю в Telegram. Он у меня дублирует основные мониторинги на Zabbix, проверят их самих, плюс точки входа в наблюдаемые инфраструктуры, чтобы быстро узнать, что там всё отвалилось и лежит без внешнего доступа. Ну и по мелочи свои личные ресурсы. Мне он лично нравится за его дашборд-стартовую страницу, которая наглядна и не требует особой настройки. Просто по группам там всё скомпоновал.
А кто не видел, предлагаю свою сборную статью, где я собрал вообще все публикации о бесплатных мониторингах, которые были на обзоре в этом Telegram канале:
⇨ Топ бесплатных систем мониторинга
Если кто-то знает ещё интересные и функциональные мониторинги, поделитесь информацией.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#мониторинг
Выгодная инфраструктура с GPU для проектов любого масштаба
Если вы создаете приложения на базе ИИ, занимаетесь анализом данных и сложными вычислениями, вам знакома проблема нехватки ресурсов GPU. С Selectel о ней можно забыть. Здесь есть мощные серверы с видеокартами для решения задач любой сложности всего от 29 ₽/час: https://slc.tl/dy8vz
Почему стоит выбрать аренду серверов с GPU в Selectel:
● Широкий выбор видеокарт: Более 20 моделей карт — от GTX 1080 до профессиональных H100 и А100 (40 и 80 ГБ).
● Гибкость и масштабируемость: Мгновенное масштабирование под растущие нагрузки, стандартные и индивидуальные конфигурации с нужной видеокартой.
● Высокий уровень безопасности: серверы Selectel соответствуют международным и российским стандартам безопасности, включая 152-ФЗ (УЗ-1), PCI DSS, ISO 27001, 27017 и 27018.
Разверните ваш проект на серверах с GPU в Selectel от 29 ₽/час: https://slc.tl/dy8vz
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqwxphjb
Если вы создаете приложения на базе ИИ, занимаетесь анализом данных и сложными вычислениями, вам знакома проблема нехватки ресурсов GPU. С Selectel о ней можно забыть. Здесь есть мощные серверы с видеокартами для решения задач любой сложности всего от 29 ₽/час: https://slc.tl/dy8vz
Почему стоит выбрать аренду серверов с GPU в Selectel:
● Широкий выбор видеокарт: Более 20 моделей карт — от GTX 1080 до профессиональных H100 и А100 (40 и 80 ГБ).
● Гибкость и масштабируемость: Мгновенное масштабирование под растущие нагрузки, стандартные и индивидуальные конфигурации с нужной видеокартой.
● Высокий уровень безопасности: серверы Selectel соответствуют международным и российским стандартам безопасности, включая 152-ФЗ (УЗ-1), PCI DSS, ISO 27001, 27017 и 27018.
Разверните ваш проект на серверах с GPU в Selectel от 29 ₽/час: https://slc.tl/dy8vz
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqwxphjb
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлые года: 2023 и 2024.
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://t.me/boost/srv_admin.
📌 Больше всего пересылок:
◽️Статья про кластер на базе Proxmox VE (474)
◽️Набор правил iptables для защиты от небольшого DDOS (390)
◽️Добавление новых дисков в сервер (375)
📌 Больше всего комментариев:
◽️Примеры вранья ИИ (136)
◽️Странные сетевые ошибки на сервере (94)
◽️Подключение к старому железу с Java (90)
📌 Больше всего реакций:
◽️Статья про кластер на базе Proxmox VE (382)
◽️Добавление новых дисков в сервер (237)
◽️Bash-трюк для grep вывода из stderr (231)
◽️Проблемы с сетевухами Realtek в Linux (197)
📌 Больше всего просмотров:
◽️Подборка видео на тему IT (12544)
◽️Набор правил iptables для защиты от небольшого DDOS (11007)
◽️Ограничения на отправку почты в Postfix (10920)
#топ
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://t.me/boost/srv_admin.
📌 Больше всего пересылок:
◽️Статья про кластер на базе Proxmox VE (474)
◽️Набор правил iptables для защиты от небольшого DDOS (390)
◽️Добавление новых дисков в сервер (375)
📌 Больше всего комментариев:
◽️Примеры вранья ИИ (136)
◽️Странные сетевые ошибки на сервере (94)
◽️Подключение к старому железу с Java (90)
📌 Больше всего реакций:
◽️Статья про кластер на базе Proxmox VE (382)
◽️Добавление новых дисков в сервер (237)
◽️Bash-трюк для grep вывода из stderr (231)
◽️Проблемы с сетевухами Realtek в Linux (197)
📌 Больше всего просмотров:
◽️Подборка видео на тему IT (12544)
◽️Набор правил iptables для защиты от небольшого DDOS (11007)
◽️Ограничения на отправку почты в Postfix (10920)
#топ
Telegram
ServerAdmin.ru
🎄🔝 Под конец года имеет смысл подвести некоторые итоги. В повседневной жизни я не привык это делать. Обычно только доходы/расходы анализирую. А вот в разрезе канала было интересно посмотреть итоги.
Я подготовил ТОП публикаций за прошедший год. Это было…
Я подготовил ТОП публикаций за прошедший год. Это было…
Уже не первый раз сталкиваюсь с ситуацией, что получаешь арендную VPS, а там по умолчанию уже настроены сетевые интерфейсы и ipv4, и ipv6. Делаешь обновление системы через apt, он подключается по ipv6 и ничего не качает, пишет, что no longer has a Release file. Столкнулся вчера лично с репозиторием от Яндекса:
В рунете он популярен. Я и сам всегда его использую. Не знаю, кто тут виноват, сам провайдер или Яндекс (позже выяснилось, что Яндекс, подробности в конце). Не вижу смысла разбираться и тратить время. В данном случае проще отключить ipv6. Это можно сделать разными способами. Можно конкретно apt заставить работать через ipv4. У него есть параметр для этого:
Постоянно так писать не будешь, можно добавить в конфигурацию, создав файл
Я лично поступил проще. Отключил ipv6 на уровне системы. Добавил в
И применил их:
Настройки ipv6 на сетевом интерфейсе сразу пропали, apt успешно заработал по ipv4.
Более радикальный способ отключения через GRUB, но тогда придётся обновлять загрузчик, пересобирать initramfs. Плюс, понадобится перезагрузка. Для этого в его конфиг
После этого нужно обновить загрузчик. В зависимости от системы выглядеть это может по-разному. В Debian можно так:
Заметил ещё такую особенность. До того, как отключил ipv6, заметил, что apt работает то по ipv4, то по ipv6. Можно было несколько раз его запустить и получить желаемый результат. Не знаю, с чем это может быть связано. Возможно первый резолв доменного имени идёт на DNS запись AAAA, а если подключение неудачно, то потом на A. Но не уверен, что это так. Просто догадки.
Уже после написания заметки решил повнимательнее разобраться, что реально происходит в apt при обращении по ipv6 и ipv4. Для этого сделал два отдельных запроса по разным протоколам:
Первый нормально отрабатывает и загружает файл InRelease. А во втором случае репозиторий Яндекса отвечает:
То есть DNS запись для mirror.yandex.ru есть:
Но Nginx, который раздаёт контент, не настроен для работы по ipv6. Не знаю, зачем так сделали. Если не настроили Nginx, зачем настроили ipv6? 🤷♂️ Может какие-то временные проблемы.
☝️В целом, с ipv6 такое бывает, поэтому если не используете, лучше сразу отключить.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #network #ipv6
http://mirror.yandex.ru/debian bookworm main
В рунете он популярен. Я и сам всегда его использую. Не знаю, кто тут виноват, сам провайдер или Яндекс (позже выяснилось, что Яндекс, подробности в конце). Не вижу смысла разбираться и тратить время. В данном случае проще отключить ipv6. Это можно сделать разными способами. Можно конкретно apt заставить работать через ipv4. У него есть параметр для этого:
# apt -o Acquire::ForceIPv4=true upgrade
Постоянно так писать не будешь, можно добавить в конфигурацию, создав файл
/etc/apt/apt.conf.d/disable-ipv
6 следующего содержания:Acquire::ForceIPv4 "true";
Я лично поступил проще. Отключил ipv6 на уровне системы. Добавил в
/etc/sysctl.conf
пару параметров:net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
И применил их:
# sysctl -p
Настройки ipv6 на сетевом интерфейсе сразу пропали, apt успешно заработал по ipv4.
Более радикальный способ отключения через GRUB, но тогда придётся обновлять загрузчик, пересобирать initramfs. Плюс, понадобится перезагрузка. Для этого в его конфиг
/etc/default/grub
, конкретно в параметр GRUB_CMDLINE_LINUX
, нужно добавить значение ipv6.disable=1
. Если там уже указаны другие значения, то перечислены они должны быть через пробел. Примерно так:GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet ipv6.disable=1"
После этого нужно обновить загрузчик. В зависимости от системы выглядеть это может по-разному. В Debian можно так:
# dpkg-reconfigure grub-pc
Заметил ещё такую особенность. До того, как отключил ipv6, заметил, что apt работает то по ipv4, то по ipv6. Можно было несколько раз его запустить и получить желаемый результат. Не знаю, с чем это может быть связано. Возможно первый резолв доменного имени идёт на DNS запись AAAA, а если подключение неудачно, то потом на A. Но не уверен, что это так. Просто догадки.
Уже после написания заметки решил повнимательнее разобраться, что реально происходит в apt при обращении по ipv6 и ipv4. Для этого сделал два отдельных запроса по разным протоколам:
# apt -o Debug::Acquire::http=true -o Acquire::ForceIPv4=true update
# apt -o Debug::Acquire::http=true -o Acquire::ForceIPv6=true update
Первый нормально отрабатывает и загружает файл InRelease. А во втором случае репозиторий Яндекса отвечает:
Answer for: http://mirror.yandex.ru/debian/dists/bookworm/InRelease
HTTP/1.1 404 Not Found
Server: nginx/1.24.0 (Ubuntu)
............................................................
Err:2 http://mirror.yandex.ru/debian bookworm Release
404 Not Found [IP: 2a02:6b8::183 80]
То есть DNS запись для mirror.yandex.ru есть:
# dig +short mirror.yandex.ru AAAA
2a02:6b8::183
Но Nginx, который раздаёт контент, не настроен для работы по ipv6. Не знаю, зачем так сделали. Если не настроили Nginx, зачем настроили ipv6? 🤷♂️ Может какие-то временные проблемы.
☝️В целом, с ipv6 такое бывает, поэтому если не используете, лучше сразу отключить.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #network #ipv6
⭐️🚀 Хотите прокачаться в работе с Linux? Пора проверить, готовы ли вы к следующему шагу!
Пройдите короткое тестирование и узнайте, готовы ли вы к повышению квалификации на курсе «Administrator Linux. Professional». Мы обучаем продвинутым навыкам администрирования Linux: от установки и настройки ОС до оптимизации работы и управления безопасностью.
🎁 Успешное прохождение вступительного теста — это ваш пропуск к записям открытых уроков и скидке на большое обучение.
❗️Доступ к записям откроется для тех кто успешно пройдет тест. Уроки находятся на лендинге курса.
👉 Оцените свой уровень знаний прямо сейчас: https://clck.ru/3MQasb
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Пройдите короткое тестирование и узнайте, готовы ли вы к повышению квалификации на курсе «Administrator Linux. Professional». Мы обучаем продвинутым навыкам администрирования Linux: от установки и настройки ОС до оптимизации работы и управления безопасностью.
🎁 Успешное прохождение вступительного теста — это ваш пропуск к записям открытых уроков и скидке на большое обучение.
❗️Доступ к записям откроется для тех кто успешно пройдет тест. Уроки находятся на лендинге курса.
👉 Оцените свой уровень знаний прямо сейчас: https://clck.ru/3MQasb
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Существует известный бесплатный чат сервер Mattermost. Я когда-то давно его устанавливал и администрировал. Написал статью по мотивам. Но с тех пор прошло много времени (8 лет). Решил ещё раз на него посмотреть и оценить.
Разворачивается он просто. Можно быстро в Docker запустить. Сам разработчик рекомендует использовать версию в Docker именно для тестов. Для прода я бы вял Ubuntu и развернул из пакетов. Разработчик рекомендует разворачивать в Kubernetes, если он у вас есть. Он позиционирует свой продукт как полностью готовый для интеграции в современную инфраструктуру разработки и поддержки приложений.
Я взял вот эту инструкцию, подготовил доменное имя и DNS записи для него и всё сделал по шагам:
◽️склонировал репозиторий
◽️получил сертификаты
◽️настроил .env, указав имя домена и путь к сертификатам
◽️запустил docker compose
Всё завелось без проблем и приключений. Работать в Mattermost можно тремя способами:
▪️Браузер
▪️Десктопное приложение
▪️Мобильное приложение
Все три выглядят плюс-минус одинаково, так как по сути являются обёрткой к веб версии. Я хорошо знаком с Rocket.Chat, поэтому дальше буду сравнивать с ним. Вообще на первый взгляд они внешне сильно похожи. Главное окно программы и список сообщений в чатах выглядят схоже.
Mattermost выглядит более аккуратно, перевод на русский язык лучше. Со стороны клиента я вообще не увидел нареканий, а в админке встречались непереведённые настройки.
Для мобильного приложения Android доступны push уведомления, если их включить в админке сервера. Причём я нигде не нашёл информации насчёт ограничений. Указано лишь, что он предоставляется в тестовых целях без гарантии доставки. Не знаю, что у него с надёжностью, но во время моих тестов он работал нормально, все пуши приходили. Также можно поднять свой собственный push сервер. Есть отдельная инструкция для этого. У Rocket.Chat в бесплатной версии есть месячный лимит на push уведомления, но какой он - хз. Раньше был то ли 1000, то ли 10000 пушей. Сейчас все чаты поскрывали сравнения бесплатных версий и точные ограничения, так что трудно сравнивать.
В Mattermost по умолчанию сразу же были настроены звонки между абонентами в том числе с демонстрацией экрана. По крайней мере это заявлено и можно пробовать. Я попробовал. Демонстрация не заработала ни в какой комбинации клиентов. Вроде всё работает, но вместо картинки - чёрный экран. В Rocket.Chat из коробки этого вообще нет. Надо настраивать отдельно Jitsi и интегрировать.
В плане функциональность у Rocket.Chat в бесплатной версии намного больше возможностей. Например, есть поддержка аутентификации с помощью SAML, LDAP, OAuth2, а у MM только email/пароль. Есть какие-то костыли для LDAP, но я не знаю, насколько хорошо они работают. У меня в комментариях к старой статье постоянно просят помочь её настроить.
То же самое с возможностями по управлению пользователями. В MM банально нельзя через админку создать пользователя самому. Надо ему отправить ссылку для регистрации. В Rocket без проблем. Зашёл и сделал учётку. У него же есть полноценный RBAC, можно настраивать какие хочешь роли и распределять права. Можно автоматически раздавать права доступа в каналы. В MM такого нет в бесплатной версии. Но правда там есть удобное разделение на команды с ручным управлением пользователями.
Тут можно много сравнивать. Подведу некоторый итог. В целом мне Mattermost внешне и в плане управления понравился больше. Он какой-то более добротный, целостный, с хорошо структурированной админкой. В Rocket спустя несколько лет я всё равно теряюсь и забываю, где что настраивал. Но при этом в сумме у MM возможностей меньше в бесплатной версии.
Так что если вам хватает возможностей Mattermost, используйте его. А если нужна функциональность Rocket, переходите на него. Но хорошо подумайте. У Rocket поддержка релизов максимум 6 месяцев. Придётся постоянно его обновлять. Иногда бывают проблемы. База у него Mongo против Postgre у MM.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#chat
Разворачивается он просто. Можно быстро в Docker запустить. Сам разработчик рекомендует использовать версию в Docker именно для тестов. Для прода я бы вял Ubuntu и развернул из пакетов. Разработчик рекомендует разворачивать в Kubernetes, если он у вас есть. Он позиционирует свой продукт как полностью готовый для интеграции в современную инфраструктуру разработки и поддержки приложений.
Я взял вот эту инструкцию, подготовил доменное имя и DNS записи для него и всё сделал по шагам:
◽️склонировал репозиторий
◽️получил сертификаты
◽️настроил .env, указав имя домена и путь к сертификатам
◽️запустил docker compose
Всё завелось без проблем и приключений. Работать в Mattermost можно тремя способами:
▪️Браузер
▪️Десктопное приложение
▪️Мобильное приложение
Все три выглядят плюс-минус одинаково, так как по сути являются обёрткой к веб версии. Я хорошо знаком с Rocket.Chat, поэтому дальше буду сравнивать с ним. Вообще на первый взгляд они внешне сильно похожи. Главное окно программы и список сообщений в чатах выглядят схоже.
Mattermost выглядит более аккуратно, перевод на русский язык лучше. Со стороны клиента я вообще не увидел нареканий, а в админке встречались непереведённые настройки.
Для мобильного приложения Android доступны push уведомления, если их включить в админке сервера. Причём я нигде не нашёл информации насчёт ограничений. Указано лишь, что он предоставляется в тестовых целях без гарантии доставки. Не знаю, что у него с надёжностью, но во время моих тестов он работал нормально, все пуши приходили. Также можно поднять свой собственный push сервер. Есть отдельная инструкция для этого. У Rocket.Chat в бесплатной версии есть месячный лимит на push уведомления, но какой он - хз. Раньше был то ли 1000, то ли 10000 пушей. Сейчас все чаты поскрывали сравнения бесплатных версий и точные ограничения, так что трудно сравнивать.
В Mattermost по умолчанию сразу же были настроены звонки между абонентами в том числе с демонстрацией экрана. По крайней мере это заявлено и можно пробовать. Я попробовал. Демонстрация не заработала ни в какой комбинации клиентов. Вроде всё работает, но вместо картинки - чёрный экран. В Rocket.Chat из коробки этого вообще нет. Надо настраивать отдельно Jitsi и интегрировать.
В плане функциональность у Rocket.Chat в бесплатной версии намного больше возможностей. Например, есть поддержка аутентификации с помощью SAML, LDAP, OAuth2, а у MM только email/пароль. Есть какие-то костыли для LDAP, но я не знаю, насколько хорошо они работают. У меня в комментариях к старой статье постоянно просят помочь её настроить.
То же самое с возможностями по управлению пользователями. В MM банально нельзя через админку создать пользователя самому. Надо ему отправить ссылку для регистрации. В Rocket без проблем. Зашёл и сделал учётку. У него же есть полноценный RBAC, можно настраивать какие хочешь роли и распределять права. Можно автоматически раздавать права доступа в каналы. В MM такого нет в бесплатной версии. Но правда там есть удобное разделение на команды с ручным управлением пользователями.
Тут можно много сравнивать. Подведу некоторый итог. В целом мне Mattermost внешне и в плане управления понравился больше. Он какой-то более добротный, целостный, с хорошо структурированной админкой. В Rocket спустя несколько лет я всё равно теряюсь и забываю, где что настраивал. Но при этом в сумме у MM возможностей меньше в бесплатной версии.
Так что если вам хватает возможностей Mattermost, используйте его. А если нужна функциональность Rocket, переходите на него. Но хорошо подумайте. У Rocket поддержка релизов максимум 6 месяцев. Придётся постоянно его обновлять. Иногда бывают проблемы. База у него Mongo против Postgre у MM.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#chat
Для тестирования скорости загрузки сайта существует старый и известный в узких кругах инструмент WebPageTest. Упоминал уже не раз о нём, потому что регулярно пользуюсь, но отдаю себе отчёт, что он не очень популярен. На днях ставил себе с нуля свежую версию и потратил пол дня, пока всё запустил на своей виртуалке. Проект развивается в плане кодовой базы и возможностей, но конкретно Private Instances, которые можно развернуть у себя и использовать без ограничения, ставятся с костылями, так как для них не обновляют документацию и Docker файлы.
В очередной раз всё развернул и сразу зафиксирую, чтобы не забыть. Так как в прошлый раз решал ровно те же проблемы, но не записал сразу, потом забыл. Пришлось опять разбираться.
Проект состоит из серверной части и агентов, которые могут быть развёрнуты в разных локациях. Репозитории:
⇨ https://github.com/catchpoint/WebPageTest
⇨ https://github.com/catchpoint/WebPageTest.agent
В первом есть
Клонируем репозиторий сервера:
В
После этого собираем. Можно не трогать настройки по умолчанию.
После сборки запустится серверная часть на 80-м порту. Можно идти браузером по IP адресу сервера. Состояние сервера можно посмотреть так: http://10.20.1.21/install/ Там должно быть всё зелёное. И видно, что есть одна локация Test Locations и нет подключенного агента. Это настройка по умолчанию, она задаётся в файле
Идём на машину, где будет запускаться агент. Клонируем репозиторий:
В корне лежит Dockerfile. Откройте его и измените следующую строку:
На
Отдельно npm ставить не надо, он входит в состав nodejs. Сборка будет валиться с ошибкой, если это не исправить. Собираем агента. Я сразу указал ему часовой пояс. Можно и другие параметры задать:
Если сборка прошла без ошибок, то можно запускать самого агента:
10.20.1.21 - IP адрес сервера. Через пару минут по ссылке http://10.20.1.21/install/ вы должны увидеть, что агент подключился. В логе сервера это будет видно по запросам на /work/getwork.php от IP адреса агента.
Теперь можно выполнять тесты сайтов с помощью этого агента. Мне это нужно было, чтобы протестировать последние изменения в Angie. Авторы указали, что повысили стабильность работы с протоколом HTTP/3. Напомню, что когда я включил в Angie протокол HTTP/3, заметил, что параметр TTFB увеличился. В тестах это стабильно воспроизводилось.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#webpagetest
В очередной раз всё развернул и сразу зафиксирую, чтобы не забыть. Так как в прошлый раз решал ровно те же проблемы, но не записал сразу, потом забыл. Пришлось опять разбираться.
Проект состоит из серверной части и агентов, которые могут быть развёрнуты в разных локациях. Репозитории:
⇨ https://github.com/catchpoint/WebPageTest
⇨ https://github.com/catchpoint/WebPageTest.agent
В первом есть
docker-compose.yml
, который включает в себя php-бэкенд, веб-интерфейс и агент. Контейнеры собираются по месту из представленных докерфайлов в папке docker/local
. Если взять этот проект и запустить, то не соберётся wptagent. В нём есть привязки к названию репозитория, где он раньше был, но имя репозитория поменяли, а тут ничего не поправили. Проще собрать агента отдельно, а тут исключить его из сборки. К тому же агент будет запускаться не только на этой машине, так что разнести их не только географически, но и логически - разумно.Клонируем репозиторий сервера:
# git clone https://github.com/catchpoint/WebPageTest
В
docker-compose.yml
комментируем всё, что относится к agent. Это в самом конце секция, после web и php. Собранный веб сервер будет много всего писать в директорию www/
в разные вложенные папки. Для простоты назначим ей права 0777:# chmod -R 0777 www/
После этого собираем. Можно не трогать настройки по умолчанию.
# docker compose up
После сборки запустится серверная часть на 80-м порту. Можно идти браузером по IP адресу сервера. Состояние сервера можно посмотреть так: http://10.20.1.21/install/ Там должно быть всё зелёное. И видно, что есть одна локация Test Locations и нет подключенного агента. Это настройка по умолчанию, она задаётся в файле
docker/local/wptconfig/locations.ini
. Там только один тестовый location с ключом доступа 123456789. Если будете строить распределённую сеть агентов, то нужно будет добавлять туда новые локации и подключать агентов в соответствии с названиями и ключами.Идём на машину, где будет запускаться агент. Клонируем репозиторий:
# git clone https://github.com/catchpoint/WebPageTest.agent
В корне лежит Dockerfile. Откройте его и измените следующую строку:
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install nodejs npm -y
На
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install nodejs -y
Отдельно npm ставить не надо, он входит в состав nodejs. Сборка будет валиться с ошибкой, если это не исправить. Собираем агента. Я сразу указал ему часовой пояс. Можно и другие параметры задать:
# docker build --tag wptagent --build-arg TIMEZONE=MSK .
Если сборка прошла без ошибок, то можно запускать самого агента:
# modprobe ifb numifbs=1
# docker run -d -e SERVER_URL="http://10.20.1.21/work/" -e LOCATION="Test" -e NAME="Test" -e KEY="123456789" --cap-add=NET_ADMIN --init --name wptagent wptagent
10.20.1.21 - IP адрес сервера. Через пару минут по ссылке http://10.20.1.21/install/ вы должны увидеть, что агент подключился. В логе сервера это будет видно по запросам на /work/getwork.php от IP адреса агента.
Теперь можно выполнять тесты сайтов с помощью этого агента. Мне это нужно было, чтобы протестировать последние изменения в Angie. Авторы указали, что повысили стабильность работы с протоколом HTTP/3. Напомню, что когда я включил в Angie протокол HTTP/3, заметил, что параметр TTFB увеличился. В тестах это стабильно воспроизводилось.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#webpagetest
Открытый практикум Kubernetes by Rebrain: Kubebuilder и Kubernetes-операторы
После регистрации мы отправим вам подарок! Вы сможете найти его в ответном письме.
👉Регистрация
Время проведения:
11 июня (среда), 20:00 по МСК
Программа практикума:
▪️Зачем вообще нужны Kubernetes-операторы?
▫️ Реальные сценарии их использования
▪️ Создадим простой оператор с нуля
Кто ведёт?
Егор Гришечко — senior software engineer в Uber.
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFG1gTyr
После регистрации мы отправим вам подарок! Вы сможете найти его в ответном письме.
👉Регистрация
Время проведения:
11 июня (среда), 20:00 по МСК
Программа практикума:
▪️Зачем вообще нужны Kubernetes-операторы?
▫️ Реальные сценарии их использования
▪️ Создадим простой оператор с нуля
Кто ведёт?
Егор Гришечко — senior software engineer в Uber.
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFG1gTyr
В репозиториях Debian живёт полезная утилита debootstrap, с помощью которой можно собрать работающую систему в каталоге в уже запущенной ОС. Либо взять уже готовую. Применений у этой технологии может быть много.
Например, можно создать диск в оперативной памяти, установить туда систему через debootstrap, сделать туда chroot, туда же для надёжности можно установить openssh-server и подключиться напрямую. И уже из этой системы делать с работающей всё, что угодно. Можно полностью очистить жёсткий диск перед окончанием аренды виртуалки. Можно поверх работающей системы установить совершенно другую, которую не поддерживает панель управления хостера.
Покажу на практике, как это работает. Ставим debootstrap и сразу с его помощью скачиваем образ системы Debian 12 в каталог /mnt/debootstrap:
Монтируем туда из работающей системы оборудование:
И заходим туда:
Мы оказываемся в чистой минимальной системе на базе Debinan 12 Bookworm. Можем делать в ней всё, что угодно. Зададим пароль root, установим некоторый софт:
Разрешим подключаться пользователю root по ssh сразу внутрь изоляции:
Закрываем, сохраняем, перезапускаем openssh сервер:
Выходим из chroot:
Теперь туда можно подключиться напрямую по SSH, как на любой другой сервер:
Вы оказались в вашей новой системе. Можете там делать, что угодно.
Теперь представим, что вам нужно гарантированно очистить содержимое дисков работающей системы. Для этого создаём в оперативной памяти раздел на 2GB. Можно и меньше, если памяти совсем мало, так как минимальный образ для debootstrap меньше 1GB:
Копируем туда подготовленную ранее систему:
Монтируем оборудование и подключаемся:
Запускаем ssh-сервер и подключаемся напрямую:
Теперь можем делать с системой всё, что угодно. Например, полностью очистить содержимое диска, в том числе корневого раздела основной системы. Смотрим список разделов:
У меня один диск и три раздела: sda1, sda2, sda5. Полностью очищаем все из них. После этого восстановить информацию будет невозможно:
Всё, систем надёжно убита. Можно так делать после того, как отказались от аренды. Особенно если у вас там какие-то впны были настроены или использовались другие учётные данные, которые могли остаться где-то в системе.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux
Например, можно создать диск в оперативной памяти, установить туда систему через debootstrap, сделать туда chroot, туда же для надёжности можно установить openssh-server и подключиться напрямую. И уже из этой системы делать с работающей всё, что угодно. Можно полностью очистить жёсткий диск перед окончанием аренды виртуалки. Можно поверх работающей системы установить совершенно другую, которую не поддерживает панель управления хостера.
Покажу на практике, как это работает. Ставим debootstrap и сразу с его помощью скачиваем образ системы Debian 12 в каталог /mnt/debootstrap:
# apt install debootstrap
# mkdir /mnt/debootstrap
# debootstrap bookworm /mnt/debootstrap http://deb.debian.org/debian
Монтируем туда из работающей системы оборудование:
# mount --bind /dev /mnt/debootstrap/dev
# mount --bind /dev/pts /mnt/debootstrap/dev/pts
# mount --bind /proc /mnt/debootstrap/proc
# mount --bind /sys /mnt/debootstrap/sys
И заходим туда:
# chroot /mnt/debootstrap
Мы оказываемся в чистой минимальной системе на базе Debinan 12 Bookworm. Можем делать в ней всё, что угодно. Зададим пароль root, установим некоторый софт:
# passwd
# apt install tmux openssh-server
Разрешим подключаться пользователю root по ssh сразу внутрь изоляции:
# nano /etc/ssh/sshd_config
Port 222
PermitRootLogin yes
Закрываем, сохраняем, перезапускаем openssh сервер:
# /etc/init.d/ssh restart
Выходим из chroot:
# exit
Теперь туда можно подключиться напрямую по SSH, как на любой другой сервер:
$ ssh -p 222 root@10.20.1.9
Вы оказались в вашей новой системе. Можете там делать, что угодно.
Теперь представим, что вам нужно гарантированно очистить содержимое дисков работающей системы. Для этого создаём в оперативной памяти раздел на 2GB. Можно и меньше, если памяти совсем мало, так как минимальный образ для debootstrap меньше 1GB:
# mkdir /mnt/chroot
# mount -t tmpfs -o size=2G tmpfs /mnt/chroot
Копируем туда подготовленную ранее систему:
# cp -R /mnt/debootstrap/* /mnt/chroot
Монтируем оборудование и подключаемся:
# mount --bind /dev /mnt/chroot/dev
# mount --bind /dev/pts /mnt/chroot/dev/pts
# mount --bind /proc /mnt/chroot/proc
# mount --bind /sys /mnt/chroot/sys
# chroot /mnt/chroot
Запускаем ssh-сервер и подключаемся напрямую:
# /etc/init.d/ssh start
# exit
$ ssh -p 222 root@10.20.1.9
Теперь можем делать с системой всё, что угодно. Например, полностью очистить содержимое диска, в том числе корневого раздела основной системы. Смотрим список разделов:
# fdisk -l
У меня один диск и три раздела: sda1, sda2, sda5. Полностью очищаем все из них. После этого восстановить информацию будет невозможно:
# shred -u -z -v /dev/sda{1,2,5}
Всё, систем надёжно убита. Можно так делать после того, как отказались от аренды. Особенно если у вас там какие-то впны были настроены или использовались другие учётные данные, которые могли остаться где-то в системе.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux