ServerAdmin.ru
28.6K subscribers
267 photos
34 videos
12 files
2.59K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
3 причины подписаться на аккаунт @selectel 🔥

1. Основы программирования простым языком и без снобизма.
2. Полезные факты о железе, дата-центрах и хостингах.
3. Актуальные новости из IT.

Жми на кнопку «Подписаться», чтобы получать больше IT-материалов и каждый день узнавать что-то новое!

#реклама
​​Случилось знаменательное событие. Zabbix научился сам мониторить время жизни TLS сертификатов. Реализуется это средствами Zabbix Agent 2 и нового шаблона для него. Данный шаблон был зарелизен вместе с версией 5.4.4. Поддержка также добавлена в LTS версию 5.0.15. Реализуется данный функционал с помощью нового айтема web.certificate.get.

Настройка подобных проверок там следующая. Добавляете новый хост, на котором установлен Zabbix Agent 2. Добавляете к нему шаблон Website certificate by Zabbix agent 2. Взять можно в репе. В макросе указываете dns имя сайта и сохраняете хост.

Раньше приходилось всякие костыли применять - https://serveradmin.ru/monitoring-sroka-deystviya-ssl-sertifikata-v-zabbix/ Оцените количество комментов к статье. Такими темпами скоро писать будет не о чём. Zabbix покрывает готовыми шаблонами все основные потребности. Все мои костыли стали больше не нужны. Все из коробки работает.

Видео процесса настройки - https://www.youtube.com/watch?v=QwEDWk0Ky64

#zabbix
​​Рекомендую к просмотру интересное выступление с HighLoad ++ Даниила Захлыстова (Яндекс) - Надежные и быстрые бэкапы PostgreSQL. Речь там идёт про всем известный инструмент WAL-G для бэкапов баз PostgreSQL.

Выступление короткое и достаточно ёмкое. Рассказано в основном про нововведения готовящегося релиза на момент записи трансляции, так как в целом про WAL-G много информации. Релиз v1.0 в итоге состоялся 31 мая.

WAL-G один из лучших бесплатный инструмент для резервного копирования PostgreSQL. Поддерживает полные и инкрементные бэкапы. Его отличает хорошая поддержка современных облачных хранилищ для хранения архивов.

В видео помимо непосредственно рассказа о WAL-G дана общая информация по бэкапам баз данных, что может быть интересно для тех, кто не сильно разбирается в этой теме.

📌 Полезные ссылки:
Youtube - https://www.youtube.com/watch?v=DcIq7H622dQ
Тэзисы выступления - https://www.highload.ru/spring/2021/abstracts/7276
Исходники WAL-G - https://github.com/wal-g/wal-g
Статья с настройкой и примерами - https://habr.com/ru/post/486188/

В связи с тем, что сейчас многие переезжают на PostgreSQL, в том числе с 1С, информация актуальна. Стоит сохранить в закладках.

#backup #postgresql
​​Недавно к какой-то из заметок с докером у меня кто-то спрашивал в комментариях, есть ли для него удобный веб интерфейс. Я так сходу не назвал, так как сам не пользуюсь. Но вчера разбирал заметки старые, нашёл закладку сервиса, который хотел проверить - Portainer.

Это оказался отличный веб интерфейс для контейнеров. Причем, поддерживает он не только Docker, но и Swarm, Kubernetes. Ставится очень просто - в контейнере 😁 Достаточно ему docker.sock пробросить.

docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Идём в веб интерфейс - https://192.168.13.157:9443 и создаём учётную запись администратора. Дальше все достаточно просто и интуитивно понятно. Можете управлять своим локальным хостом - создавать контейнеры, просматривать images, volumes, создавать сети, смотреть логи и т.д. В общем, полное управление докером через веб интерфейс.

Я немного потестировал и в итоге оставил эту панель на своем тестовом хосте для Docker. Хороший продукт, мне понравился. Рекомендую.

Сайт - https://www.portainer.io/
Исходники - https://github.com/portainer/portainer
Demo - http://demo.portainer.io/ (admin / tryportainer)

#docker #devops
​​Времена, когда были очень актуальны ISO образы на флешках безвозвратно уходят. Сейчас всё реже и реже приходится именно с внешних носителей выполнять установки ОС. Тем не менее, иногда приходится это делать. Я помню раньше был единственный рабочий способ получить загрузочный носитель с кучей ISO образов, которые можно выбирать по своему желанию, это купить какой-то известный внешний хард, умеющий эмулировать CD-ROM. Не помню производителя и модель.

Сейчас с этим проще. Есть программа Ventoy, которая позволяет сделать загрузочную флешку, накидать в неё образов и потом выбирать, с какого из них грузиться. Причём она поддерживает не только ISO, но и прочие образы, типа IMG, VHD(x) и другие. Программа бесплатная, open source.

Настраивается все достаточно просто. Качаете Ventoy из репозитория под свою систему. Поддерживается как Windows, так и Linux. Создаёте с его помощью загрузочную флешку. Программа всё сделает сама. Причём будет поддерживаться загрузка как на MBR, так и UEFI системах. Затем в основной раздел флешки загружаете нужные вам образы дисков. После загрузки с этой флешки, вы сможете выбрать один из образов для загрузки системы.

Из минусов то, что не на всём железе работает, и иногда какие-то образы могут глючить, не грузиться. Но в общем и целом лучше всё равно ничего нет (я не видел).

Сайт - https://www.ventoy.net/
Исходники - https://github.com/ventoy/Ventoy
​​Для управления IP адресами существует специальный инструмент (у меня это обычно excel 😁) - TeemIP. Авторы этой программы те же самые, что и у известного iTop. Так что TeemIP может быть установлен как отдельный standalone сервис, либо как модуль к iTop.

TeemIP полностью бесплатен и распространяется без ограничений. Можно без проблем развернуть у себя. Работает на базе php + mysql, запустить можно на обычном веб сервере. Достаточно установить LAMP, скачать исходники и запустить инсталлятор.

Не знаю, насколько TeemIP актуален как отдельный продукт. Наверное кому-то нужен, раз его создали. А вот как часть iTop очень гармонично смотрится. К последнему, кстати, стоит внимательно присмотреться. С его помощью можно создать сервисно-ресурсную модель IT инфраструктуры. Я не писал про него обзор, а продукт интересный и полезный. Есть интеграция с Zabbix. Надо будет отдельно написать.

Сайт - https://www.combodo.com/teemip-194
Demo - https://www.combodo.com/teemip-online-demo
Исходники - https://github.com/TeemIp

#IPAM #управление
​​Мониторинг сервера 1С на Windows в Zabbix

Мне понадобилось замониторить некоторые параметры сервера 1С, установленного на Windows. Не часто приходится подобным заниматься, так что готового решения под рукой не было. Стал разбираться. Расскажу, какой способ в итоге использовал лично я. Как это обычно бывает с Zabbix, вариантов настройки мониторинга может быть много.

У 1С в комплекте есть служба ras, которая выдаёт инфу о кластере. И есть клиент к этой службе rac, который с помощью различных ключей получает от службы нужную информацию.

Регистрируем ras как службу Windows (у меня порты кластера нестандартные, 1640 и 1645 вместо 1540 и 1545):

sc create "1C RAS" binpath= "C:\Program Files (x86)\1cv8\8.3.18.1208\bin\ras.exe cluster --port=1645 localhost:1640 --service" displayname= "1C RAS" start=auto

Запускаем службу и делаем к ней запрос на получение uuid кластера, который нам потом нужен будет во всех запросах:

"C:\Program Files (x86)\1cv8\8.3.18.1208\bin\rac.exe" localhost:1645 cluster list

Запишите полученный uuid кластера. Ниже пример запроса, который покажет все активные сессии:
"C:\Program Files (x86)\1cv8\8.3.18.1208\bin\rac.exe" localhost:1645 session --cluster=62734fb4-f267-4708-9ccf-e929b480b9f4 list

Можно посчитать их количество и на выходе получить просто число:

"C:\Program Files (x86)\1cv8\8.3.18.1208\bin\rac.exe" localhost:1645 session --cluster=62734fb4-f267-4708-9ccf-e929b480b9f4 list | find /c "1CV8C"

Это число мы и передаём в Zabbix с помощью UserParameter. Дальше как обычно - шаблон, айтемы, графики, триггеры. По аналогии вытаскиваются любые другие метрики, которые умеет получать rac. Мне помимо подключений нужна была инфа по BackgroundJob и licenses:

rac session --cluster=uuid list --infobase=uuid | find /c "BackgroundJob"

rac session --licenses --cluster=uuid list

Забирайте в закладки. Zabbix постоянно меняется, но принципы и подходы остаются те же. Когда надо будет, на основе этой инфы под любую версию Zabbix можно быстро сделать мониторинг.

#zabbix #1с #windows
​​Курс "Основы сетевых технологий": почему его стоит пройти всем?

Посмотрите на схему сети и ответьте:

На каком уровне модели OSI работают коммутаторы SW1 и SW2?
Компьютеры отдела продаж и руководства находятся в одном широковещательном домене или в разных?
Какой из коммутаторов SW1 и SW2 хранит в себе информацию об IP-адресах, а какой нет?
Может ли коммутатор SW2 передавать через себя информацию о VLAN?
Зачем сервер вынесли в DMZ?
Зачем для подключения удаленного ноутбука использовали связку из двух VPN одновременно: L2TP/IPSec?

Если вы не уверены, что правильно ответили на все вопросы, то курс вам точно нужен.

То, что заумно и занудно преподают в институте 4 года, максимально доступно упаковано в 9 часов видеоуроков.

Емкий и логичный курс по доступной цене, рекомендую.
👉 Забирать тут.

❗️p.s. от автора канала: Я этот курс проходил, так что могу рекомендовать.

#реклама #рекомендация
​​У меня тут сайт на днях ддоснули. Не знаю, специально или нет. Длилось недолго, минут 10-15. Никакой защиты у меня не стоит, так как нет смысла. С меня не убудет, если сайт полежит какое-то время. Защита стоит дороже, чем доход с сайта.

Как-только сайт начал лагать и пришли алерты от мониторинга о том, что на прокси сервере CPU в потолок ушел, сразу же пошел смотреть дашборд в ELK. Картина из него во вложении. Увидел количество запросов и разных IP, сразу расслабился. Я тут сделать ничего не могу. Канал в 1 гиг сразу забили весь. При этом инфра достойно держалась, хотя всё крутится на дешманском сервере chipcore с двумя обычными ssd.

Пользователям отдаётся чистая статика из кэша напрямую через nginx. Так что 500-е полезли из-за того, что на proxy-nginx было всего 2 CPU и они были загружены полностью. Может быть вообще переварили бы весь этот траф. Другое дело, что меня бы провайдер отрубил, если бы атака продлилась чуть дольше.

Важно иметь мониторинг и логи где-то во вне от наблюдаемого объекта. Если бы они висели на том же ip и канале, то посмотреть бы ничего не смог. Пришлось бы разбираться. А так я сразу же всё понял и оценил обстановку. Так как был вечер, приготовился лечь спать 😎

#ddos #elk
​​Мне иногда нужно с разных IP подергать какой-нибудь API или хост. Для этого нужно либо пул своих адресов иметь, либо где-то прокси искать и использовать их. Всё это хлопотно и трудозатратно. Я нашёл сервис, который позволяет это всё упростить и автоматизировать - https://zenrows.com

Работает он очень просто. Вам дают API, с помощью которого вы делаете запросы через указанный сервис. Проще всего проверить его работу через какой-нибудь сайт, позволяющий узнать ваш внешний ip:

# curl "https://api.zenrows.com/v1/?apikey=96527c63b65ea&url=https://ifconfig.me/ip"

Каждый запрос будет показывать разный внешний IP. То есть по сути zenrows это просто набор прокси серверов, обёрнутых в сервис, которым удобно пользоваться.

Есть бесплатный тариф, который позволяет сделать 1000 запросов в месяц. Для тестовых целей лично мне этого хватает. Дальше цены достаточно высокие - 49$ за 250 000 запросов.

Сервис практически уникальный. Я не видел раньше подобного и приходилось как-то в рамках своих серверов и ip крутиться, когда нужно было с разных адресов что-то подёргать и протестировать доступ, защиту и т.д. Применения можно много найти, в том числе и для всяких пакостей. Но я верю, что ты, дорогой мой читатель, не такой 🙅🏻‍♂️

#бесплатно #сервис
Капец, что творится. Сегодня ночью приснился сон по мотивам вчерашней заметки про ddos сайта. Мне приснилось, что сайт взломан, залит вредоносный код. Ddos был для того, чтобы отвлечь внимание и заливка шелла прошла незаметно на фоне сотен тысяч строк логов и прочих мероприятий.

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

А однажды приснилось то, что произошло с коллегой, который только утром пришёл и рассказал всем о случившемся. Тогда я конкретно удивился и понял, что мир устроен не так, как мы себе представляем. И теперь меня ничем "сверхъестественным" не удивишь. С тех пор пришлось не раз столкнуться с необычными вещами. Когда ты веришь в них и воспринимаешь как должное, лучше выхватываешь подобное из окружающего мира.

У вас бывало такое?

#мысли
​​На днях со мной поделились классным сервисом Whois API, который всю инфу о домене выдает в json. Бесплатный тариф позволяет сделать 3000 запросов в месяц, что для мониторинга за доменами более чем достаточно. Запросы можно делать раз в день.

У меня сразу же родилась идея прикрутить всё это к Zabbix. Причем так, чтобы было и автообнаружение по списку доменов, и чтобы всё хранилось только в шаблоне и исполнялось на сервере Zabbix без каких-либо скриптов. Взял шаблон, указал свой API Key, список доменов и всё работает.

Я и так, и эдак подходил к теме, пока не придумал, как же это реализовать. Дело в том, что автообнаружение в Zabbix работает через какие-то внешние запросы, откуда будет приходить список значений. То есть нельзя просто взять в каком-то макросе указать список и использовать его для автообнаружения. Раньше я сохранял список доменов в текстовом файле, парсил его скриптом и передавал на Zabbix Server через UserParameter. Хотелось от этого уйти.

В итоге я сделал вот что. Взял для автообнаружения в качестве источника данных внутреннюю проверку и ключ zabbix[uptime], просто чтобы выбрать что-то, не важно что. Список доменов передал с помощью предобработки в виде javascript, которая список доменов берет из макроса, где они перечислены через запятую. Ну а дальше все распарсить, разбить по элементам, добавить триггеры было делом техники. По ходу дело пришлось и с новым синтаксисом разобраться (есть неочевидные нюансы), и javascript подтянуть.

Прикладываю сам шаблон. Чтобы все заработало, необходимо в макросах указать свой API KEY от сервиса promptapi и список доменов через запятую. Больше ничего делать не надо, только шаблон прикрепить к какому-нибудь хосту. После того, как прикрепите, запустите вручную правило автообнаружения доменов и потом айтемы сбора данных, так как там интервал стоит в 1 день. Замучаетесь ждать результата работы :)

В шаблоне настроены триггеры на:
- 7 и 30 дней до окончания делегирования;
- изменение списка NS серверов;
- изменение регистратора.

Соответственно, все эти значения собираются. Можно вывести куда-то на дашборд, если вам они интересны.

https://serveradmin.ru/files/zabbix/zabbix-domain-paid-till-with-discovery.yaml

#zabbix
​​2048, только с серверами — игра от Selectel

Ещё никогда собирать серверы не было так просто и приятно.

https://tprg.ru/U14X

#реклама
▶️ Послушал интересное выступление инженера из Mail.Ru Cloud Solutions на тему бэкапов. Артемий Капитула рассказал, как они бэкапят клиентов своего облака. Понятно, что опыт этот очень специфичный и вряд ли вам что-то подобное придётся когда-либо настраивать. Облака такого масштаба - штучные проекты.

Тем не менее, мне было интересно узнать, как там всё устроено. Выступление длинное и основательное. У рассказчика грамотная и выверенная речь. Приятно слушать. Некоторые любопытные факты о бэкапах виртуалок в Mail.Ru Cloud Solutions:
Суточный объем 500TB данных, из которых 300-350TB реально новые данные. В месяц - 15PB 😱
Рост x2 каждый год.
Сжатие бэкапов уменьшает их примерно вдвое.
Сейчас бэкапы льются со скоростью 25GB/сек.
Облако клиентских виртуалок построено на базе OpenStack.

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

Масштабы, конечно, поражают. Это при том, что облако Mail.Ru Cloud Solutions не самое большое. Плюс, в выступлении речь шла только о кластерах Compute Cloud, то есть виртуальные машины. А есть еще S3 хранилища и прочие хранилища сервисов. Какие сети должны там быть, чтобы всё это тянуть?

Для себя тоже вынес некоторые полезные вещи, например, что ZLIB сжатие очень медленное, лучше использовать LZ4.

Видео - https://www.youtube.com/watch?v=tIEZ9Cb5nVc
Тезисы - https://www.highload.ru/spring/2021/abstracts/7329

#видео #backup
​​Очень распространённый вопрос после обновления Zabbix до новой версии: "Почему не обновились шаблоны и как их обновить?". Архитектура мониторинга Zabbix действительно не подразумевает автоматическое обновление шаблонов и этому есть свои причины.

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

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

Так что вполне разумно, что обновление шаблонов происходит только в ручном режиме. Вы всегда можете взять актуальный шаблон для своей версии и обновить его вручную, оценив все изменения и риски. Брать шаблоны нужно в официальном репозитории, который теперь находится здесь - https://git.zabbix.com, а не на github. Там, как я понимаю, копия.

Конкретно шаблоны живут здесь - https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates По умолчанию вы увидите самую свежую ветку master c новыми шаблонами. Они вам могут не подойти. Нажмите на выбор ветки и по тэгам выберите нужную вам версию Zabbix, например 5.0. Здесь же находятся шаблоны для способов оповещения. Про них тоже постоянно спрашивают после обновления, где обещаны новые шаблоны интеграций, но на деле их не появляется в новой версии. Надо импортировать вручную.

Также частой ошибкой является то, что люди не понимают, что именно и как надо качать из репозитория 😀 Вам нужно сохранить только xml или yaml файл в исходном виде. Вот пример того, что надо качать:
https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/templates/os/linux/template_os_linux.yaml
Исходный yaml файл. Сохраняете его как есть и потом импортируете. Обратите внимание, что в ветке master шаблоны уже от 6.0, который еще не вышел в релиз. Так что выбирайте ветку с вашей версией сервера.

#zabbix
​​Почтовый сервер Tegu

Пишу этот пост для сбора обратной связи. Случайно узнал про почтовый сервер Tegu. Удивился, что ни разу про него не слышал. Пошёл читать. Оказывается, это какая-то российская разработка, причём не на базе известного бесплатного ПО, типа postfix или dovecot. Судя по информации из их репозитория используется собственная реализация SMTP и IMAP на языке GO.

Из основных возможностей:
Хранение почты - maildir или база в PostgreSQL.
Построение HA кластера и способность обслуживать очень большие инфраструктуры.
Web интерфейс на базе Nextcloud.
Из коробки есть весь основной почтовый функционал, в том числе инструменты бэкапа, восстановления.
Простая установка через веб инсталлер.
 Интеграция с LDAP/AD (только в платных версиях).
Распространяется по свободной лицензии GPL, есть коммерческие редакции.
Полностью российская разработка, есть в реестре отечественного ПО.

Я посмотрел репозиторий, почитал новости. Проект живой, постоянно обновляется. Ознакомился с документацией. Вроде всё просто, основные вещи описаны.

Хотелось бы понять, насколько это удачный проект и как он на практике? Тестировать почтовый сервер достаточно хлопотное занятие, поэтому не хочется впустую потратить время. На первый взгляд всё выглядит интересно.

Сайт - https://mbk-lab.ru/development/tegu/
Исходники - https://git.mbk-lab.ru/MBK-Lab/go-tegu/
Документация - https://project.mbk-lab.ru/projects/tegu_support/wiki

#mailserver #tegu #отечественное