Расскажу небольшую историю из практики, которая недавно случилась с одним из арендованных серверов, где был установлен Proxmox и крутились несколько виртуалок. В какой-то момент с сервером начали происходить странности.
Сначала пару раз аварийно перезагрузилась виртуалка с Windows. Я немного напрягся, но было не понятно, с чем это связно. Система поднималась и продолжала дальше работать. В логах ничего информативного. Подумал на глюки самой системы. Потом начали подвисать виртуалки и с Linux. То одна, то другая. Причём так висли странно, как-будто отваливалось хранилище. Сильно росла LA из-за дисковой очереди. Приходилось им делать reset средствами гипервизора. В какой-то момент завис он сам, аж пинговаться перестал. Тут я понял, что с самим сервером проблемы.
Написал в тех. поддержку, спросил, можно ли просто диски перекинуть в другой аналогичный сервер, так как с этим явно начались проблемы после нескольких лет нормальной бесперебойной работы. Мне предложили провести сначала тестирование железа, что занимает 2-3 часа, и если проблемы с ним, то диски перекинут. Мне не захотелось этим заниматься, так как не вижу большого смысла. Сервер явно заглючил. Зависал не часто, где-то раз в 2-3 недели глючила одна из вируталок, а сам он завис ну может пару раз только. То есть глюк плавающий и неочевидный, не воспроизводится. Прошло, наверное, пару месяцев, пока я понял, что глючит сам сервер.
Взял в аренду другой сервер, настроил. Запланировал время и часть виртуалок перекинул через PBS. Подключил одно и то же хранилище к обоим серверам. На первом бэкапил, на второй восстанавливал. Это максимально простой способ, вообще заморачиваться не надо, переезжает VM со всеми настройками. Всё прошло штатно, но долго, так как сначала делается бэкап, потом восстановление. Для виртулаок на сотни гигов это занимает приличное время.
Для минимизации простоя больших виртуалок останавливал их и просто перекидывал qcow2 файлы с дисками. Я за это и люблю этот формат. Если надо быстро переехать, то это сделать максимально просто. Создаю на втором гипервизоре виртуалку с идентичными настройками, как на первом и просто копирую диск виртуальной машины. Получается максимальная скорость переноса и минимально возможный простой.
Так за пару вечеров переехал, старый сервер снял с оплаты. Удобно, когда сервера в аренде. Помню когда-то давно у меня так свой сервер в серверной глючил как-то неявно. Столько крови попил. Запасного под боком не было. Пришлось по текущим раскидывать нагрузку и отправлять его в ремонт, так как дорогой был.
Современные облачные технологии сняли целый пласт проблем с инженеров, связанные с железом. Можно вообще с ним не сталкиваться. Мне приходится, так как в малом и среднем бизнесе облачные вычислительные мощности слишком дороги и не окупаются. К примеру, этот сервер много лет работал в одиночку, раз в сутки бэкапился. Для него простой в несколько часов допустим, так что нет смысла вкладывать какие-то деньги в резервирование и отказоустойчивость. Бэкапов достаточно. Недавно нужно было просчитать работу довольно мощного сервера в режиме 24/7 с минимальным простоем, с круглосуточной тех. поддержкой. Это дорогое удовольствие, так как и резервирование (реально нужно 3 сервера), и такая поддержка стоят приличных денег.
#железо
🦖 Selectel — дешёвые и не очень дедики с аукционом!
Сначала пару раз аварийно перезагрузилась виртуалка с Windows. Я немного напрягся, но было не понятно, с чем это связно. Система поднималась и продолжала дальше работать. В логах ничего информативного. Подумал на глюки самой системы. Потом начали подвисать виртуалки и с Linux. То одна, то другая. Причём так висли странно, как-будто отваливалось хранилище. Сильно росла LA из-за дисковой очереди. Приходилось им делать reset средствами гипервизора. В какой-то момент завис он сам, аж пинговаться перестал. Тут я понял, что с самим сервером проблемы.
Написал в тех. поддержку, спросил, можно ли просто диски перекинуть в другой аналогичный сервер, так как с этим явно начались проблемы после нескольких лет нормальной бесперебойной работы. Мне предложили провести сначала тестирование железа, что занимает 2-3 часа, и если проблемы с ним, то диски перекинут. Мне не захотелось этим заниматься, так как не вижу большого смысла. Сервер явно заглючил. Зависал не часто, где-то раз в 2-3 недели глючила одна из вируталок, а сам он завис ну может пару раз только. То есть глюк плавающий и неочевидный, не воспроизводится. Прошло, наверное, пару месяцев, пока я понял, что глючит сам сервер.
Взял в аренду другой сервер, настроил. Запланировал время и часть виртуалок перекинул через PBS. Подключил одно и то же хранилище к обоим серверам. На первом бэкапил, на второй восстанавливал. Это максимально простой способ, вообще заморачиваться не надо, переезжает VM со всеми настройками. Всё прошло штатно, но долго, так как сначала делается бэкап, потом восстановление. Для виртулаок на сотни гигов это занимает приличное время.
Для минимизации простоя больших виртуалок останавливал их и просто перекидывал qcow2 файлы с дисками. Я за это и люблю этот формат. Если надо быстро переехать, то это сделать максимально просто. Создаю на втором гипервизоре виртуалку с идентичными настройками, как на первом и просто копирую диск виртуальной машины. Получается максимальная скорость переноса и минимально возможный простой.
Так за пару вечеров переехал, старый сервер снял с оплаты. Удобно, когда сервера в аренде. Помню когда-то давно у меня так свой сервер в серверной глючил как-то неявно. Столько крови попил. Запасного под боком не было. Пришлось по текущим раскидывать нагрузку и отправлять его в ремонт, так как дорогой был.
Современные облачные технологии сняли целый пласт проблем с инженеров, связанные с железом. Можно вообще с ним не сталкиваться. Мне приходится, так как в малом и среднем бизнесе облачные вычислительные мощности слишком дороги и не окупаются. К примеру, этот сервер много лет работал в одиночку, раз в сутки бэкапился. Для него простой в несколько часов допустим, так что нет смысла вкладывать какие-то деньги в резервирование и отказоустойчивость. Бэкапов достаточно. Недавно нужно было просчитать работу довольно мощного сервера в режиме 24/7 с минимальным простоем, с круглосуточной тех. поддержкой. Это дорогое удовольствие, так как и резервирование (реально нужно 3 сервера), и такая поддержка стоят приличных денег.
#железо
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
ServerAdmin.ru
Для тех, кто пользуется Proxmox Backup Server (PBS) важное предостережение. Я им пользуюсь практически с момента релиза, но только недавно столкнулся с проблемой. Не допускайте исчерпания свободного места на сервере с бэкапами.
Я краем уха слышал, что…
Я краем уха слышал, что…
4👍94👎12
И вновь возвращаемся к рубрике с современными утилитами, которые можно использовать в качестве альтернативы более старым, потому что они уже поселились в официальных репозиториях. Речь пойдёт об уже упоминаемой мной несколько лет назад программе fd, которую можно использовать вместо find. Она приехала в стабильные репы:
Короткое название fd использовать не получится, потому что оно уже занято. Придётся использовать
В чём особенность fd? Авторы называют её более быстрой и дружелюбной к пользователю программой, по сравнению с find. В принципе, с этим не поспоришь. Ключи и синтаксис find нельзя назвать дружелюбным. Я по памяти могу только какие-то самые простые вещи делать. Всё остальное ищу в своих шпаргалках. Не понимаю, как подобные конструкции можно запоминать, если каждый день с ними не работаешь.
Ищем файл syslog в текущей директории:
Ищем файл в конкретной директории:
Ищем файл по всему серверу:
Вот то же самое, только с find:
По умолчанию find найдёт только полное совпадение по имени. Файл должен будет точно называться syslog, чтобы попасть в результаты поиска. Fd в примере отобразит все файлы, где встречается слово syslog. Это и интуитивнее, и проще для запоминания. Хотя этот момент субъективен. С find такой же поиск будет выглядеть вот так:
Отличия от find, которые отмечают авторы:
◽️Более скоростной поиск за счёт параллельных запросов. Приводят свои измерения, где это подтверждается.
◽️Подсветка результатов поиска.
◽️По умолчанию поиск ведётся без учёта регистра.
◽️Итоговые команды в среднем на 50% короче, чем то же самое получается с find.
⚠️ Отдельный ключ
Несколько простых примеров для наглядности. Поиск файлов с определённым расширением:
Найти все архивы и распаковать их:
Найти файлы с расширением gz и удалить одной командой rm:
Вызванный без аргументов в директории, fd рекурсивно выведет все файлы в ней:
Это примерно то же самое, что с find:
Только у fd вывод нагляднее, так как уже отсортирован по именам. А find всё вперемешку выводит. Ему надо sort добавлять, чтобы то же самое получилось:
Fd умеет результаты выводить не по одному значению на каждую строку, а непрерывной строкой с разделением с помощью так называемого NULL character. Все символы воспринимаются буквально, не являются специальными, их не надо экранировать. Актуально, когда результаты поиска имеют пробелы, кавычки, косые черты и т.д. Например, xargs умеет принимать на вход значения, разделённые NULL character. У него для этого отдельный ключ
Покажу на примере, как это работает:
Xargs не смог обработать файл с пробелом. А вот так смог:
И ничего экранировать не пришлось. Полезная возможность, стоит запомнить. Find то же самое делает через ключ
В заключении резюмирую, что fd не заменяет find, не претендует на это и не обеспечивает такую же функциональность, как у последнего. Он предоставляет обоснованные настройки по умолчанию для наиболее массовых применений поиска пользователями.
#terminal #linux #find
# apt install fd-findКороткое название fd использовать не получится, потому что оно уже занято. Придётся использовать
fdfind. Под Windows она, кстати, тоже есть:> winget install sharkdp.fdВ чём особенность fd? Авторы называют её более быстрой и дружелюбной к пользователю программой, по сравнению с find. В принципе, с этим не поспоришь. Ключи и синтаксис find нельзя назвать дружелюбным. Я по памяти могу только какие-то самые простые вещи делать. Всё остальное ищу в своих шпаргалках. Не понимаю, как подобные конструкции можно запоминать, если каждый день с ними не работаешь.
Ищем файл syslog в текущей директории:
# fdfind syslogИщем файл в конкретной директории:
# fdfind syslog /var/logИщем файл по всему серверу:
# fdfind syslog /Вот то же самое, только с find:
# find . -name syslog# find /var/log -name syslog# find / -name syslogПо умолчанию find найдёт только полное совпадение по имени. Файл должен будет точно называться syslog, чтобы попасть в результаты поиска. Fd в примере отобразит все файлы, где встречается слово syslog. Это и интуитивнее, и проще для запоминания. Хотя этот момент субъективен. С find такой же поиск будет выглядеть вот так:
# find / -name '*syslog*'Отличия от find, которые отмечают авторы:
◽️Более скоростной поиск за счёт параллельных запросов. Приводят свои измерения, где это подтверждается.
◽️Подсветка результатов поиска.
◽️По умолчанию поиск ведётся без учёта регистра.
◽️Итоговые команды в среднем на 50% короче, чем то же самое получается с find.
⚠️ Отдельный ключ
--exec-batch или -X в дополнение к традиционному --exec. Разница в том, что --exec выполняется параллельно для каждого результата поиска, а с помощью --exec-batch можно во внешнюю команду передать весь результат поиска. Это важный момент, который где-то может сильно выручить и упростить задачу. Даже если вам сейчас это не надо, запомните, что с fd так можно. Где-то в скриптах это может пригодиться.Несколько простых примеров для наглядности. Поиск файлов с определённым расширением:
# fdfind -e php -p /var/wwwНайти все архивы и распаковать их:
# fdfind -e zip -p /home/user -x unzipНайти файлы с расширением gz и удалить одной командой rm:
# fdfind -e gz -p /var/log -X rmВызванный без аргументов в директории, fd рекурсивно выведет все файлы в ней:
# cd /var/log# fdfindЭто примерно то же самое, что с find:
# find -name '*'Только у fd вывод нагляднее, так как уже отсортирован по именам. А find всё вперемешку выводит. Ему надо sort добавлять, чтобы то же самое получилось:
# find -name '*' | sortFd умеет результаты выводить не по одному значению на каждую строку, а непрерывной строкой с разделением с помощью так называемого NULL character. Все символы воспринимаются буквально, не являются специальными, их не надо экранировать. Актуально, когда результаты поиска имеют пробелы, кавычки, косые черты и т.д. Например, xargs умеет принимать на вход значения, разделённые NULL character. У него для этого отдельный ключ
-0, --null. Покажу на примере, как это работает:
# touch 'test test.log'# fdfind -e log...test test.log# fdfind -e log | xargs wc -l...wc: test: No such file or directorywc: test.log: No such file or directoryXargs не смог обработать файл с пробелом. А вот так смог:
# fdfind -0 -e log | xargs -0 wc -l...0 ./test test.logИ ничего экранировать не пришлось. Полезная возможность, стоит запомнить. Find то же самое делает через ключ
-print0:# find . -name '*.log' -print0 | xargs -0 wc -lВ заключении резюмирую, что fd не заменяет find, не претендует на это и не обеспечивает такую же функциональность, как у последнего. Он предоставляет обоснованные настройки по умолчанию для наиболее массовых применений поиска пользователями.
#terminal #linux #find
1👍102👎6
В Proxmox 7.3 без особых подробностей завезли обновление со следующим описанием: Framework for remote migration to cluster-external Proxmox VE hosts. По факту добавили экспериментальную возможность по миграции виртуальных машин между гипервизорами (не только кластерами).
Реализована миграция с помощью консольной команды
Я разобрался, как это работает. У меня получилось выполнить миграцию между разными гипервизорами. Показываю, как это работает. Итоговая работающая команда выглядит следующим образом:
▪️120 120 - ID виртуалки на исходном гипервизоре и желаемое ID на том, куда переносим. Я оставил одинаковые.
▪️10.20.1.65 - IP адрес принимающего гипервизора
▪️root@pam!token1 - имя токена token1 для пользователя root@pam
▪️0ace469b-9c8d-4f05-ba84-d720414129ee - секрет указанного выше токена
▪️vmbr0 - сетевой бридж на принимающем гипервизоре
▪️local-lvm - хранилище дисков на принимающем гипервизоре
▪️16:21:AB:AE:A3:06:92:BB:E9:F8:25:C2:A1:53:26:7F:67:29:1B:A9:A9:1C:D1:3B:A7:47:BD:23:9F:E8:7C:6B - fingerprint сертификата pve-ssl.pem принимающего гипервизора
Для того, чтобы миграция прошла успешно, нужно на принимающем сервере создать токен. Делается это в разделе Datacenter ⇨ Permissions ⇨ API Tokens. После создания вы получите имя в виде root@pam!token1, где root@pam - пользователь, а token1 - указанное имя токена. И само значение секрета этого токена. Далее в разделе Datacenter ⇨ Permissions нужно добавить API Token Permissions. Я выбрал существующий токен и дал ему полные права. Не разбирался, какие нужны для миграции. Думаю, нужны права на создание виртуалок и дисков в хранилище.
Отпечаток сертификата можно посмотреть в разделе Node ⇨ System ⇨ Certificates. Надо выбрать стандартный pve-ssl.pem, два раза кликнуть по нему мышкой и скопировать Fingerprint.
После этого можно идти в консоль и запускать команду миграции. Её процесс можно наблюдать как в консоли, так и через веб интерфейс в списке задач. Через веб интерфейс даже прогресс копирования дисков виден, в отличие от консоли. Там этой информации нет.
Работает всё довольно удобно. Поддерживается миграция из разных типов хранилищ. Я для теста с обычного LVM переехал в LVM-Thin на другой гипервизор. По факту сначала происходит копирование диска, а потом перенос его в нужное хранилище на принимающей стороне через
Если у вас много виртуалок, которые надо перекинуть на другой гипервизор, то можно пользоваться. Один раз настроил и перенёс все виртуалки со всеми настройками и дисками.
После миграции исходная VM будет заблокирована. Если захотите её запустить на старом гипервизоре, то разблокируйте:
#proxmox
🦖 Selectel — дешёвые и не очень дедики с аукционом!
Реализована миграция с помощью консольной команды
qm remote-migrate. Подробности реализации можно посмотреть в соответствующем коммите в репозитории. Описание команды в документации скудное. Не особо понятен итоговый формат работающей команды.qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [OPTIONS]Я разобрался, как это работает. У меня получилось выполнить миграцию между разными гипервизорами. Показываю, как это работает. Итоговая работающая команда выглядит следующим образом:
# qm remote-migrate 120 120 'host=10.20.1.65,apitoken=PVEAPIToken=root@pam!token1=0ace469b-9c8d-4f05-ba84-d720414129ee,fingerprint=16:21:AB:AE:A3:06:92:BB:E9:F8:25:C2:A1:53:26:7F:67:29:1B:A9:A9:1C:D1:3B:A7:47:BD:23:9F:E8:7C:6B' --target-bridge vmbr0 --target-storage local-lvm▪️120 120 - ID виртуалки на исходном гипервизоре и желаемое ID на том, куда переносим. Я оставил одинаковые.
▪️10.20.1.65 - IP адрес принимающего гипервизора
▪️root@pam!token1 - имя токена token1 для пользователя root@pam
▪️0ace469b-9c8d-4f05-ba84-d720414129ee - секрет указанного выше токена
▪️vmbr0 - сетевой бридж на принимающем гипервизоре
▪️local-lvm - хранилище дисков на принимающем гипервизоре
▪️16:21:AB:AE:A3:06:92:BB:E9:F8:25:C2:A1:53:26:7F:67:29:1B:A9:A9:1C:D1:3B:A7:47:BD:23:9F:E8:7C:6B - fingerprint сертификата pve-ssl.pem принимающего гипервизора
Для того, чтобы миграция прошла успешно, нужно на принимающем сервере создать токен. Делается это в разделе Datacenter ⇨ Permissions ⇨ API Tokens. После создания вы получите имя в виде root@pam!token1, где root@pam - пользователь, а token1 - указанное имя токена. И само значение секрета этого токена. Далее в разделе Datacenter ⇨ Permissions нужно добавить API Token Permissions. Я выбрал существующий токен и дал ему полные права. Не разбирался, какие нужны для миграции. Думаю, нужны права на создание виртуалок и дисков в хранилище.
Отпечаток сертификата можно посмотреть в разделе Node ⇨ System ⇨ Certificates. Надо выбрать стандартный pve-ssl.pem, два раза кликнуть по нему мышкой и скопировать Fingerprint.
После этого можно идти в консоль и запускать команду миграции. Её процесс можно наблюдать как в консоли, так и через веб интерфейс в списке задач. Через веб интерфейс даже прогресс копирования дисков виден, в отличие от консоли. Там этой информации нет.
Работает всё довольно удобно. Поддерживается миграция из разных типов хранилищ. Я для теста с обычного LVM переехал в LVM-Thin на другой гипервизор. По факту сначала происходит копирование диска, а потом перенос его в нужное хранилище на принимающей стороне через
query-disk-import. Отсюда можно сделать вывод, что должен быть запас по доступному месту на принимающем гипервизоре в двойном размере от объёма диска. Это нужно учитывать при переносе.Если у вас много виртуалок, которые надо перекинуть на другой гипервизор, то можно пользоваться. Один раз настроил и перенёс все виртуалки со всеми настройками и дисками.
После миграции исходная VM будет заблокирована. Если захотите её запустить на старом гипервизоре, то разблокируйте:
# qm unlock 120 #proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍187👎2
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Как обычно, ниже те видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне показались интересными и полезными.
В этот раз как-то мало интересного было. Много роликов отсеял, так как не посчитал их полезными. Да и в целом контента меньше стало, особенно русскоязычного.
⇨ Настройка DNS over HTTPS в OPNsense
Небольшой ролик про DNS over HTTPS для тех, кто не знает, что это такое и как работает. Тут автор кратко рассказал о технологии и на практике показал, как это работает и как настраивается на своём софтовом шлюзе OPNsense.
⇨ Netbird Update - How to add the new "Relays" feature to your netbird install.
Рассказ про бесплатную, open source платформу для построения VPN сетей - netbird.io. Вышло крупное обновление продукта. Автор рассказал, как его установить и что в нём нового. Вообще, это интересный продукт. Я видел его обзор у разных блогеров, писал заметку про него. Один из лучших open source проектов из этой области.
⇨ Vinchin - Backup система для ВСЕГО!
Обзор системы для бэкапа Vinchin. Автор прошёлся по основным возможностям. Я в своё время примерно то же самое оформил в отдельную статью на сайте. Система, в принципе, неплохая. Мне понравилась.
⇨ Building a Low-Power, Fully Loaded Plex Server
Подробное описание сборки сервера под популярный медиасервер Plex для дома. Автор поставил задачу собрать тихий и маломощный в плане потребления электричества сервер на базе Mini ITX. Интересно посмотреть, что у него в итоге получилось.
⇨ Администрирование Линукс. Стабильность и безопасность системы
Короткое видео с наглядным примером эксплуатации уязвимости ярда Linux CVE-2024-1086. Я, кстати, об этой уязвимости писал в своё время. На видео примерно то же самое делается, что у меня в заметке.
#видео
В этот раз как-то мало интересного было. Много роликов отсеял, так как не посчитал их полезными. Да и в целом контента меньше стало, особенно русскоязычного.
⇨ Настройка DNS over HTTPS в OPNsense
Небольшой ролик про DNS over HTTPS для тех, кто не знает, что это такое и как работает. Тут автор кратко рассказал о технологии и на практике показал, как это работает и как настраивается на своём софтовом шлюзе OPNsense.
⇨ Netbird Update - How to add the new "Relays" feature to your netbird install.
Рассказ про бесплатную, open source платформу для построения VPN сетей - netbird.io. Вышло крупное обновление продукта. Автор рассказал, как его установить и что в нём нового. Вообще, это интересный продукт. Я видел его обзор у разных блогеров, писал заметку про него. Один из лучших open source проектов из этой области.
⇨ Vinchin - Backup система для ВСЕГО!
Обзор системы для бэкапа Vinchin. Автор прошёлся по основным возможностям. Я в своё время примерно то же самое оформил в отдельную статью на сайте. Система, в принципе, неплохая. Мне понравилась.
⇨ Building a Low-Power, Fully Loaded Plex Server
Подробное описание сборки сервера под популярный медиасервер Plex для дома. Автор поставил задачу собрать тихий и маломощный в плане потребления электричества сервер на базе Mini ITX. Интересно посмотреть, что у него в итоге получилось.
⇨ Администрирование Линукс. Стабильность и безопасность системы
Короткое видео с наглядным примером эксплуатации уязвимости ярда Linux CVE-2024-1086. Я, кстати, об этой уязвимости писал в своё время. На видео примерно то же самое делается, что у меня в заметке.
#видео
YouTube
Настройка DNS over HTTPS в OPNsense
#nas, #opnsense, #truenas, #proxmox
В этом ролике поговорим о том, как пустить наши днс запросы с помощью сервиса https. Ссылки на ресурсы будет внизу описания
Реферальная ссылка на хостера smartape чьими услугами я пользуюсь http://www.smartape.ru/?partner=139490…
В этом ролике поговорим о том, как пустить наши днс запросы с помощью сервиса https. Ссылки на ресурсы будет внизу описания
Реферальная ссылка на хостера smartape чьими услугами я пользуюсь http://www.smartape.ru/?partner=139490…
2👍60👎8
🎮 Давно ничего про игры не писал. Для разнообразия, думаю, в выходной можно затронуть эту тему. Решил посмотреть новинки по теме IT. Нашёл очень необычную, атмосферную игру ServiceIT: You can do IT. На игру много отзывов и прохождений на youtube. Она реально любопытная и необычная.
В этой игре вы будете работать в офисе: ремонтировать электронную технику, собирать компьютеры, настраивать сети и подключать к ним устройства, нанимать сотрудников, развивать свою компанию по услугам IT, искать клиентов, настаивать им офисы, удалять вирусы и т.д. В общем, если вам своей работы мало, можете добирать дома после работы в игре 😆 А если вы уже матёрый девопс, который начинал с тех. поддержки 10 лет назад, то можете поностальгировать в игре, вспомнить былое.
Видел отзыв, что человек наконец-то научился пользоваться мультиметром после этой игры. Я, кстати, тоже мечтаю купить его себе и научиться пользоваться, но всё никак руки не дойдут. Похожая история с паяльной станцией. Так и не научился паять. Не умею и никогда не пробовал. В игре паять тоже надо. Нужно будет учиться.
Из минусов - игра всё ещё в раннем доступе с кучей багов. В основном все негативные отзывы связаны с этим. А так необычная, с потенциалом, если будут развивать и доделывать. На торрентах она есть, если что. Качать я не пробовал. Я вообще не понимаю, где и как сейчас люди в игры играют. Их же не купить. У меня рука не поднимается качать что-то с торрентов с кряками. Мне всегда кажется, что там везде вирусы, потому что я не понимаю, зачем кому-то просто так что-то взламывать и выкладывать на торренты. С учётом того, что взломщики и владельцы трекеров это разные люди.
⇨ Steam / ▶️ Официальный трейлер / ▶️ Прохождение
Для тех, кто недавно подписан, добавлю, что на канале было много обзоров различных игр IT тематики. Все их можно посмотреть по соответствующему тэгу. Также я делал большую подборку всех упоминаемых игр с разбивкой по категориям.
#игра
В этой игре вы будете работать в офисе: ремонтировать электронную технику, собирать компьютеры, настраивать сети и подключать к ним устройства, нанимать сотрудников, развивать свою компанию по услугам IT, искать клиентов, настаивать им офисы, удалять вирусы и т.д. В общем, если вам своей работы мало, можете добирать дома после работы в игре 😆 А если вы уже матёрый девопс, который начинал с тех. поддержки 10 лет назад, то можете поностальгировать в игре, вспомнить былое.
Видел отзыв, что человек наконец-то научился пользоваться мультиметром после этой игры. Я, кстати, тоже мечтаю купить его себе и научиться пользоваться, но всё никак руки не дойдут. Похожая история с паяльной станцией. Так и не научился паять. Не умею и никогда не пробовал. В игре паять тоже надо. Нужно будет учиться.
Из минусов - игра всё ещё в раннем доступе с кучей багов. В основном все негативные отзывы связаны с этим. А так необычная, с потенциалом, если будут развивать и доделывать. На торрентах она есть, если что. Качать я не пробовал. Я вообще не понимаю, где и как сейчас люди в игры играют. Их же не купить. У меня рука не поднимается качать что-то с торрентов с кряками. Мне всегда кажется, что там везде вирусы, потому что я не понимаю, зачем кому-то просто так что-то взламывать и выкладывать на торренты. С учётом того, что взломщики и владельцы трекеров это разные люди.
⇨ Steam / ▶️ Официальный трейлер / ▶️ Прохождение
Для тех, кто недавно подписан, добавлю, что на канале было много обзоров различных игр IT тематики. Все их можно посмотреть по соответствующему тэгу. Также я делал большую подборку всех упоминаемых игр с разбивкой по категориям.
#игра
1👍79👎2
Для хранения и командной работы с паролями есть не очень большой набор более-менее известных бесплатных программ. Я в своё время рассматривал и описывал некоторые из них.
▪️ Bitwarden
▪️ TeamPass
▪️ Syspass
▪️ Passbolt
▪️ Psono
▪️ KeePassXC
▪️ Vaultwarden
Наиболее популярным решением является Bitwarden и его форк Vaultwarden. Причём последний превзошёл по своей популярности и удобству первоисточник. Он более легковесный, а сейчас уже и функциональный, так как вобрал в себя часть возможностей платной версии Bitwarden.
Из того, что я не описывал, есть Padloc, который смотрится неплохо, но я ни разу не видел упоминаний и отзывов о нём. Если кто-то пользовался, поделитесь впечатлением, стоит ли его рассматривать.
Так что если подыскиваете что-то self-hosted для себя или небольшой команды, и не хочется пробовать разные вещи, то берите сразу Vaultwarden. Ну а если есть время и желание, то посмотрите всё описанное. В публикациях есть и инструкции для быстрого запуска, и отзывы пользователей в комментариях.
#password #подборка
▪️ Bitwarden
▪️ TeamPass
▪️ Syspass
▪️ Passbolt
▪️ Psono
▪️ KeePassXC
▪️ Vaultwarden
Наиболее популярным решением является Bitwarden и его форк Vaultwarden. Причём последний превзошёл по своей популярности и удобству первоисточник. Он более легковесный, а сейчас уже и функциональный, так как вобрал в себя часть возможностей платной версии Bitwarden.
Из того, что я не описывал, есть Padloc, который смотрится неплохо, но я ни разу не видел упоминаний и отзывов о нём. Если кто-то пользовался, поделитесь впечатлением, стоит ли его рассматривать.
Так что если подыскиваете что-то self-hosted для себя или небольшой команды, и не хочется пробовать разные вещи, то берите сразу Vaultwarden. Ну а если есть время и желание, то посмотрите всё описанное. В публикациях есть и инструкции для быстрого запуска, и отзывы пользователей в комментариях.
#password #подборка
2👍98👎3
На прошлой неделе делал подборку программ для учёта систем и оборудования. Для дополнения списка решил сделать обзор ещё одной системы, про которую мне и тут в комментариях писали, и на сайте к соответствующей статье. Речь пойдёт про программу Severcart.
На сайте программы скудная информация о ней. Создалось впечатление, что это что-то заброшенное, но нет. В новостях видно, что программа развивается, постоянно выходят обновления. Разработчик российский, программа есть в реестре отечественного ПО.
Servercart представляет из себя клиент-серверное приложение с доступом через веб интерфейс. Информацию об оборудовании и ПО можно вносить как вручную, так и автоматически. Для этого используется агент на базе open source проекта OCS Inventory Agent. Как агент, так и серверная часть, представлены для систем и Windows, и Linux.
Система очень простая в плане настройки и запуска в работу. Я установил серверную часть на Windows с помощью стандартного установщика. На другой комп установил агента, указал при установке адрес сервера. Агент запустился, отработал и отправил информацию на сервер. На сервере этот комп оказался в списке нераспределённых. Далее его нужно вручную определить в какую-нибудь группу.
Servercart собирает стандартную информацию о железе и софте, как и все подобные программы: модели комплектующих, место на дисках, лицензии, список софта и т.д. По каждому устройству ведётся лог изменений. То есть будет видно, если вдруг уменьшится кол-во памяти, изменится диск или появится новое ПО. Это будет отражено в логе, так же можно настроить отправку уведомлений на эти события.
Сделано всё максимально просто для быстрого запуска в работу. Можно мышкой потыкать в веб интерфейсе и начинать вести свою базу. Я в документации посмотрел только как связать агент с сервером. Дальше всё интуитивно понятно. Помимо компьютеров ведётся учёт принтеров и расходников к ним.
У Servercart есть бесплатная версия. На сайте прямо на главной странице есть таблица со сравнением версий. Там же загрузка бесплатной редакции. Не нужна ни регистрация, ни получение лицензий. Просто качаете, устанавливаете и начинаете пользоваться.
Продукт в целом неплохой. Отдаёт стариной, но смотрится нормально для такого рода продуктов. Они все немного неказистые. Если покупать платную версию, то цены там доступные, лицензии вечные. Отлично подойдёт для ситуаций, где всем этим хозяйством заведует эникей или технически неподкованный человек. Развернуть эту систему и вести в ней учёт несложно. К тому же есть документация на русском языке.
⇨ Сайт
#управление #ITSM #отечественное
🦖 Selectel — дешёвые и не очень дедики с аукционом!
На сайте программы скудная информация о ней. Создалось впечатление, что это что-то заброшенное, но нет. В новостях видно, что программа развивается, постоянно выходят обновления. Разработчик российский, программа есть в реестре отечественного ПО.
Servercart представляет из себя клиент-серверное приложение с доступом через веб интерфейс. Информацию об оборудовании и ПО можно вносить как вручную, так и автоматически. Для этого используется агент на базе open source проекта OCS Inventory Agent. Как агент, так и серверная часть, представлены для систем и Windows, и Linux.
Система очень простая в плане настройки и запуска в работу. Я установил серверную часть на Windows с помощью стандартного установщика. На другой комп установил агента, указал при установке адрес сервера. Агент запустился, отработал и отправил информацию на сервер. На сервере этот комп оказался в списке нераспределённых. Далее его нужно вручную определить в какую-нибудь группу.
Servercart собирает стандартную информацию о железе и софте, как и все подобные программы: модели комплектующих, место на дисках, лицензии, список софта и т.д. По каждому устройству ведётся лог изменений. То есть будет видно, если вдруг уменьшится кол-во памяти, изменится диск или появится новое ПО. Это будет отражено в логе, так же можно настроить отправку уведомлений на эти события.
Сделано всё максимально просто для быстрого запуска в работу. Можно мышкой потыкать в веб интерфейсе и начинать вести свою базу. Я в документации посмотрел только как связать агент с сервером. Дальше всё интуитивно понятно. Помимо компьютеров ведётся учёт принтеров и расходников к ним.
У Servercart есть бесплатная версия. На сайте прямо на главной странице есть таблица со сравнением версий. Там же загрузка бесплатной редакции. Не нужна ни регистрация, ни получение лицензий. Просто качаете, устанавливаете и начинаете пользоваться.
Продукт в целом неплохой. Отдаёт стариной, но смотрится нормально для такого рода продуктов. Они все немного неказистые. Если покупать платную версию, то цены там доступные, лицензии вечные. Отлично подойдёт для ситуаций, где всем этим хозяйством заведует эникей или технически неподкованный человек. Развернуть эту систему и вести в ней учёт несложно. К тому же есть документация на русском языке.
⇨ Сайт
#управление #ITSM #отечественное
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍75👎5
Среди решений по совместному хранению паролей есть ещё один open source продукт, который заслуживает внимание. Речь пойдёт про российский Bearpass. Это собственная разработка российской компании, которая имеет бесплатную self-hosted версию с открытым исходным кодом, что не характерно для российских продуктов. Не часто с этим сталкиваешься, поэтому я решил подсветить продукт и обратить на него внимание. Он присутствует в реестре отечественного ПО.
Основные возможности программы плюс-минус как у всех подобных продуктов.
🟢 Возможности бесплатной версии:
◽️роли и группы пользователей
◽️журналирование и контроль действий пользователей
◽️двухфакторная 2FA-авторизация
◽️проверка паролей на компрометацию через публичные базы данных
◽️администратор системы не видит пароли пользователей
🟡 Платная версия:
▪️расширения для браузеров
▪️ предоставление паролей через временные или постоянные ссылки
▪️поддержка SSO и LDAP
▪️API
На сайте указано ограничение бесплатной версии - 5 пользователей. Не очень понимаю, как оно реализуется, так как эта версия поставляется в виде исходников, которые ты разворачиваешь у себя. По идее, ты можешь сам поменять код и убрать его.
Посмотреть на продукт можно в публичном demo:
⇨ https://demo.bearpass.ru
Учётка: admin@demo.bearpass.ru / password.
Можно установить на своём сервере. Как обычно, проще всего это сделать через Docker, но есть возможность сделать это и вручную, так как продукт на писан на PHP и работает на стандартном стеке nginx + php-fpm + postgresql. Показываю, как быстро запустить через Docker:
Заполняем инвентарь в файле
1001 - id пользователя bearpass в системе. Посмотреть так:
Запускаем проект:
Дожидаемся запуска и создаём первого пользователя-администратора:
Заполняете данные пользователя и логинитесь под ним в систему, зайдя по ip адресу сервера, где развернули bearpass.
☝️ У программы есть облачная версия BearPass Cloud. Для личного использования одним человеком она полностью бесплатна, так что можно без проблем попробовать, если не хочется разворачивать на своём сервере. Данные пользователя шифруются мастер-паролем. Техническая реализация описана на отдельный странице.
В общем и целом продукт оставляет положительное впечатление. Развитие и продвижение выполнено в привычном современном стиле, когда для персонального использования предлагают полную функциональность, а для команд ограниченную бесплатную версию или уже полную платную.
#password #отечественное
🦖 Selectel — дешёвые и не очень дедики с аукционом!
Основные возможности программы плюс-минус как у всех подобных продуктов.
🟢 Возможности бесплатной версии:
◽️роли и группы пользователей
◽️журналирование и контроль действий пользователей
◽️двухфакторная 2FA-авторизация
◽️проверка паролей на компрометацию через публичные базы данных
◽️администратор системы не видит пароли пользователей
🟡 Платная версия:
▪️расширения для браузеров
▪️ предоставление паролей через временные или постоянные ссылки
▪️поддержка SSO и LDAP
▪️API
На сайте указано ограничение бесплатной версии - 5 пользователей. Не очень понимаю, как оно реализуется, так как эта версия поставляется в виде исходников, которые ты разворачиваешь у себя. По идее, ты можешь сам поменять код и убрать его.
Посмотреть на продукт можно в публичном demo:
⇨ https://demo.bearpass.ru
Учётка: admin@demo.bearpass.ru / password.
Можно установить на своём сервере. Как обычно, проще всего это сделать через Docker, но есть возможность сделать это и вручную, так как продукт на писан на PHP и работает на стандартном стеке nginx + php-fpm + postgresql. Показываю, как быстро запустить через Docker:
# adduser bearpass# passwd bearpass# usermod -aG docker bearpass# mkdir /opt/bearpass# chmod -R 700 /opt/bearpass# chown -R bearpass:bearpass /opt/bearpass# su - bearpass$ git clone https://git.bearpass.ru/bear-pass /opt/bearpass/app$ git clone https://github.com/BearPass/Docker-core.git /opt/bearpass/docker$ cd /opt/bearpass/docker$ cp .env.example .envЗаполняем инвентарь в файле
.env. У меня он получился вот такой для тестового сервера:DATABASE_PASSWORD=passwordBEARPASS_URL=localhostBEARPASS_PORT=80BEARPASS_SSL_PORT=443BEARPASS_FULL_URL=http://10.20.1.36USER_ID=1001GROUP_ID=10011001 - id пользователя bearpass в системе. Посмотреть так:
# su - bearpass$ iduid=1001(bearpass) gid=1001(bearpass) groups=1001(bearpass),996(docker)Запускаем проект:
# docker compose up -dДожидаемся запуска и создаём первого пользователя-администратора:
# docker compose exec -u www-data app sh -c "cd /var/www/bearpass && php artisan make:user"Заполняете данные пользователя и логинитесь под ним в систему, зайдя по ip адресу сервера, где развернули bearpass.
☝️ У программы есть облачная версия BearPass Cloud. Для личного использования одним человеком она полностью бесплатна, так что можно без проблем попробовать, если не хочется разворачивать на своём сервере. Данные пользователя шифруются мастер-паролем. Техническая реализация описана на отдельный странице.
В общем и целом продукт оставляет положительное впечатление. Развитие и продвижение выполнено в привычном современном стиле, когда для персонального использования предлагают полную функциональность, а для команд ограниченную бесплатную версию или уже полную платную.
#password #отечественное
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍77👎16
Посмотрел на днях очень полезное с практической точки зрения видео на тему различий между форками СУБД MySQL.
⇨ Сравнение форков СУБД MYSQL: Oracle MySQL, Percona Server for MySQL и MariaDB
Для тех, кому не хочется или некогда смотреть полный ролик, я сделал краткий конспект основной информации. У меня самого нет чёткого понимания, какой сервер лучше всего использовать для MySQL. После просмотра видео, понимание появилось.
Для начала назовём основные отличия трёх указанных продуктов.
🔹Oracle Mysql Community Edition - изначальная версия MySQL, которую купила компания Oracle вместе с Sun и продолжила развивать, сделав акцент на развитии движка InnoDB. В качестве кластерного решения используется InnoDB Cluster.
🔹Percona server for Mysql - в основе оракловский Mysql, а поверх установлен набор патчей для оптимизации и мониторинга производительности. Помимо СУБД компания развивает собственный комплект софта для мониторинга (Percona Monitoring and Management), бэкапа (XtraBackup), кластеризации (Percona XtraDB Cluster) и т.д.
🔹MariaDB - самостоятельный сервер, который уже значительно отличается от MySQL. Разрабатывается разработчиками первых версий MySQL, которые ушли из Oracle. Начиная с версии MySQL 5.7 нет прямой совместимости между Oracle MySQL и MariaDB. Переключаться между ними можно только через логический дамп. Продукт проповедует более открытую для сообщества модель развития. В современных дистрибутивах Linux для баз данных MySQL в основном ставится MariaDB. Используется своё кластерное решение - Galera Cluster. В отличие от MySQL, в MariaDB сохранена поддержка технологии Query Cache. Для бэкапов есть свой продукт - mariabackup.
Автор ролика собрал стенд из идентичных виртуальных машин. Установил на каждую свою СУБД, установил примерно одинаковые базовые настройки, остальные оставил по умолчанию, как они были изначально. Подготовил тест с использованием sysbench. Исходники теста выложил в репозиторий:
⇨ https://github.com/Nickmob/mysql_bench
Если есть сомнения в результатах, можно повторить у себя и проверить. Все результаты приводить не буду, чтобы не загромождать заметку цифрами. Если вам интересно, посмотрите в конце ролика.
Наиболее высокие результаты показала MariaDB, Oracle разных версий и Percona показали сопоставимые результаты, а MariaDB в паре тестов явно показывает лучшую производительность.
Так что если вы сомневаетесь и не знаете, какую СУБД взять для баз MySQL, берите MariaDB. По умолчанию скорее всего она заработает как минимум не хуже форков, а возможно и лучше. Внизу скриншот результатов. Левый столбец - чем выше метрика, тем лучше, правый наоборот - чем меньше отклик, тем лучше.
#mysql
🦖 Selectel — дешёвые и не очень дедики с аукционом!
⇨ Сравнение форков СУБД MYSQL: Oracle MySQL, Percona Server for MySQL и MariaDB
Для тех, кому не хочется или некогда смотреть полный ролик, я сделал краткий конспект основной информации. У меня самого нет чёткого понимания, какой сервер лучше всего использовать для MySQL. После просмотра видео, понимание появилось.
Для начала назовём основные отличия трёх указанных продуктов.
🔹Oracle Mysql Community Edition - изначальная версия MySQL, которую купила компания Oracle вместе с Sun и продолжила развивать, сделав акцент на развитии движка InnoDB. В качестве кластерного решения используется InnoDB Cluster.
🔹Percona server for Mysql - в основе оракловский Mysql, а поверх установлен набор патчей для оптимизации и мониторинга производительности. Помимо СУБД компания развивает собственный комплект софта для мониторинга (Percona Monitoring and Management), бэкапа (XtraBackup), кластеризации (Percona XtraDB Cluster) и т.д.
🔹MariaDB - самостоятельный сервер, который уже значительно отличается от MySQL. Разрабатывается разработчиками первых версий MySQL, которые ушли из Oracle. Начиная с версии MySQL 5.7 нет прямой совместимости между Oracle MySQL и MariaDB. Переключаться между ними можно только через логический дамп. Продукт проповедует более открытую для сообщества модель развития. В современных дистрибутивах Linux для баз данных MySQL в основном ставится MariaDB. Используется своё кластерное решение - Galera Cluster. В отличие от MySQL, в MariaDB сохранена поддержка технологии Query Cache. Для бэкапов есть свой продукт - mariabackup.
Автор ролика собрал стенд из идентичных виртуальных машин. Установил на каждую свою СУБД, установил примерно одинаковые базовые настройки, остальные оставил по умолчанию, как они были изначально. Подготовил тест с использованием sysbench. Исходники теста выложил в репозиторий:
⇨ https://github.com/Nickmob/mysql_bench
Если есть сомнения в результатах, можно повторить у себя и проверить. Все результаты приводить не буду, чтобы не загромождать заметку цифрами. Если вам интересно, посмотрите в конце ролика.
Наиболее высокие результаты показала MariaDB, Oracle разных версий и Percona показали сопоставимые результаты, а MariaDB в паре тестов явно показывает лучшую производительность.
Так что если вы сомневаетесь и не знаете, какую СУБД взять для баз MySQL, берите MariaDB. По умолчанию скорее всего она заработает как минимум не хуже форков, а возможно и лучше. Внизу скриншот результатов. Левый столбец - чем выше метрика, тем лучше, правый наоборот - чем меньше отклик, тем лучше.
#mysql
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍98👎2
У Zabbix есть отдельная страница, где публикуются все найденные уязвимости:
⇨ https://www.zabbix.com/security_advisories
Какого-то API или выгрузки для этих данных нет. В официальном блоге появилась статья на эту тему: Monitoring Zabbix Security Advisories. Автор предложил решение, как настроить мониторинг этой страницы. Я его попробовал и изучил. В целом, мне понравилось, как это работает, оставил у себя на одном из серверов для информирования.
Автор распарсил указанную страницу с помощью rust, scraper и AWS Lambda function. Положил итоговый файл в формате json на S3 бакет и обновляет его раз в 2 часа. Вот ссылка на файл.
Далее был сделан шаблон для сбора данных. В статье есть ссылка на него. Он довольно простой, так как парсить json с помощью Zabbix просто и удобно. В шаблоне 2 триггера:
▪️появилась новая уязвимость
▪️файл с уязвимостями не обновлялся дольше 6-ти часов
Последний триггер сделан как-то непонятно. У меня он работал неправильно, я не понял его логику. Подставив макросы в триггере, там получилось вот такое выражение:
Значение zbx_sec.last_updated в формате unixtime. Я заменил этот триггер на свой. Он срабатывает, если время обновления json файла отличается больше чем на 24 часа (86400 секунд) от текущего времени сервера. То есть обновление было больше суток назад.
В таком формате он нормально работает. Ещё из интересного в этом шаблоне то, что он собирает всю информацию о каждой уязвимости в отдельном айтеме. На дашборде в отдельной странице можно сделать удобную навигацию по этим значениям. Конкретно в данном случае это не очень актуально, потому что список проще и быстрее посмотреть на веб странице. Но для демонстрации возможностей подойдёт.
В 7-й версии Zabbix появился новый виджет - Навигатор по элементам данных. Его можно связать с виджетом - Значение элемента данных. Как это выглядит вместе можно посмотреть на картинке снизу, либо в самой статье. Там автор показал, как подобное настроить.
Если работаете с Zabbix, рекомендую обратить внимание на эту статью в блоге и шаблон. Удобно получать оперативно информацию о том, что появилась какая-то уязвимость в Zabbix от самих разработчиков.
#zabbix
🦖 Selectel — дешёвые и не очень дедики с аукционом!
⇨ https://www.zabbix.com/security_advisories
Какого-то API или выгрузки для этих данных нет. В официальном блоге появилась статья на эту тему: Monitoring Zabbix Security Advisories. Автор предложил решение, как настроить мониторинг этой страницы. Я его попробовал и изучил. В целом, мне понравилось, как это работает, оставил у себя на одном из серверов для информирования.
Автор распарсил указанную страницу с помощью rust, scraper и AWS Lambda function. Положил итоговый файл в формате json на S3 бакет и обновляет его раз в 2 часа. Вот ссылка на файл.
Далее был сделан шаблон для сбора данных. В статье есть ссылка на него. Он довольно простой, так как парсить json с помощью Zabbix просто и удобно. В шаблоне 2 триггера:
▪️появилась новая уязвимость
▪️файл с уязвимостями не обновлялся дольше 6-ти часов
Последний триггер сделан как-то непонятно. У меня он работал неправильно, я не понял его логику. Подставив макросы в триггере, там получилось вот такое выражение:
last(/Zabbix Security Advisories/zbx_sec.last_updated)>2h*3Значение zbx_sec.last_updated в формате unixtime. Я заменил этот триггер на свой. Он срабатывает, если время обновления json файла отличается больше чем на 24 часа (86400 секунд) от текущего времени сервера. То есть обновление было больше суток назад.
fuzzytime(/Zabbix Security Advisories/zbx_sec.last_updated,86400)=0В таком формате он нормально работает. Ещё из интересного в этом шаблоне то, что он собирает всю информацию о каждой уязвимости в отдельном айтеме. На дашборде в отдельной странице можно сделать удобную навигацию по этим значениям. Конкретно в данном случае это не очень актуально, потому что список проще и быстрее посмотреть на веб странице. Но для демонстрации возможностей подойдёт.
В 7-й версии Zabbix появился новый виджет - Навигатор по элементам данных. Его можно связать с виджетом - Значение элемента данных. Как это выглядит вместе можно посмотреть на картинке снизу, либо в самой статье. Там автор показал, как подобное настроить.
Если работаете с Zabbix, рекомендую обратить внимание на эту статью в блоге и шаблон. Удобно получать оперативно информацию о том, что появилась какая-то уязвимость в Zabbix от самих разработчиков.
#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍66👎3
Не Заббиксом единым живёт мониторинг традиционной инфраструктуры на базе хостов и сервисов на них. Расскажу вам про не очень известную в русскоязычном сегменте систему мониторинга Checkmk. Я уже писал про неё несколько лет назад. Она мне тогда понравилась, так что решил посмотреть на неё спустя несколько лет. В этот раз немного подробнее, погрузившись в детали настройки.
Checkmk сделана на базе Nagios. Но насколько я понял, она уже очень далеко от неё ушла. Сразу отвечу на главный вопрос. Зачем изучать и использовать какой-то другой мониторинг, отличный от наиболее популярных Zabbix и Prometheus (и совместимых систем на его базе)? В целом, незачем, если у вас задача расти и развиваться в системном администрировании и devops. Использовать такие системы, типа Checkmk имеет смысл для решения конкретных задач, которые она решает удобнее и проще других, ну и плюс, если вы уже постигли дзен и вам просто нравится изучать что-то новое.
Мониторинг на базе Checkmk внедрить проще, чем тот же Zabbix или Prometheus. Работает он по модели pull, то есть ставите агент, он слушает определённый порт, а сервер шлёт на него команды по сбору метрик.
Развернуть Checkmk можно в докере буквально в одну команду:
Далее ждём пару минут и смотрим лог контейнера. Там будет учётка администратора:
Можно идти в веб интерфейс на порт 8080 и настраивать систему. Агенты можно скачивать прямо с сервера в разделе Setup ⇨ Agents ⇨ Linux или Windows.
Потом идём на сервер в раздел Setup ⇨ Hosts ⇨ Add host и добавляем машину по IP. После выполнения настроек, необходимо их принять. До этого их можно откатить. То есть сразу изменения не принимаются.
Далее нужно зайти в настройки хоста, в раздел Save & run service discovery, выполнить поиск служб, которые преднастроены для хостов с определённой системой. Там будут в основном базовые метрики: сеть, диск, процессор, память и т.д. Выбрать то, что вам нужно, либо сразу всё и сохранить.
Возможности Checkmk расширяются плагинами. Расскажу про один из таких плагинов, который показался мне полезным. Я настроил его и проверил работу. Плагин называется filestats. С его помощью можно следить за файлами. Конкретно мне это интересно в контексте мониторинга бэкапов.
С помощью этого плагина можно настроить следующие условия:
◽️минимальный возраст самого старого файла
◽️минимальный возраст самого нового файла
◽️минимальный или максимальный размер файла
◽️минимальное число файлов
Допустим, у вас есть директория с бэкапами, которая регулярно очищается. Вы хотите быть уверенным, что директория реально очищается, в неё складываются свежие бэкапы, самый свежий не старее суток, всего в директории не менее 10-ти файлов, а самый старый не старше 11-ти дней.
Этот плагин Checkmk без проблем решает задачу. Чтобы сделать то же самое на Zabbix, мне приходилось писать велосипеды на баше, а тут это уже реализовано. Только галочки ставь на условия, которые тебя интересуют. Пример, как это настраивается, можно посмотреть в документации. Не скажу, что я быстро разобрался, но с учётом того, что я вижу фактически впервые эту систему, пришлось для начала разобраться с самой концепцией плагинов и их настройки. За пару-тройку часов разобрался.
Подобных плагинов в Checkmk не меньше сотни. Скорее больше. Полный список есть тут. Чего там только нет. Если вам нужен базовый мониторинг и не хочется разбираться с более сложными и масштабными системами, попробуйте Checkmk. Некоторые вещи с его помощью решаются значительно проще, чем в других системах.
#мониторинг
🦖 Selectel — дешёвые и не очень дедики с аукционом!
Checkmk сделана на базе Nagios. Но насколько я понял, она уже очень далеко от неё ушла. Сразу отвечу на главный вопрос. Зачем изучать и использовать какой-то другой мониторинг, отличный от наиболее популярных Zabbix и Prometheus (и совместимых систем на его базе)? В целом, незачем, если у вас задача расти и развиваться в системном администрировании и devops. Использовать такие системы, типа Checkmk имеет смысл для решения конкретных задач, которые она решает удобнее и проще других, ну и плюс, если вы уже постигли дзен и вам просто нравится изучать что-то новое.
Мониторинг на базе Checkmk внедрить проще, чем тот же Zabbix или Prometheus. Работает он по модели pull, то есть ставите агент, он слушает определённый порт, а сервер шлёт на него команды по сбору метрик.
Развернуть Checkmk можно в докере буквально в одну команду:
# docker run -dit -p 8080:5000 -p 8000:8000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.3.0-latestДалее ждём пару минут и смотрим лог контейнера. Там будет учётка администратора:
# docker logs monitoring...The admin user for the web applications is cmkadmin with password: RliEfjVR9H3J...Можно идти в веб интерфейс на порт 8080 и настраивать систему. Агенты можно скачивать прямо с сервера в разделе Setup ⇨ Agents ⇨ Linux или Windows.
# wget http://10.20.1.36:8080/cmk/check_mk/agents/check-mk-agent_2.3.0p17-1_all.deb# dpkg -i check-mk-agent_2.3.0p17-1_all.debПотом идём на сервер в раздел Setup ⇨ Hosts ⇨ Add host и добавляем машину по IP. После выполнения настроек, необходимо их принять. До этого их можно откатить. То есть сразу изменения не принимаются.
Далее нужно зайти в настройки хоста, в раздел Save & run service discovery, выполнить поиск служб, которые преднастроены для хостов с определённой системой. Там будут в основном базовые метрики: сеть, диск, процессор, память и т.д. Выбрать то, что вам нужно, либо сразу всё и сохранить.
Возможности Checkmk расширяются плагинами. Расскажу про один из таких плагинов, который показался мне полезным. Я настроил его и проверил работу. Плагин называется filestats. С его помощью можно следить за файлами. Конкретно мне это интересно в контексте мониторинга бэкапов.
С помощью этого плагина можно настроить следующие условия:
◽️минимальный возраст самого старого файла
◽️минимальный возраст самого нового файла
◽️минимальный или максимальный размер файла
◽️минимальное число файлов
Допустим, у вас есть директория с бэкапами, которая регулярно очищается. Вы хотите быть уверенным, что директория реально очищается, в неё складываются свежие бэкапы, самый свежий не старее суток, всего в директории не менее 10-ти файлов, а самый старый не старше 11-ти дней.
Этот плагин Checkmk без проблем решает задачу. Чтобы сделать то же самое на Zabbix, мне приходилось писать велосипеды на баше, а тут это уже реализовано. Только галочки ставь на условия, которые тебя интересуют. Пример, как это настраивается, можно посмотреть в документации. Не скажу, что я быстро разобрался, но с учётом того, что я вижу фактически впервые эту систему, пришлось для начала разобраться с самой концепцией плагинов и их настройки. За пару-тройку часов разобрался.
Подобных плагинов в Checkmk не меньше сотни. Скорее больше. Полный список есть тут. Чего там только нет. Если вам нужен базовый мониторинг и не хочется разбираться с более сложными и масштабными системами, попробуйте Checkmk. Некоторые вещи с его помощью решаются значительно проще, чем в других системах.
#мониторинг
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍92👎1
На всех серверах на базе Linux, а раньше и не только Linux, которые настраиваю и обслуживаю сам, изменяю параметры хранения истории команд, то есть history. Настройки обычно добавляю в файл
✅ Для того, чтобы сразу же сохранять в историю введённую команду, использую переменную bash - PROMPT_COMMAND. Содержимое этой переменной выполняется как обычная команда Bash непосредственно перед тем, как Bash отобразит приглашение. Соответственно, команда
✅ Сохранение метки времени вместе с самой командой и вывод её в определённом формате (2024-09-25 16:39:30):
✅ Увеличение числа строк в файле с историей. По умолчанию хранится вроде бы только 500 последних команд, более старые удаляются. Я увеличиваю этот размер до 10000 строк. Ни разу не было, чтобы этого не хватило:
✅ Некоторые команды не сохраняю в истории, так как они не представляют какой-то ценности, только отвлекают и занимают место. Вы можете свой список таких команд вести:
✅ Если я не хочу, чтобы команда попала в историю, то ставлю в консоли перед ней пробел. За это поведение отвечает соответствующий параметр:
Для применения настроек можно выполнить:
Посмотреть свои применённые параметры для истории можно вот так:
Если вы хотите, чтобы эти параметры применялись для всех пользователей сервера, то создайте отдельный файл с настройками, к примеру,
❗️Для поиска по истории нажмите сочетание клавиш Ctrl+r и начните вводить команду. Для перебора множественных совпадений продолжайте нажимать Ctrl+r, пока не найдёте то, что ищите. Я лично привык просто грепать, а не искать в истории:
Тут сразу всё перед глазами, можно быстро либо найти, то, что надо, либо скопировать команду.
⚡️Расскажу про один нюанс, связанный HISTIGNORE, который не раз меня подставлял. У меня в исключениях, к примеру, есть команда htop. Она в историю не попадает. Бывало такое, что я перезагружал сервер командой reboot. Потом загружался и первым делом вводил команду htop, что-то смотрел, закрывал htop. Потом нужно было запустить htop снова. Я на автомате нажимаю стрелку вверх, чтобы запустить последнюю команду, там выскакивает reboot, потому что htop не сохранился, и я тут же жму enter. И сокрушаюсь, что на автомате выполнил не ту команду. Реально много раз на это попадался, правда без последствий. В основном это во время какой-то отладки бывает, там и так перезагрузки идут.
#linux #terminal #bash
🦖 Selectel — дешёвые и не очень дедики с аукционом!
~/.bashrc. Постоянно обращаюсь к истории команд, поэтому стараюсь, чтобы они туда попадали и сохранялись. Покажу свои привычные настройки:✅ Для того, чтобы сразу же сохранять в историю введённую команду, использую переменную bash - PROMPT_COMMAND. Содержимое этой переменной выполняется как обычная команда Bash непосредственно перед тем, как Bash отобразит приглашение. Соответственно, команда
history -a сохраняет историю команд этого сеанса в файл с историей.PROMPT_COMMAND='history -a'✅ Сохранение метки времени вместе с самой командой и вывод её в определённом формате (2024-09-25 16:39:30):
export HISTTIMEFORMAT='%F %T '✅ Увеличение числа строк в файле с историей. По умолчанию хранится вроде бы только 500 последних команд, более старые удаляются. Я увеличиваю этот размер до 10000 строк. Ни разу не было, чтобы этого не хватило:
export HISTSIZE=10000✅ Некоторые команды не сохраняю в истории, так как они не представляют какой-то ценности, только отвлекают и занимают место. Вы можете свой список таких команд вести:
export HISTIGNORE="ls:history:w:htop:pwd:top:iftop"✅ Если я не хочу, чтобы команда попала в историю, то ставлю в консоли перед ней пробел. За это поведение отвечает соответствующий параметр:
export HISTCONTROL=ignorespace Для применения настроек можно выполнить:
# source ~/.bashrcПосмотреть свои применённые параметры для истории можно вот так:
# export | grep -i histЕсли вы хотите, чтобы эти параметры применялись для всех пользователей сервера, то создайте отдельный файл с настройками, к примеру,
history.sh и положите его в директорию /etc/profile.d. Скрипты из этой директории выполняются при запуске шелла пользователя. ❗️Для поиска по истории нажмите сочетание клавиш Ctrl+r и начните вводить команду. Для перебора множественных совпадений продолжайте нажимать Ctrl+r, пока не найдёте то, что ищите. Я лично привык просто грепать, а не искать в истории:
# history | grep 'apt install'Тут сразу всё перед глазами, можно быстро либо найти, то, что надо, либо скопировать команду.
⚡️Расскажу про один нюанс, связанный HISTIGNORE, который не раз меня подставлял. У меня в исключениях, к примеру, есть команда htop. Она в историю не попадает. Бывало такое, что я перезагружал сервер командой reboot. Потом загружался и первым делом вводил команду htop, что-то смотрел, закрывал htop. Потом нужно было запустить htop снова. Я на автомате нажимаю стрелку вверх, чтобы запустить последнюю команду, там выскакивает reboot, потому что htop не сохранился, и я тут же жму enter. И сокрушаюсь, что на автомате выполнил не ту команду. Реально много раз на это попадался, правда без последствий. В основном это во время какой-то отладки бывает, там и так перезагрузки идут.
#linux #terminal #bash
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍176👎4
Расскажу про непривычное представление IP адреса, которое вряд ли где-то на практике пригодится. Информация чисто для расширения кругозора. Можно использовать для собеседований или приколов над коллегами:
Вот такая тема работает. Можно пинговать хосты, представляя их IP адреса в десятичной системе исчисления. Показываю, как это сделать.
Берём IP адрес 77.88.8.1 и преобразуем его в двоичное представление. Можно по отдельности каждый окет, либо на каком-то калькуляторе. Например, тут:
⇨ https://infocisco.ru/ip_to_bin.php
77.88.8.1 ⇨ 01001101010110000000100000000001
А теперь это двоичное представление переводим в десятичный вид. Например, тут:
⇨ https://calcus.ru/perevod-sistem-schisleniya/iz-dvoichnoy-v-desyatichnuyu
01001101010110000000100000000001 ⇨ 1297614849
И теперь этот адрес в виде десятичного числа можно использовать вместо IP адреса. К сожалению, я не нашёл, где ещё его можно использовать в таком виде. Попытался в hosts добавлять, но ни в Windows, ни в Linux представление в таком виде не работает. Команда
Если кто-то знает, где ещё можно в десятичном виде использовать IP адреса, поделитесь информацией.
#network
🦖 Selectel — дешёвые и не очень дедики с аукционом!
$ ping 1297614849PING 1297614849 (77.88.8.1) 56(84) bytes of data.64 bytes from 77.88.8.1: icmp_seq=1 ttl=56 time=8.03 ms64 bytes from 77.88.8.1: icmp_seq=2 ttl=56 time=8.39 ms64 bytes from 77.88.8.1: icmp_seq=3 ttl=56 time=8.08 ms64 bytes from 77.88.8.1: icmp_seq=4 ttl=56 time=7.94 msВот такая тема работает. Можно пинговать хосты, представляя их IP адреса в десятичной системе исчисления. Показываю, как это сделать.
Берём IP адрес 77.88.8.1 и преобразуем его в двоичное представление. Можно по отдельности каждый окет, либо на каком-то калькуляторе. Например, тут:
⇨ https://infocisco.ru/ip_to_bin.php
77.88.8.1 ⇨ 01001101010110000000100000000001
А теперь это двоичное представление переводим в десятичный вид. Например, тут:
⇨ https://calcus.ru/perevod-sistem-schisleniya/iz-dvoichnoy-v-desyatichnuyu
01001101010110000000100000000001 ⇨ 1297614849
И теперь этот адрес в виде десятичного числа можно использовать вместо IP адреса. К сожалению, я не нашёл, где ещё его можно использовать в таком виде. Попытался в hosts добавлять, но ни в Windows, ни в Linux представление в таком виде не работает. Команда
host тоже не принимает в таком виде, в статические записи DNS в микротике тоже не проходит. Работает в ping, tracert, traceroute.Если кто-то знает, где ещё можно в десятичном виде использовать IP адреса, поделитесь информацией.
#network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131👎3
На днях новость проскочила про новый мониторинг - Astra Monitoring. Продукты Астры сейчас популярны, поэтому решил посмотреть, что это вообще такое. Честно говоря, первое, о чём подумал, что взяли исходники Zabbix и сделали что-то поверх. Я ошибся в частностях, но не в самой сути.
На сайте есть вся информация о новом мониторинге, в том числе состав продуктов, из которых он состоит. Это сборка на базе:
▪️Prometheus
▪️Grafana
▪️VictoriaMetrics
▪️Postgresql
▪️Keycloak
▪️Vector
▪️Clickhouse
Там же есть и инструкция по установке. Решил установить и посмотреть своими глазами. Не получилось. Сборка на базе контейнеров доступна публично. Устанавливать от обычного пользователя, который должен быть в группе Docker:
Тут можно посмотреть весь состав продукта со всеми конфигами и итоговый docker-compose.yml. В инструкции сказано, что можно сразу запускать:
У меня не заработало. Постоянно падал контейнер gatekeeper с веб интерфейсом. По какой-то причине он не мог получить информацию от keycloak, хотя контейнер с ним запускался и урлы, на которые ругался gatekeeper, были доступны. Keycloak отклонял соединения со стороны gatekeeper.
Я некоторое время поковырялся в проекте, но починить не смог. Помогал в отладке, кстати, вот этот подход. Позволил из контейнеров попинговать и проверить урлы, доступность адресов. В архиве нашёлся скрипт
Подход Астры в этом продукте такой же как и в RuPost и многих других, когда берутся open source компоненты и объединяются в единое управление. С точки зрения администрирования это неплохо, так как те, кто будут с этим работать, будут взаимодействовать с лучшими общемировыми продуктами, что только в плюс к компетенциям и опыту.
С другой стороны хотелось и что-то собственной разработки увидеть, помимо веб интерфейса. С чего-то надо начинать. Мне кажется, у Астры хватает ресурсов, чтобы вести более глубокую разработку. Но это так, взгляд сильно со стороны. По идее, чтобы что-то разрабатывать своё, надо увидеть, какой вопрос закрывается недостаточно хорошо уже существующими решениями и придумать улучшенное своё. Глядя на используемый стек, я не знаю, что тут можно улучшать. Веб интерфейс, если только. Разобраться с нуля в Grafana с каждым релизом всё сложнее и сложнее. Обычно берёшь готовые дашборды, чтобы самому не разбираться и не составлять. Сложновато и трудозатратно.
#мониторинг
На сайте есть вся информация о новом мониторинге, в том числе состав продуктов, из которых он состоит. Это сборка на базе:
▪️Prometheus
▪️Grafana
▪️VictoriaMetrics
▪️Postgresql
▪️Keycloak
▪️Vector
▪️Clickhouse
Там же есть и инструкция по установке. Решил установить и посмотреть своими глазами. Не получилось. Сборка на базе контейнеров доступна публично. Устанавливать от обычного пользователя, который должен быть в группе Docker:
# curl -sLo astra-monitoring.tgz https://dl.astralinux.ru/am/generic/compose/astra-monitoring-latest.tgz# tar zxvf astra-monitoring.tgz# cd astra-monitoring/Тут можно посмотреть весь состав продукта со всеми конфигами и итоговый docker-compose.yml. В инструкции сказано, что можно сразу запускать:
# docker compose upУ меня не заработало. Постоянно падал контейнер gatekeeper с веб интерфейсом. По какой-то причине он не мог получить информацию от keycloak, хотя контейнер с ним запускался и урлы, на которые ругался gatekeeper, были доступны. Keycloak отклонял соединения со стороны gatekeeper.
Я некоторое время поковырялся в проекте, но починить не смог. Помогал в отладке, кстати, вот этот подход. Позволил из контейнеров попинговать и проверить урлы, доступность адресов. В архиве нашёлся скрипт
start.sh и файл .env. Попробовал через скрипт запускать, заполнять инвентарь. Результат тот же - падает gatekeeper. Так и не смог попасть в веб интерфейс. Если кто-то уже устанавливал и запускал этот мониторинг, подскажите, что надо поправить. В инструкции, к сожалению, никаких подробностей.Подход Астры в этом продукте такой же как и в RuPost и многих других, когда берутся open source компоненты и объединяются в единое управление. С точки зрения администрирования это неплохо, так как те, кто будут с этим работать, будут взаимодействовать с лучшими общемировыми продуктами, что только в плюс к компетенциям и опыту.
С другой стороны хотелось и что-то собственной разработки увидеть, помимо веб интерфейса. С чего-то надо начинать. Мне кажется, у Астры хватает ресурсов, чтобы вести более глубокую разработку. Но это так, взгляд сильно со стороны. По идее, чтобы что-то разрабатывать своё, надо увидеть, какой вопрос закрывается недостаточно хорошо уже существующими решениями и придумать улучшенное своё. Глядя на используемый стек, я не знаю, что тут можно улучшать. Веб интерфейс, если только. Разобраться с нуля в Grafana с каждым релизом всё сложнее и сложнее. Обычно берёшь готовые дашборды, чтобы самому не разбираться и не составлять. Сложновато и трудозатратно.
#мониторинг
👍77👎19