Мне вчера несколько человек написали, что вышло обновление Proxmox VE 7.3. Я смотрю, это очень популярное решение, потому что по обновлениям VMware или Hyper-V мне никто ни разу не писал 🙂 Сама новость ничем особо не примечательна, так как Proxmox обновляется регулярно, что не может не радовать.
Хочу сразу предупредить, чтобы не торопились обновляться. Уже не раз бывало, что обновление приносит проблемы. Сталкивался сам и писал об этом на канале не единожды.
Второй момент, который привлек внимание - информация о приложении Proxmox Mobile. Я и не знал, что оно существует. Обычно если надо было через смартфон зайти, я просто открывал в браузере версию для PC. Вполне сносно работает, даже консоль сервера можно посмотреть, что-то изменить или перезапустить VM. Кто-то уже пробовал мобильное приложение? Есть там что-то полезное, ради чего его можно поставить?
⇨ Сама новость: ru и en.
#proxmox
Хочу сразу предупредить, чтобы не торопились обновляться. Уже не раз бывало, что обновление приносит проблемы. Сталкивался сам и писал об этом на канале не единожды.
Второй момент, который привлек внимание - информация о приложении Proxmox Mobile. Я и не знал, что оно существует. Обычно если надо было через смартфон зайти, я просто открывал в браузере версию для PC. Вполне сносно работает, даже консоль сервера можно посмотреть, что-то изменить или перезапустить VM. Кто-то уже пробовал мобильное приложение? Есть там что-то полезное, ради чего его можно поставить?
⇨ Сама новость: ru и en.
#proxmox
Хочу вас познакомить с отличной современной программой по передаче текстовых данных из одних источников в другие. Речь пойдёт про Vector и проект vector.dev. Это пример простой и качественной программы, которая решает одну задачу - взять данные в одном месте, преобразовать их или оставить в неизменном виде и передать в другое место.
Мне она понравилась в первую очередь своим сайтом с подробной информацией обо всех возможностях и настройках. Буквально за несколько минут разобрался с настройками и запустил в работу.
С помощью Vector можно взять данные из источников: File, Docker logs, JournalD, Kafka, Kubernetes logs, Logstash и ещё 40 различных программ и положить их в один из 50-ти типов поддерживаемых приёмников, среди которых: Console, Elasticsearch, File, HTTP, Loki, Prometheus и т.д.
По пути Vector может делать преобразования. Для каждого источника, преобразования и приёмника есть пример конфигурации, как это можно реализовать. В итоге по частям настраивается полный маршрут.
Вот для примера конфиг для сбора логов JournalD и записи их в файл. Я прямо взял из документации конфиг для JournalD, конфиг для File и совместил их.
Ставим Vector (есть и пакеты, и docker образ):
Рисуем конфиг:
Всё просто и понятно - источник, приёмник, преобразование. Можно текст автоматом в json сконвертировать. Я оставил обычный формат.
Создаём дефолтную директорию для Vector и запускаем его:
В файле /tmp/ntp-%Y-%m-%d.log будет текстовый лог службы ntp, взятый из journald. По такому же принципу работают и другие направления.
Программа очень простая и удобная. По сути она заменяет более именитых и старых товарищей - fluentd, filebeat и т.д. Частично и logstash. Я принял решение использовать её для сбора логов и отправки в ELK.
⇨ Сайт / Исходники / Документация
#logs #devops
Мне она понравилась в первую очередь своим сайтом с подробной информацией обо всех возможностях и настройках. Буквально за несколько минут разобрался с настройками и запустил в работу.
С помощью Vector можно взять данные из источников: File, Docker logs, JournalD, Kafka, Kubernetes logs, Logstash и ещё 40 различных программ и положить их в один из 50-ти типов поддерживаемых приёмников, среди которых: Console, Elasticsearch, File, HTTP, Loki, Prometheus и т.д.
По пути Vector может делать преобразования. Для каждого источника, преобразования и приёмника есть пример конфигурации, как это можно реализовать. В итоге по частям настраивается полный маршрут.
Вот для примера конфиг для сбора логов JournalD и записи их в файл. Я прямо взял из документации конфиг для JournalD, конфиг для File и совместил их.
Ставим Vector (есть и пакеты, и docker образ):
# curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev \
| bash
Рисуем конфиг:
[sources.journal_ntp]
type = "journald"
current_boot_only = true
include_units = [ "ntp" ]
[sinks.log_ntp]
type = "file"
inputs = [ "journal_ntp" ]
path = "/tmp/ntp-%Y-%m-%d.log"
[sinks.log_ntp.encoding]
codec = "text"
Всё просто и понятно - источник, приёмник, преобразование. Можно текст автоматом в json сконвертировать. Я оставил обычный формат.
Создаём дефолтную директорию для Vector и запускаем его:
# mkdir /var/lib/vector/
# vector --config /root/.vector/config/vector.toml
В файле /tmp/ntp-%Y-%m-%d.log будет текстовый лог службы ntp, взятый из journald. По такому же принципу работают и другие направления.
Программа очень простая и удобная. По сути она заменяет более именитых и старых товарищей - fluentd, filebeat и т.д. Частично и logstash. Я принял решение использовать её для сбора логов и отправки в ELK.
⇨ Сайт / Исходники / Документация
#logs #devops
Администраторам Linux постоянно приходится сталкиваться с регулярными выражениями. Разобраться в них - та ещё задача. Лично я не умею писать регулярки. Что-то простое, конечно, могу придумать, или расшифровать чужую, но не всегда. Как по мне, регулярки - настоящий вынос мозга. Я их просто записываю и собираю свою коллекцию.
Упростить понимание и написание регулярок может старый известный сервис regex101.com. Рекомендую забрать его в закладки. Странно, что я ещё ни разу о нём не написал. Рассмотрим простой пример 😁
Есть хоть один вменяемый человек, который сможет понять, что это такое? Это же натуральная обфускация, чтобы никто не понял, о чём тут речь. Но на самом деле это регулярка для проверки IP адреса. Результат работы сервиса по этой регулярке можете посмотреть на картинке.
Помимо непосредственно проверки, в этом сервисе есть большая коллекция готовых выражений, по которой работает поиск. Там можно найти много полезных штук, которые не придётся придумывать самому или искать где-то ещё.
Один народный умелец так проникся этим сервисом, что упаковал его в офлайн приложение для PC под все системы:
⇨ https://github.com/nedrysoft/regex101
Кстати, у меня даже ни одного знакомого нет, кто мог бы написать какую-то более ли менее сложную регулярку. Либо я об этом не знаю. Это какое-то тайное знание, которое передаётся как магия из рук в руки между хранителями исходников.
❓Вы можете сами написать регулярку, наподобие той, что проверяет ip адреса?
#regex #сервис
Упростить понимание и написание регулярок может старый известный сервис regex101.com. Рекомендую забрать его в закладки. Странно, что я ещё ни разу о нём не написал. Рассмотрим простой пример 😁
^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)(?:\.(?!$)|$)){4}$
Есть хоть один вменяемый человек, который сможет понять, что это такое? Это же натуральная обфускация, чтобы никто не понял, о чём тут речь. Но на самом деле это регулярка для проверки IP адреса. Результат работы сервиса по этой регулярке можете посмотреть на картинке.
Помимо непосредственно проверки, в этом сервисе есть большая коллекция готовых выражений, по которой работает поиск. Там можно найти много полезных штук, которые не придётся придумывать самому или искать где-то ещё.
Один народный умелец так проникся этим сервисом, что упаковал его в офлайн приложение для PC под все системы:
⇨ https://github.com/nedrysoft/regex101
Кстати, у меня даже ни одного знакомого нет, кто мог бы написать какую-то более ли менее сложную регулярку. Либо я об этом не знаю. Это какое-то тайное знание, которое передаётся как магия из рук в руки между хранителями исходников.
❓Вы можете сами написать регулярку, наподобие той, что проверяет ip адреса?
#regex #сервис
На этой неделе познакомился с новым для меня авторским каналом по ИТ:
⇨ Pavel Zloi aka EvilFreelancer
Видео немного и выходят не часто, но материал интересный, особенно последний цикл, где автор собирает кластер Kubernetes на базе NanoPi NEO3. В качестве виртуализации использует Proxmox под виртуалки кластера. Всё как мы любим.
Там и другие видео заслуживают внимания. Например, про GNS3 или TeamPass, Syspass, Passman, KeeWeb. Автор рассмотрел несколько решений для хранилища паролей, и остановился в итоге на hashicorp vault.
#видео
⇨ Pavel Zloi aka EvilFreelancer
Видео немного и выходят не часто, но материал интересный, особенно последний цикл, где автор собирает кластер Kubernetes на базе NanoPi NEO3. В качестве виртуализации использует Proxmox под виртуалки кластера. Всё как мы любим.
Там и другие видео заслуживают внимания. Например, про GNS3 или TeamPass, Syspass, Passman, KeeWeb. Автор рассмотрел несколько решений для хранилища паролей, и остановился в итоге на hashicorp vault.
#видео
Напоминаю, для тех, кто не в курсе, что Zabbix регулярно проводит вебинары. В том числе и на русском языке. У меня были сомнения насчёт того, актуально ли это в наше время. Записался на недавний вебинар и успешно его прослушал. Так что всё актуально.
Вебинары в основном обзорные и рассчитаны на новичков. Чаще всего по кругу крутят темы с обзором системы мониторинга и установкой. Но иногда добавляют что-то более информативное и сложное. После вебинара чаще всего можно задать свой вопрос.
Ближайшие анонсированные вебинары:
🗓 1 декабря, 11:00 Обзор системы мониторинга Zabbix
🗓 8 декабря, 11:00 Установите и настройте Zabbix за 5 минут
🗓 15 декабря, 11:00 Расширение возможностей Zabbix
Записаться можно на отдельной странице. Внимательно смотрите на часовой пояс. Его будет видно во время записи на мероприятие в Zoom. Он иногда меняется. Последний вебинар был по часовому поясу Хельсинки, разница с Москвой на час. Я пришёл раньше и думал, что пропустил уже. Не сразу сообразил, что он ещё просто не начался.
#zabbix
Вебинары в основном обзорные и рассчитаны на новичков. Чаще всего по кругу крутят темы с обзором системы мониторинга и установкой. Но иногда добавляют что-то более информативное и сложное. После вебинара чаще всего можно задать свой вопрос.
Ближайшие анонсированные вебинары:
🗓 1 декабря, 11:00 Обзор системы мониторинга Zabbix
🗓 8 декабря, 11:00 Установите и настройте Zabbix за 5 минут
🗓 15 декабря, 11:00 Расширение возможностей Zabbix
Записаться можно на отдельной странице. Внимательно смотрите на часовой пояс. Его будет видно во время записи на мероприятие в Zoom. Он иногда меняется. Последний вебинар был по часовому поясу Хельсинки, разница с Москвой на час. Я пришёл раньше и думал, что пропустил уже. Не сразу сообразил, что он ещё просто не начался.
#zabbix
🎓 Делюсь с вами интересными и полезным проектом для самообразования в сфере DevOps. Возможно вы уже о нём слышали, так как репозиторий 90DaysOfDevOps довольно известный. Это сборник из 90 шагов, разбитых на 90 дней для развития в области DevOps. Язык материала - английский.
Автор удобно структурировал информацию с пояснениями, ссылками и своими комментариями. Например, день 8-й, ставим Go и пишем Hello World. День 18 - разбираемся с SSH в Linux, подключаемся и настраиваем веб сервер. День 25 - начинаем изучать автоматизацию в управлении сетями, ставим EVE-NG и готовим тестовый стенд.
Материал рассчитан на новичков с небольшими знаниями Linux. Хотя какие-то отдельные темы могут быть интересны и всем остальным. Подача необычная и на мой взгляд удачная. Неплохо структурировано и разбито по темам. Можно взять за основу для самообразования. Для работы с материалами стоит использовать вот эту стартовую страницу, что неочевидно, когда попадаешь в корень репозитория ⇨
https://github.com/MichaelCade/90DaysOfDevOps/blob/main/2022.md
Многие люди считают, что так популярные сейчас курсы не нужны и всему можно научиться самостоятельно. Это чистая правда. На курсах нет никаких тайных знаний. Просто всё структурировано и выстроено в единый курс. При желании всё то же самое вы сможете найти бесплатно. Просто уйдёт больше времени и задавать вопросы будет некому, что тоже существенно замедляет процесс обучения.
Для самообразования рекомендую тэг #обучение на моём канале. Тут есть всё, чтобы стать начинающим специалистом в администрировании Linux и DevOps. Всё в ваших руках.
#обучение
Автор удобно структурировал информацию с пояснениями, ссылками и своими комментариями. Например, день 8-й, ставим Go и пишем Hello World. День 18 - разбираемся с SSH в Linux, подключаемся и настраиваем веб сервер. День 25 - начинаем изучать автоматизацию в управлении сетями, ставим EVE-NG и готовим тестовый стенд.
Материал рассчитан на новичков с небольшими знаниями Linux. Хотя какие-то отдельные темы могут быть интересны и всем остальным. Подача необычная и на мой взгляд удачная. Неплохо структурировано и разбито по темам. Можно взять за основу для самообразования. Для работы с материалами стоит использовать вот эту стартовую страницу, что неочевидно, когда попадаешь в корень репозитория ⇨
https://github.com/MichaelCade/90DaysOfDevOps/blob/main/2022.md
Многие люди считают, что так популярные сейчас курсы не нужны и всему можно научиться самостоятельно. Это чистая правда. На курсах нет никаких тайных знаний. Просто всё структурировано и выстроено в единый курс. При желании всё то же самое вы сможете найти бесплатно. Просто уйдёт больше времени и задавать вопросы будет некому, что тоже существенно замедляет процесс обучения.
Для самообразования рекомендую тэг #обучение на моём канале. Тут есть всё, чтобы стать начинающим специалистом в администрировании Linux и DevOps. Всё в ваших руках.
#обучение
С удивлением узнал, что существует полноценная бесплатная open source SIEM-система (менеджмент информации и событий безопасности) - Wazuh. Она состоит из агентов для сбора данных под все популярные системы и серверной части с дашбордом и просмотром информации через браузер.
С помощью Wazuh можно решать следующие задачи:
◽ анализ журналов
◽ мониторинг файлов
◽ обнаружение вторжений
◽ сканирование запущенных процессов
◽ реагирование на инциденты
◽ проверка соответствия систем заданным политикам
◽ проверка уязвимостей CVE
Сама система Wazuh построена на базе Linux, но позволяет наблюдать в том числе за хостами под Windows.
Wazuh зрелый и известный проект. Имеет интеграцию с ELK, в том числе плагин для Kibana с готовыми дашбордами. Яндекс.Облако предлагает использовать Wazuh как готовую DevSecOps платформу и развернуть в несколько кликов через свой готовый образ.
Развернуть Wazuh можно на своём железе. В документации всё подробно описано. Можно использовать скрипты установки, пакеты из репозиториев, либо готовый образ виртуальной машины, docker контейнеры, готовый deployment для kubernetes.
Для тех, кто не совсем понимает, что это за система и как работает, поясню на небольших примерах. Это не антивирус, который автоматически обновляет базы и что-то делает за вас. Эта система собирает данные и предлагает вам настроить оповещения и какие-то действия на конкретные события. При этом она может получать данные и от антивирусов.
Допустим, какой-то ваш сервис брутят, пытаясь подобрать учётную запись. Вы видите это в логах. Заранее или по факту пишите какой-то скрипт, правило или что-то ещё, что управляет вашим фаерволом. Потом применяете это правило блокировки злоумышленника на основе данных из логов как реакцию на событие. Другой пример. С помощью агента вы знаете список софта и его версии. В какой-то момент появляется CVE для одной из версий. Вы видите это на основе отчёта. Далее создаёте политику на обновление уязвимых программ и распространяете её.
Сам я Wazuh никогда не использовал и даже не видел. Собрал информацию по ходу написания заметки. Если вы использовали, дайте обратную связь. На вид всё выглядит неплохо. Я даже задумался, какой смысл устанавливать и настраивать только ELK для сбора и анализа логов, если можно сразу Wazuh развернуть и получить не только обзор логов, но и всё остальное. Под капотом там тот же Elasticsearch и Kibana.
⇨ Сайт / Документация / Исходники
#security #elk #devops
С помощью Wazuh можно решать следующие задачи:
◽ анализ журналов
◽ мониторинг файлов
◽ обнаружение вторжений
◽ сканирование запущенных процессов
◽ реагирование на инциденты
◽ проверка соответствия систем заданным политикам
◽ проверка уязвимостей CVE
Сама система Wazuh построена на базе Linux, но позволяет наблюдать в том числе за хостами под Windows.
Wazuh зрелый и известный проект. Имеет интеграцию с ELK, в том числе плагин для Kibana с готовыми дашбордами. Яндекс.Облако предлагает использовать Wazuh как готовую DevSecOps платформу и развернуть в несколько кликов через свой готовый образ.
Развернуть Wazuh можно на своём железе. В документации всё подробно описано. Можно использовать скрипты установки, пакеты из репозиториев, либо готовый образ виртуальной машины, docker контейнеры, готовый deployment для kubernetes.
Для тех, кто не совсем понимает, что это за система и как работает, поясню на небольших примерах. Это не антивирус, который автоматически обновляет базы и что-то делает за вас. Эта система собирает данные и предлагает вам настроить оповещения и какие-то действия на конкретные события. При этом она может получать данные и от антивирусов.
Допустим, какой-то ваш сервис брутят, пытаясь подобрать учётную запись. Вы видите это в логах. Заранее или по факту пишите какой-то скрипт, правило или что-то ещё, что управляет вашим фаерволом. Потом применяете это правило блокировки злоумышленника на основе данных из логов как реакцию на событие. Другой пример. С помощью агента вы знаете список софта и его версии. В какой-то момент появляется CVE для одной из версий. Вы видите это на основе отчёта. Далее создаёте политику на обновление уязвимых программ и распространяете её.
Сам я Wazuh никогда не использовал и даже не видел. Собрал информацию по ходу написания заметки. Если вы использовали, дайте обратную связь. На вид всё выглядит неплохо. Я даже задумался, какой смысл устанавливать и настраивать только ELK для сбора и анализа логов, если можно сразу Wazuh развернуть и получить не только обзор логов, но и всё остальное. Под капотом там тот же Elasticsearch и Kibana.
⇨ Сайт / Документация / Исходники
#security #elk #devops
❓Как быстро посмотреть информацию с файловой системы образа контейнера? Как известно, она состоит из слоёв, поэтому просто зайти в директорию с данными контейнера не получится.
Понятно, что контейнер можно запустить, дальше зайти в него и посмотреть. А если запускать не хочется, и нужно посмотреть ещё не запущенный контейнер? Задача неочевидная, как может показаться на первый взгляд.
Удобно сделать экспорт файловой системы в архив с помощью
Вместо привычного и повсеместно используемого
Вы получите ID контейнера, но он не будет запущен. Теперь его можно сдампить в архив:
Вот и всё. Контейнер можно удалить. Сделали его дамп, не запуская. Суть в том, что
#docker #devops
Понятно, что контейнер можно запустить, дальше зайти в него и посмотреть. А если запускать не хочется, и нужно посмотреть ещё не запущенный контейнер? Задача неочевидная, как может показаться на первый взгляд.
Удобно сделать экспорт файловой системы в архив с помощью
docker export
, но опять же, команда работает только с запущенным контейнером, так как требуется в качестве аргумента передать ID контейнера. Но есть небольшой трюк, который позволит не запуская контейнер сделать его export. По сути мы сможем посмотреть image. Вместо привычного и повсеместно используемого
docker run
можно сделать вот так:# docker pull wordpress
# docker create wordpress
Вы получите ID контейнера, но он не будет запущен. Теперь его можно сдампить в архив:
# docker export dce4c5f675fb -o wordpress.tar.gz
Вот и всё. Контейнер можно удалить. Сделали его дамп, не запуская. Суть в том, что
docker run
на самом деле состоит из docker create
и docker start
, но так как все привыкли использовать сразу docker run
, эта информация не особо распространена. #docker #devops
Очень классный и простой в настройке мониторинг - Uptime Kuma. Запускается в пару кликов. Настраивается тоже очень быстро и просто. Не надо изучать документацию и разбираться. Умеет отправлять оповещения в том числе в Telegram.
📌 Uptime Kuma умеет мониторить:
◽ Сайты по HTTP, в том числе их сертификаты
◽ DNS записи
◽ Обычные хосты через icmp запросы
◽ Открытые TCP порты
◽ Статус Docker контейнеров
◽ SQL сервера
Много рассказывать не буду, просто попробуйте сами. Локальный запуск через Docker:
Публичные Demo:
⇨ https://demo.uptime.kuma.pet:27000/
⇨ https://demo.uptime-kuma.karimi.dev:27000/
При обращении для вас будет создан персональный сервер мониторинга, который вы сможете попробовать в течении 10 минут.
Uptime Kuma по функционалу сильно похожа на сервис freshping.io, которым лично я активно пользуюсь. Много проверок там настроил в рамках бесплатного тарифа. Рекомендую 👍
⇨ Исходники
#мониторинг
📌 Uptime Kuma умеет мониторить:
◽ Сайты по HTTP, в том числе их сертификаты
◽ DNS записи
◽ Обычные хосты через icmp запросы
◽ Открытые TCP порты
◽ Статус Docker контейнеров
◽ SQL сервера
Много рассказывать не буду, просто попробуйте сами. Локальный запуск через Docker:
# docker run -d --restart=always -p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma louislam/uptime-kuma:1
Публичные Demo:
⇨ https://demo.uptime.kuma.pet:27000/
⇨ https://demo.uptime-kuma.karimi.dev:27000/
При обращении для вас будет создан персональный сервер мониторинга, который вы сможете попробовать в течении 10 минут.
Uptime Kuma по функционалу сильно похожа на сервис freshping.io, которым лично я активно пользуюсь. Много проверок там настроил в рамках бесплатного тарифа. Рекомендую 👍
⇨ Исходники
#мониторинг
Решил попробовать мобильное приложение Android для управления Proxmox. Как оказалось, там есть из чего выбирать. В google play несколько программ. Я выбрал официальное Proxmox Virtual Environment от Proxmox Server Solutions GmbH и ProxMon от SigmaMode. Последнего выбрал по отзывам.
И вот что удивительно - стороннее приложение оказалось значительно лучше, чем официальное. Первое по интерфейсу выглядит аккуратнее, приятнее глазу. Но я не смог управлять питанием самого гипервизора. И не смог подключиться к консоли VM, так как требуется подтверждённый TLS сертификат, а у меня самоподписанный, который идёт по умолчанию с гипервизором.
В ProxMon этих проблем нет. Без проблем подключается к консоли самого гипервизора и виртуальных машин. Также доступно управление электропитанием гипервизора. Его можно выключить или перезагрузить. Оставил себе, так как изредка нужно зайти в гипервизор. Обычно обходился мобильным браузером, открывая страницу в режиме отображения как на PC. Но с приложением удобнее.
#proxmox
И вот что удивительно - стороннее приложение оказалось значительно лучше, чем официальное. Первое по интерфейсу выглядит аккуратнее, приятнее глазу. Но я не смог управлять питанием самого гипервизора. И не смог подключиться к консоли VM, так как требуется подтверждённый TLS сертификат, а у меня самоподписанный, который идёт по умолчанию с гипервизором.
В ProxMon этих проблем нет. Без проблем подключается к консоли самого гипервизора и виртуальных машин. Также доступно управление электропитанием гипервизора. Его можно выключить или перезагрузить. Оставил себе, так как изредка нужно зайти в гипервизор. Обычно обходился мобильным браузером, открывая страницу в режиме отображения как на PC. Но с приложением удобнее.
#proxmox
Наконец-то собрался с силами и обновил статью по настройке ELK Stack. Он так часто обновляется, что материал устаревает практически полностью в течение года.
Мне регулярно приходится его настраивать, так что не только обновил статью, но и поднял свой deb репозиторий для всех пакетов, что используются в инструкции. Теперь не придётся через VPN или прокси копировать вручную пакеты. В Debian 11 можно автоматически устанавливать через менеджер пакетов, а для всех остальных deb систем можно зайти по адресу репо или просто по IP (тупит DNS, не было времени разобраться) и скачать вручную пакет.
Полный ELK Stack довольно навороченная и сложная система. Так что сделать пошаговую настройку не так просто. Надеюсь нигде сильно не ошибался. Написал по горячим следам после очередной настройки. Конфиги брал с работающих серверов, но разных, так как одновременно и Linux, и Windows логи встречаются редко. Некоторые некритичные картинки остались от 7-й версии. Отличия не сильные, не стал переделывать.
⇨ Установка и настройка ELK Stack
#elk #devops
Мне регулярно приходится его настраивать, так что не только обновил статью, но и поднял свой deb репозиторий для всех пакетов, что используются в инструкции. Теперь не придётся через VPN или прокси копировать вручную пакеты. В Debian 11 можно автоматически устанавливать через менеджер пакетов, а для всех остальных deb систем можно зайти по адресу репо или просто по IP (тупит DNS, не было времени разобраться) и скачать вручную пакет.
Полный ELK Stack довольно навороченная и сложная система. Так что сделать пошаговую настройку не так просто. Надеюсь нигде сильно не ошибался. Написал по горячим следам после очередной настройки. Конфиги брал с работающих серверов, но разных, так как одновременно и Linux, и Windows логи встречаются редко. Некоторые некритичные картинки остались от 7-й версии. Отличия не сильные, не стал переделывать.
⇨ Установка и настройка ELK Stack
#elk #devops
Server Admin
Установка и настройка Elasticsearch, Logstash, Kibana (ELK Stack)
Подробное описание установки ELK Stack - Elasticsearch, Logstash, Kibana для централизованного сбора логов.
При работе с Docker контейнерами часто хочется зайти туда и посмотреть, что происходит. Но не всегда это возможно. В некоторых контейнерах нет вообще ничего - ни оболочки, ни утилит для диагностики.
Для решения этой задачи создана программа cdebug. С её помощью можно подцепиться к контейнеру и выполнить диагностику. Например, запустить там
Для работы с cdebug достаточно скачать один бинарник, написанный на GO. Идём в релизы и скачиваем для Linux архив cdebug_linux_amd64.tar.gz. Далее покажу на примере контейнера nginx.
В образе нет ps. Подключаемся через cdebug:
Посмотрели список процессов. При этом исходный контейнер не перезапускается, к нему не подключаются никакие volumes, корневая файловая система cdebug та же самая, что и у контейнера. Работает cdebug на базе busybox.
Кроме подключения к контейнеру, cdebug может на ходу опубликовать порты контейнера, которые не были опубликованы при запуске. Принцип работы программы описан в репозитории, но если честно, я не очень понял полную реализацию.
⇨ Исходники
#docker #devops
Для решения этой задачи создана программа cdebug. С её помощью можно подцепиться к контейнеру и выполнить диагностику. Например, запустить там
ps axf
и посмотреть, что и с какими параметрами запущено. Либо любую другую утилиту - ls, top, awk и т.д. Для работы с cdebug достаточно скачать один бинарник, написанный на GO. Идём в релизы и скачиваем для Linux архив cdebug_linux_amd64.tar.gz. Далее покажу на примере контейнера nginx.
# docker run --name nginx -d -p 8080:80 nginx
# docker exec -it nginx bash
# ps axf
bash: ps: command not found
В образе нет ps. Подключаемся через cdebug:
# cdebug exec -it nginx
# ps axf
PID USER TIME COMMAND
1 root 0:00 nginx: master process nginx -g daemon off;
28 nginx 0:00 nginx: worker process
29 nginx 0:00 nginx: worker process
30 nginx 0:00 nginx: worker process
31 nginx 0:00 nginx: worker process
39 root 0:00 sh /.cdebug-entrypoint.sh
47 root 0:00 sh
48 root 0:00 ps axf
Посмотрели список процессов. При этом исходный контейнер не перезапускается, к нему не подключаются никакие volumes, корневая файловая система cdebug та же самая, что и у контейнера. Работает cdebug на базе busybox.
Кроме подключения к контейнеру, cdebug может на ходу опубликовать порты контейнера, которые не были опубликованы при запуске. Принцип работы программы описан в репозитории, но если честно, я не очень понял полную реализацию.
⇨ Исходники
#docker #devops
GitHub
Releases · iximiuz/cdebug
cdebug - a swiss army knife of container debugging - iximiuz/cdebug
Давно не было ничего на тему полезных бесплатных сервисов. Наиболее известные я либо уже упоминал, либо доступ из РФ заблокирован, либо просто потенциально небезопасно стало всем этим пользоваться. Нашлось исключение, которое может пригодиться.
Storj.io - сервис для хранения файлов. Бесплатно дают 150 Гб хранилища, и такой же объём трафика в месяц. Предложение очень щедрое. Не знаю, в чём тут подвох. При создании контейнера (тут принцип как у S3 с backets) предложили указать пароль для шифрования данных. Никто не мешает и самому зашифровать свои данные.
Я зарегистрировался и попробовал пользоваться. Никаких проблем не возникло. Доступ как через браузер, так и через CLI инструменты в Linux, например, через Rclone, Duplicati, Restic. Примеры показаны в документации. Можно не только хранить файлы, но и делиться ссылками с другими людьми.
Как хранилище для бэкапов бэкапов вполне сойдёт. Есть плагин для Wordpress UpdraftPlus, с помощью которого можно настроить бэкапы в этот сервис. В общем, забирайте и пользуйтесь.
#бесплатно #backup
Storj.io - сервис для хранения файлов. Бесплатно дают 150 Гб хранилища, и такой же объём трафика в месяц. Предложение очень щедрое. Не знаю, в чём тут подвох. При создании контейнера (тут принцип как у S3 с backets) предложили указать пароль для шифрования данных. Никто не мешает и самому зашифровать свои данные.
Я зарегистрировался и попробовал пользоваться. Никаких проблем не возникло. Доступ как через браузер, так и через CLI инструменты в Linux, например, через Rclone, Duplicati, Restic. Примеры показаны в документации. Можно не только хранить файлы, но и делиться ссылками с другими людьми.
Как хранилище для бэкапов бэкапов вполне сойдёт. Есть плагин для Wordpress UpdraftPlus, с помощью которого можно настроить бэкапы в этот сервис. В общем, забирайте и пользуйтесь.
#бесплатно #backup
Плановый топ постов за прошедший месяц. Чуть не забыл в этот раз. Вспомнил в последний момент.
📌 Больше всего просмотров:
◽️ Новость про критичное обновление 1С (8958)
◽️ Моя подборка хостингов (7148)
◽️ Цикл роликов про собеседование DevOps (6786)
📌 Больше всего комментариев:
◽️ Обзор популярных гипервизоров (250)
◽️ Новость про критичное обновление 1С (199)
◽️ Прошивка DD-WRT для роутера (122)
◽️ Программа для хранения заметок Appflowy (103)
📌 Больше всего пересылок:
◽️ Новость про критичное обновление 1С (594)
◽️ Проект 90DaysOfDevOps для самообразования (459)
◽️ Программа Labean для настройки доступа к сервисам (391)
◽️ Бесплатная SIEM система Wazuh (364)
📌 Больше всего реакций:
◽️ Разница между adduser и useradd (134)
◽️ Программа Labean для настройки доступа к сервисам (130)
◽️ Просмотр сообщений ядра через dmesg (128)
◽️ История про мои первые деньги в IT (127)
#топ
📌 Больше всего просмотров:
◽️ Новость про критичное обновление 1С (8958)
◽️ Моя подборка хостингов (7148)
◽️ Цикл роликов про собеседование DevOps (6786)
📌 Больше всего комментариев:
◽️ Обзор популярных гипервизоров (250)
◽️ Новость про критичное обновление 1С (199)
◽️ Прошивка DD-WRT для роутера (122)
◽️ Программа для хранения заметок Appflowy (103)
📌 Больше всего пересылок:
◽️ Новость про критичное обновление 1С (594)
◽️ Проект 90DaysOfDevOps для самообразования (459)
◽️ Программа Labean для настройки доступа к сервисам (391)
◽️ Бесплатная SIEM система Wazuh (364)
📌 Больше всего реакций:
◽️ Разница между adduser и useradd (134)
◽️ Программа Labean для настройки доступа к сервисам (130)
◽️ Просмотр сообщений ядра через dmesg (128)
◽️ История про мои первые деньги в IT (127)
#топ
Хочу немного порассуждать и дать несколько советов из своей практики на тему визуализации мониторинга. Когда я настраиваю систему мониторинга на заказ, меня почти всегда просят сделать красивые и информативные дашборды. Когда дело доходит до практики, оказывается, что никто толком не знает, что на них должно быть. И почти всегда у меня получается убедить, что тратить время и деньги на рисование дашбордов не имеет смысла, если мониторинг делается для удобства эксплуатации системы, а не для того, чтобы было что показать руководству.
Визуализация нужна для тех объектов мониторинга, для которых не нужны или не важны триггеры. Поясню на своём примере. У меня есть дашборд с визуализацией техники в квартире. Речь идёт о NAS, общем компьютере, моём тестовом сервере, компьютере сына. Вечером перед сном я обычно открываю дашборд, смотрю, что из техники включено и выключаю. Я не вижу смысла оставлять их включенными ночью. При этом у меня нет никаких триггеров на эту технику. Мне не нужно знать о том, что что-то включилось или выключилось.
Ещё один пример, который наблюдал. В Zabbix настроена интеграция со СКУД. Начальник отдела может посмотреть, где находятся его сотрудники, если не видит их в кабинете. Ему показано, кто в какой зоне и когда в неё пришёл. Когда кто-то нужен и его нет на месте, можно быстро посмотреть, на каком он этаже и есть ли он вообще в здании, когда вышел. Это удобно именно в виде дашборда с информацией. И совершенно не нужны триггеры и оповещения по этой теме.
А вот всё, что покрывается пороговыми значениями с настроенными триггерами нет никакого смысла визуализировать. Например, в Zabbix есть готовый виджет с топом хостов по загрузке процессора. И какой смысл за всем этим наблюдать, если загрузка не выходит за пороговые значения? Ещё популярны визуализации в виде зелёных и красных блоков или кружков. Зачем они? На эти метрики настроены триггеры и оповещения. Поддержка и так моментально узнает через оповещение о том, что что-то случилось.
Исключения бывают для пороговых метрик, если они объединены связями в большие увязанные между собой системы. Например, я делал в Zabbix визуализацию довольно сложной многоконтурной системы охлаждения с кучей различных датчиков (температуры, давления, уровня жидкости и т.д.) и механизмов (помпы, драйкулеры и т.д.). Система была схематично нарисована и основные метрики были выведены на схему, чтобы при срабатывании триггера было видно, в каком именно элементе системы возникла проблема.
Ещё пример, когда визуализация нужна, потому что за ней постоянно кто-то наблюдает. Видел в одном ЦОД в комнате инженеров огромный экран на стене с графиком загрузки входящих каналов интернета. Я так понимаю, при виде постоянно возрастающей нагрузки ребята начинают напрягаться ещё до того, как значения дошли до первых пороговых значений.
В завершении расскажу случай по другой теме, но с которым столкнулся при настройке мониторинга на днях. Нужно было в триггере уменьшить интервал реакции на проблему. Стоял порог на отсутствие данных в течении 5 минут, изменил на 1 минут. И мониторинг начал тупить и давать очень много ложных срабатываний. В таком виде он стал бесполезен, потому что сильно отвлекает. На что я только не грешил. А оказалось, что опрос метрики делался тоже раз в минуту. Для порога в 5 минут, это нормально, а когда порог стал 1 минута, начались бессистемные ложные срабатывания. Изменил время опроса до 20-ти секунд и порог в минуту стал нормально работать.
#мониторинг
Визуализация нужна для тех объектов мониторинга, для которых не нужны или не важны триггеры. Поясню на своём примере. У меня есть дашборд с визуализацией техники в квартире. Речь идёт о NAS, общем компьютере, моём тестовом сервере, компьютере сына. Вечером перед сном я обычно открываю дашборд, смотрю, что из техники включено и выключаю. Я не вижу смысла оставлять их включенными ночью. При этом у меня нет никаких триггеров на эту технику. Мне не нужно знать о том, что что-то включилось или выключилось.
Ещё один пример, который наблюдал. В Zabbix настроена интеграция со СКУД. Начальник отдела может посмотреть, где находятся его сотрудники, если не видит их в кабинете. Ему показано, кто в какой зоне и когда в неё пришёл. Когда кто-то нужен и его нет на месте, можно быстро посмотреть, на каком он этаже и есть ли он вообще в здании, когда вышел. Это удобно именно в виде дашборда с информацией. И совершенно не нужны триггеры и оповещения по этой теме.
А вот всё, что покрывается пороговыми значениями с настроенными триггерами нет никакого смысла визуализировать. Например, в Zabbix есть готовый виджет с топом хостов по загрузке процессора. И какой смысл за всем этим наблюдать, если загрузка не выходит за пороговые значения? Ещё популярны визуализации в виде зелёных и красных блоков или кружков. Зачем они? На эти метрики настроены триггеры и оповещения. Поддержка и так моментально узнает через оповещение о том, что что-то случилось.
Исключения бывают для пороговых метрик, если они объединены связями в большие увязанные между собой системы. Например, я делал в Zabbix визуализацию довольно сложной многоконтурной системы охлаждения с кучей различных датчиков (температуры, давления, уровня жидкости и т.д.) и механизмов (помпы, драйкулеры и т.д.). Система была схематично нарисована и основные метрики были выведены на схему, чтобы при срабатывании триггера было видно, в каком именно элементе системы возникла проблема.
Ещё пример, когда визуализация нужна, потому что за ней постоянно кто-то наблюдает. Видел в одном ЦОД в комнате инженеров огромный экран на стене с графиком загрузки входящих каналов интернета. Я так понимаю, при виде постоянно возрастающей нагрузки ребята начинают напрягаться ещё до того, как значения дошли до первых пороговых значений.
В завершении расскажу случай по другой теме, но с которым столкнулся при настройке мониторинга на днях. Нужно было в триггере уменьшить интервал реакции на проблему. Стоял порог на отсутствие данных в течении 5 минут, изменил на 1 минут. И мониторинг начал тупить и давать очень много ложных срабатываний. В таком виде он стал бесполезен, потому что сильно отвлекает. На что я только не грешил. А оказалось, что опрос метрики делался тоже раз в минуту. Для порога в 5 минут, это нормально, а когда порог стал 1 минута, начались бессистемные ложные срабатывания. Изменил время опроса до 20-ти секунд и порог в минуту стал нормально работать.
#мониторинг
▶️ Очередная рекомендация на авторский IT канал. На этот раз он полностью посвящён Zabbix. Видео там не часто выходят, но почти всегда они содержательны. За последние пару недель вышли два новых ролика, поэтому я вспомнил про него. Давно на канал подписан. Нашёл случайно, когда искал что-то по Zabbix. Посмотрел список роликов, показалось интересным, подписался.
Язык видео - английский. Кто плохо воспринимает его на слух - в Яндекс.Браузере есть очень качественный синхронный перевод на русский. Вообще, современный уровень переводов практически стёр границу между языками. Если вам не нужно самому общаться на иностранном языке, то для получения и анализа информации знать его не обязательно. Возможностей автопереводов зачастую достаточно. Причём это касается не только английского языка, но и многих других.
Dmitry Lambert
⇨ https://www.youtube.com/@DmitryLambert/videos
Из недавних полезных видео советую обратить внимание на следующие:
👉 ZABBIX Housekeeper - What You Need To Know
Тема важная и не сильно раскрытая. Housekeeper может очень сильно нагружать систему и провоцировать шквал ложных срабатываний в мониторинге во время своей работы. В какой-то момент при превышении пороговых значений размера БД, администратору так или иначе приходится иметь с ним дело.
👉 How To Download Files From GitHub On Windows
Автор чётко подметил проблему и рассказал, как её решить. Многие люди не понимают, как правильно скачать шаблон Zabbix из их репы на Github. У меня к статьям постоянно появляются комментарии на эту тему. Люди качают, как им кажется, шаблон и не могут импортировать его в систему. А на деле они скачивают не сам шаблон, а html страничку из репозитория.
👉 Windows EventLog Monitoring With ZABBIX
Мониторинг журнала Windows и настройка триггеров на определённые события. Например, оповещение при логине пользователя в систему. Привет, регулярные выражения 😁.
#видео #zabbix
Язык видео - английский. Кто плохо воспринимает его на слух - в Яндекс.Браузере есть очень качественный синхронный перевод на русский. Вообще, современный уровень переводов практически стёр границу между языками. Если вам не нужно самому общаться на иностранном языке, то для получения и анализа информации знать его не обязательно. Возможностей автопереводов зачастую достаточно. Причём это касается не только английского языка, но и многих других.
Dmitry Lambert
⇨ https://www.youtube.com/@DmitryLambert/videos
Из недавних полезных видео советую обратить внимание на следующие:
👉 ZABBIX Housekeeper - What You Need To Know
Тема важная и не сильно раскрытая. Housekeeper может очень сильно нагружать систему и провоцировать шквал ложных срабатываний в мониторинге во время своей работы. В какой-то момент при превышении пороговых значений размера БД, администратору так или иначе приходится иметь с ним дело.
👉 How To Download Files From GitHub On Windows
Автор чётко подметил проблему и рассказал, как её решить. Многие люди не понимают, как правильно скачать шаблон Zabbix из их репы на Github. У меня к статьям постоянно появляются комментарии на эту тему. Люди качают, как им кажется, шаблон и не могут импортировать его в систему. А на деле они скачивают не сам шаблон, а html страничку из репозитория.
👉 Windows EventLog Monitoring With ZABBIX
Мониторинг журнала Windows и настройка триггеров на определённые события. Например, оповещение при логине пользователя в систему. Привет, регулярные выражения 😁.
#видео #zabbix
Летом поднимал вопрос с выбором ноутбука взамен своему старому Thinkpad x220. Но потом обстоятельства поменялись, вопрос отложился. Теперь его решил. Всем спасибо за советы, проанализировал все ноуты, что упоминали в комментариях. Мой выбор в итоге остановился на ThinkPad T480.
Взял его почти в максимальной комплектации:
◽ Core i7-8650U (4 ярда 8 потоков)
◽ DDR4 32 GB
◽ 512 ГБ NVMe
◽ NVIDIA GeForce MX150 2 GB GDDR5
◽ Экран 1920*1080, тачскрин
◽ Встроенный LTE модуль
Состояние очень хорошее, без видимых следов эксплуатации. Аккумулятора в нём два, перед продажей были установлены новые. Ноут взял за 57 т.р. и сразу к нему док-станцию с дополнительным блоком питания ещё за 7 т.р.
Пользуюсь несколько дней, уже перенёс данные и основной софт, так что можно поделиться впечатлениями. Расскажу про плюсы и минусы. И почему выбрал именно эту модель.
🟢 Плюсы:
▪ Дискретная видеокарта. Пока не знаю, где и как это может пригодиться, так как в игры не играю, да и ролики давно не монтировал. В обычной работе особо не надо, но на будущее может быть полезно. Плюс видел информацию, что в моделях с дискретной видеокартой система охлаждения лучше, чем в обычных. В том числе поэтому выбрал именно эту конфигурацию.
▪ Есть полноценный ethernet порт, что уже не так часто встречается в современных компактных ноутах. Да и в целом набор портов полноценный - нормальный джек для гарнитуры, hdmi для внешнего монитора, Thunderbolt для док-станции, type-c для зарядки.
▪ Хорошо работает сканер отпечатков пальцев, почти моментальный вход в Windows. На прошлом ноуте тоже был, но не так быстро работал, я не пользовался. Тут полностью перешёл на отпечаток вместо пароля.
▪ Удобное управление жестами на тачпаде. Без мышки стало проще работать, но длительная работа с мышкой всё равно удобнее.
▪ Возможность использовать широкие стационарные ДОК станции. Мне они кажутся удобнее, чем современные коробочки, подключаемые через type-c или thunderbolt.
▪ Хорошая производительность в малом весе - 1,6 кг., время работы от аккумуляторов заявлено какое-то невероятное, до 10-13 часов. На деле не знаю, как выйдет, не тестировал. Если вытаскиваю шнур питания, то без изменения нагрузки и режима энергопотребления обещает 10 часов проработать. Мне этого достаточно. Очень редко работаю от батарей. В основном фильмы на них смотрел в кровати.
▪ Корректно работает масштабирование в Windows. Если сделать масштаб 150%, то получается аналог разрешения 1366x768, как на моём старом x220. Понял это по отображению сайтов. Они выглядят так же, как на старом ноутбуке. Я в итоге остался на полноценном разрешении 1920х1080. Поначалу кажется мелковато на 14 дюймовом экране, но со временем привык. Хотя и кажется, что глаза сильнее устают. Может с непривычки. За ноутом редко приходится работать, чаще за экраном монитора.
🟠 Минусы:
▪ Только 2 usb порта и оба с правой стороны. Неудобно подключать проводную мышку, а найти беспроводную, которая бы устроила по форме не получается. К тому же у меня везде одинаковые мышки, чтобы не нужно было привыкать. С проводными в этом плане проще.
▪ Питание подключается слева и сильно в сторону торчит провод. Подключение сзади, как на x220 намного удобнее.
▪ Нет отдельной кнопки pause/break. Я постоянно пользуюсь, а через Fn это неудобно.
Каких-то существенных минусов не заметил. Качество в целом хуже, чем у старых Thinkpad, но тут уже ничего не поделать. Систему оставил Windows. Взвесил ещё раз все за и против и решил, что Linux на основном ноуте будет плохой идеей. Слишком много преград с его использованием. Windows + WSL мне видится оптимальной комбинацией.
Взял именно модель с поддержкой док станции, потому что дома ноутбук ставлю на тумбочку под столом, чтобы на столе место не занимать. Мне важно, чтобы можно было вслепую поставить ноут в док, а не тыкать в него какие-то кабели. Да и в целом работа в док станции мне кажется очень удобной. Не понимаю, почему многие игнорируют эту возможность.
#железо
Взял его почти в максимальной комплектации:
◽ Core i7-8650U (4 ярда 8 потоков)
◽ DDR4 32 GB
◽ 512 ГБ NVMe
◽ NVIDIA GeForce MX150 2 GB GDDR5
◽ Экран 1920*1080, тачскрин
◽ Встроенный LTE модуль
Состояние очень хорошее, без видимых следов эксплуатации. Аккумулятора в нём два, перед продажей были установлены новые. Ноут взял за 57 т.р. и сразу к нему док-станцию с дополнительным блоком питания ещё за 7 т.р.
Пользуюсь несколько дней, уже перенёс данные и основной софт, так что можно поделиться впечатлениями. Расскажу про плюсы и минусы. И почему выбрал именно эту модель.
🟢 Плюсы:
▪ Дискретная видеокарта. Пока не знаю, где и как это может пригодиться, так как в игры не играю, да и ролики давно не монтировал. В обычной работе особо не надо, но на будущее может быть полезно. Плюс видел информацию, что в моделях с дискретной видеокартой система охлаждения лучше, чем в обычных. В том числе поэтому выбрал именно эту конфигурацию.
▪ Есть полноценный ethernet порт, что уже не так часто встречается в современных компактных ноутах. Да и в целом набор портов полноценный - нормальный джек для гарнитуры, hdmi для внешнего монитора, Thunderbolt для док-станции, type-c для зарядки.
▪ Хорошо работает сканер отпечатков пальцев, почти моментальный вход в Windows. На прошлом ноуте тоже был, но не так быстро работал, я не пользовался. Тут полностью перешёл на отпечаток вместо пароля.
▪ Удобное управление жестами на тачпаде. Без мышки стало проще работать, но длительная работа с мышкой всё равно удобнее.
▪ Возможность использовать широкие стационарные ДОК станции. Мне они кажутся удобнее, чем современные коробочки, подключаемые через type-c или thunderbolt.
▪ Хорошая производительность в малом весе - 1,6 кг., время работы от аккумуляторов заявлено какое-то невероятное, до 10-13 часов. На деле не знаю, как выйдет, не тестировал. Если вытаскиваю шнур питания, то без изменения нагрузки и режима энергопотребления обещает 10 часов проработать. Мне этого достаточно. Очень редко работаю от батарей. В основном фильмы на них смотрел в кровати.
▪ Корректно работает масштабирование в Windows. Если сделать масштаб 150%, то получается аналог разрешения 1366x768, как на моём старом x220. Понял это по отображению сайтов. Они выглядят так же, как на старом ноутбуке. Я в итоге остался на полноценном разрешении 1920х1080. Поначалу кажется мелковато на 14 дюймовом экране, но со временем привык. Хотя и кажется, что глаза сильнее устают. Может с непривычки. За ноутом редко приходится работать, чаще за экраном монитора.
🟠 Минусы:
▪ Только 2 usb порта и оба с правой стороны. Неудобно подключать проводную мышку, а найти беспроводную, которая бы устроила по форме не получается. К тому же у меня везде одинаковые мышки, чтобы не нужно было привыкать. С проводными в этом плане проще.
▪ Питание подключается слева и сильно в сторону торчит провод. Подключение сзади, как на x220 намного удобнее.
▪ Нет отдельной кнопки pause/break. Я постоянно пользуюсь, а через Fn это неудобно.
Каких-то существенных минусов не заметил. Качество в целом хуже, чем у старых Thinkpad, но тут уже ничего не поделать. Систему оставил Windows. Взвесил ещё раз все за и против и решил, что Linux на основном ноуте будет плохой идеей. Слишком много преград с его использованием. Windows + WSL мне видится оптимальной комбинацией.
Взял именно модель с поддержкой док станции, потому что дома ноутбук ставлю на тумбочку под столом, чтобы на столе место не занимать. Мне важно, чтобы можно было вслепую поставить ноут в док, а не тыкать в него какие-то кабели. Да и в целом работа в док станции мне кажется очень удобной. Не понимаю, почему многие игнорируют эту возможность.
#железо
🎓 Примерно месяц назад мне написал автор репозитория devops-interview с предложением поделиться с аудиторией подборкой вопросов для подготовки к техническому собеседованию. Список затрагиваемых тем широкий, так что актуален для всего спектра IT специальностей.
При этом данный репозиторий у меня с августа лежит в закладках для будущих публикаций. Я давно его заметил и оценил. Вот пришло время с вами поделиться.
Репозиторий состоит из двух частей:
1️⃣ Техническая, с огромным количеством конкретных технических вопросов, которые могут задавать на собеседовании и простыми, ёмкими ответами на них.
2️⃣ Общие советы по подготовке к собеседованию и беседе с сотрудником отдела кадров.
❓Примеры вопросов:
▪ Что такое BIOS, UEFI?
▪ Что делает команда kill?
▪ Где физически находятся inodes айноды
▪ Почему latency до 8.8.8.8 всегда низкий? (Знаете ответ на этот вопрос? Я не знал)
▪ Опиши принцип работы ssl-шифрования
▪ Чем отличается git pull и git fetch
и т. д.
Вопросы хорошие, и список очень ёмкий. Для подготовки к собеседованиям самое то. Я, кстати, тоже, когда проводил собеседования, готовил похожие вопросы по нужным мне темам. С ними проще проводить интервью и оценивать кандидатов. Набор вопросов - готовый план беседы.
#обучение
При этом данный репозиторий у меня с августа лежит в закладках для будущих публикаций. Я давно его заметил и оценил. Вот пришло время с вами поделиться.
Репозиторий состоит из двух частей:
1️⃣ Техническая, с огромным количеством конкретных технических вопросов, которые могут задавать на собеседовании и простыми, ёмкими ответами на них.
2️⃣ Общие советы по подготовке к собеседованию и беседе с сотрудником отдела кадров.
❓Примеры вопросов:
▪ Что такое BIOS, UEFI?
▪ Что делает команда kill?
▪ Где физически находятся inodes айноды
▪ Почему latency до 8.8.8.8 всегда низкий? (Знаете ответ на этот вопрос? Я не знал)
▪ Опиши принцип работы ssl-шифрования
▪ Чем отличается git pull и git fetch
и т. д.
Вопросы хорошие, и список очень ёмкий. Для подготовки к собеседованиям самое то. Я, кстати, тоже, когда проводил собеседования, готовил похожие вопросы по нужным мне темам. С ними проще проводить интервью и оценивать кандидатов. Набор вопросов - готовый план беседы.
#обучение
GitHub
GitHub - Swfuse/devops-interview: Сборник вопросов и ответов на собеседования на должность системного администратора, девопса
Сборник вопросов и ответов на собеседования на должность системного администратора, девопса - Swfuse/devops-interview
Расскажу вам про одну старую и полезную программу в Linux. Обычно её используют в контексте построения кластеров, когда нужно быстро распространить конфигурационные файлы по разным машинам и держать их в единообразном виде. Но на самом деле из-за скорости и простоты настройки её можно использовать и в более простых задачах. Например, для раскладывания свежих сертификатов Let's Encrypt после их обновления.
Речь пойдёт про программу csync2. В Debian она давно живёт в базовых репозиториях:
Настройка аутентификации основана на pre-shared-keys, которые можно сгенерировать самостоятельно с помощью openssl. Дальше ключи раскидываются по серверам и пишется конфиг в несколько строк. Причем csync2 умеет не только синхронизировать файлы, но и перезапускать службы, что очень удобно в случае с сертификатами, так как можно после обновления сразу перезапустить веб-сервер или что-то ещё.
Конкретные примеры показывать не буду, так как программа старая и довольно известная. В сети очень много готовых мануалов для неё, которые можно адаптировать под свои потребности. Базовый конфиг с синхронизацией файлов и перезапуском сервисов выглядит примерно так:
Выполнение синхронизации csync2 можно ставить в post_hook. Она в случае изменения сертификатов в папке /etc/letsencrypt/ выполнит обновление файлов и перезапуск nginx на всех машинах с идентичным конфигом. Если где-то надо перезапустить nginx, а где-то postfix, то это настраивается отдельно.
У меня, к примеру, были случаи, когда один и тот же сертификат mail.example.com использовался на почтовом сервере для postfix, на веб сервере для браузерного клиента, а получение было на пограничном nginx. То есть с него нужно было раскидать сертификаты на 2 других сервера. Я это делал с помощью nfs, монтируя директорию с сертификатами всем зависимым серверам. С csync2 это реализовать проще и удобнее.
⇨ Исходники / Документация
#linux
Речь пойдёт про программу csync2. В Debian она давно живёт в базовых репозиториях:
# apt install csync2
Настройка аутентификации основана на pre-shared-keys, которые можно сгенерировать самостоятельно с помощью openssl. Дальше ключи раскидываются по серверам и пишется конфиг в несколько строк. Причем csync2 умеет не только синхронизировать файлы, но и перезапускать службы, что очень удобно в случае с сертификатами, так как можно после обновления сразу перезапустить веб-сервер или что-то ещё.
Конкретные примеры показывать не буду, так как программа старая и довольно известная. В сети очень много готовых мануалов для неё, которые можно адаптировать под свои потребности. Базовый конфиг с синхронизацией файлов и перезапуском сервисов выглядит примерно так:
group websrv
{
host node01 node02;
auto younger;
key /etc/csync2.key;
include /etc/letsencrypt/;
action
{
pattern /etc/letsencrypt/*;
exec "nginx -s reload";
do-local;
logfile "/var/log/csync2_action.log";
}
}
Выполнение синхронизации csync2 можно ставить в post_hook. Она в случае изменения сертификатов в папке /etc/letsencrypt/ выполнит обновление файлов и перезапуск nginx на всех машинах с идентичным конфигом. Если где-то надо перезапустить nginx, а где-то postfix, то это настраивается отдельно.
У меня, к примеру, были случаи, когда один и тот же сертификат mail.example.com использовался на почтовом сервере для postfix, на веб сервере для браузерного клиента, а получение было на пограничном nginx. То есть с него нужно было раскидать сертификаты на 2 других сервера. Я это делал с помощью nfs, монтируя директорию с сертификатами всем зависимым серверам. С csync2 это реализовать проще и удобнее.
⇨ Исходники / Документация
#linux
GitHub
GitHub - LINBIT/csync2: file synchronization tool using librsync and current state databases
file synchronization tool using librsync and current state databases - LINBIT/csync2
Когда настраиваете OpenVPN сервер, обязательно обращайте внимание на срок жизни сертификатов. Я знаю, что раньше в наборе скриптов EasyRSA по умолчанию срок жизни сертификатов был 10 лет. Но даже с таким сроком мне один раз пришлось столкнуться с тем, что CA и сертификат сервера, который много раз переезжал на разные машины с сохранением настроек, протух и мне пришлось оперативно решать эту проблему без перевыпуска клиентских сертификатов. Даже статью об этом написал в то время.
Недавно со мной приключилась похожая история. Клиенты перестали подключаться к серверу. Причём я сам это заметил, когда переносил все настройки с одного ноута на другой. И примерно в это же время истёк срок действия сертификата сервера OpenVPN (не CA). Я долго не мог сообразить, в чём проблема. На клиентском сертификате ещё и пароль был. Я сначала думал, что перепутал его. Но потом уже, когда стал детальнее разбираться с ошибкой, понял, что дело не в пароле.
Пошёл на сервер и стал смотреть, в чём дело. Залез в скрипты EasyRSA и обнаружил, что там срок жизни CA так и остался 10 лет, а сгенерированных и подписанных сертификатов только 3 года. В итоге первым протух сертификат самого сервера, потом потихоньку начали клиенты отваливаться. Пришлось всё перевыпускать.
Так что когда настраиваете OpenVPN и выпускаете для него сертификаты, обязательно сморите, какой срок жизни для них установлен. Это поначалу кажется, что 3-5-10 лет это так много. А на деле неизвестно, как всё обернётся. Может оказаться, что время закончилось, а система всё ещё жива и используется. Тем более нет никаких проблем переносить сертификаты вместе с конфигурацией, а один и тот же CA может использоваться для разных задач много лет.
#openvpn
Недавно со мной приключилась похожая история. Клиенты перестали подключаться к серверу. Причём я сам это заметил, когда переносил все настройки с одного ноута на другой. И примерно в это же время истёк срок действия сертификата сервера OpenVPN (не CA). Я долго не мог сообразить, в чём проблема. На клиентском сертификате ещё и пароль был. Я сначала думал, что перепутал его. Но потом уже, когда стал детальнее разбираться с ошибкой, понял, что дело не в пароле.
Пошёл на сервер и стал смотреть, в чём дело. Залез в скрипты EasyRSA и обнаружил, что там срок жизни CA так и остался 10 лет, а сгенерированных и подписанных сертификатов только 3 года. В итоге первым протух сертификат самого сервера, потом потихоньку начали клиенты отваливаться. Пришлось всё перевыпускать.
Так что когда настраиваете OpenVPN и выпускаете для него сертификаты, обязательно сморите, какой срок жизни для них установлен. Это поначалу кажется, что 3-5-10 лет это так много. А на деле неизвестно, как всё обернётся. Может оказаться, что время закончилось, а система всё ещё жива и используется. Тем более нет никаких проблем переносить сертификаты вместе с конфигурацией, а один и тот же CA может использоваться для разных задач много лет.
#openvpn
Существует проект, который сильно упрощает бэкап данных при работе с Docker. Не нужно городить какие-то свои скрипты или использовать инструменты бэкапа общего пользования, которые не всегда удобно настраивать на работу с динамической инфраструктурой на основе контейнеров.
Docker-volume-backup может подключаться к volume и автоматически бэкапить его в локальную директорию, в S3, по WebDAV или по SSH. Вы можете настроить запуск бэкапа на постоянку, добавив отдельный образ с параметрами в docker-compose или выполнить одиночный бэкап, запустив контейнер примерно вот так:
Поддерживается не только AWS S3, но и любое совместимое хранилище. Вот бэкап volume по SSH:
В репозитории приведены примеры и настройки для всех типов хранилищ. Перед бэкапом можно выполнить произвольные команды внутри контейнера. Например, сделать дамп базы данных, положить какую-то временную метку для будущего мониторинга или что-то ещё.
По своей сути этот проект похож на многочисленные скрипты, характерные для эпохи Unix систем, по бэкапу файлов или баз данных. Это продуманный и качественный костыль или велосипед, который избавляет вас от необходимости писать свой, а вместо этого заняться чем-то более интересным для своей инфраструктуры, для чего не существует готового решения.
⇨ Исходники / DockerHub
#devops #docker #backup
Docker-volume-backup может подключаться к volume и автоматически бэкапить его в локальную директорию, в S3, по WebDAV или по SSH. Вы можете настроить запуск бэкапа на постоянку, добавив отдельный образ с параметрами в docker-compose или выполнить одиночный бэкап, запустив контейнер примерно вот так:
docker run --rm \
-v data:/backup/data \
--env AWS_ACCESS_KEY_ID="<xxx>" \
--env AWS_SECRET_ACCESS_KEY="<xxx>" \
--env AWS_S3_BUCKET_NAME="<xxx>" \
--entrypoint backup \
offen/docker-volume-backup:v2
Поддерживается не только AWS S3, но и любое совместимое хранилище. Вот бэкап volume по SSH:
docker run --rm \
-v data:/backup/data \
--env SSH_HOST_NAME="server.local" \
--env SSH_PORT=2222 \
--env SSH_REMOTE_PATH="/mnt/backup/" \
--env SSH_USER="user"
--env SSH_PASSWORD="password"
--entrypoint backup \
offen/docker-volume-backup:v2
В репозитории приведены примеры и настройки для всех типов хранилищ. Перед бэкапом можно выполнить произвольные команды внутри контейнера. Например, сделать дамп базы данных, положить какую-то временную метку для будущего мониторинга или что-то ещё.
По своей сути этот проект похож на многочисленные скрипты, характерные для эпохи Unix систем, по бэкапу файлов или баз данных. Это продуманный и качественный костыль или велосипед, который избавляет вас от необходимости писать свой, а вместо этого заняться чем-то более интересным для своей инфраструктуры, для чего не существует готового решения.
⇨ Исходники / DockerHub
#devops #docker #backup