ServerAdmin.ru
28.2K subscribers
248 photos
32 videos
10 files
2.58K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Рассказываю про очередной очень простой и функциональный мониторинг - Netdata. Он может быть установлен на одиночный сервер и следить только за ним. Также есть возможность подключить несколько своих серверов с установленным мониторингом к публичному сервису и наблюдать за всеми своими серверами через него в браузере.

Ставится Netdata не просто, а очень просто. Идем в консоль и запускаем скрипт:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

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

После установки, можно сразу идти в браузер по локальному ip и смотреть мониторинг. Порт - 19999, авторизации нет. По умолчанию доступны привычные базовые метрики - cpu, память, диск, сеть и т.д. Но на самом деле функционал этого мониторинг очень сильно расширяется дополнительными collectors. Они есть для массы популярного софта. Не буду все это перечислять, можете сами посмотреть - https://learn.netdata.cloud/docs/agent/collectors/collectors

У вас есть возможность бесплатно зарегистрироваться в https://www.netdata.cloud/ и настроить сбор метрик со всех своих серверов туда. Делается это тоже очень просто. Заходите в личный кабинет, добавляете новую комнату и подключаете туда свои сервера:

netdata-claim.sh -token=SIm3ctYjBA6ehxlY1HKTKYo9HE-hPijoMWZxy-YGquOX17K9Zrv-ipsLaJhml2CPaZ1VI3YEC3Ss429a6l2zZAsUxzU9-pNzdIDbFUGKFXlsK-gVaQXxVMUPIBwz_ANF0vsznGI -rooms=22fd6509-c18a-4731-91c7-c4745922f999 -url=https://app.netdata.cloud

Все, больше ничего делать не надо. Все метрики и сам сервер появится в дашборде через несколько секунд. Мониторинг будет доступен отовсюду через браузер.

Так как в Netdata есть поддержка всяких докеров, кубернетисов и прочего современного софта, да еще и ставится практически все автоматически, можно после установки почувствовать себя настоящим девопсом. Не упустите такой возможности.

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

Полностью актуализировал ее и проверил. Способы описаны рабочие. Сейчас с электронной цифровой подписью приходится работать все большему количеству людей. И скорее всего процесс этот будет нарастать. У меня у самого есть такая подпись. Так что материал по факту актуален не только для админов, но и обычных пользователей.

Хочу добавить важное замечание по поводу копирования и экспорта ключей ЭЦП с токенов. Не делайте этого без крайней необходимости, особенно если ключи заменяют подпись очень ответственного человека. У меня один админ просил помочь ему скопировать ЭЦП с неэкспортируемого токена нотариуса, которой он подписывает свои документы. Ему нужно было распространить её на все компьютеры офиса, чтобы не бегать и не втыкать каждый раз токен при подписи документа.

Я ему расписал, что может случиться, если эта подпись утечет на сторону и кто потом за это будет отвечать. Подумал и согласился, что на себя брать эту ответственность нет никакого смысла. Токен для того и создан, чтобы отвечал за него тот, у кого он находится физически. Я всегда при работе с ЭЦП стараюсь максимально отстраниться от управления этими делами.

Использовать токен и отвечать за него должен тот, у кого он физически находится. Особенно это касается банков. Не нужно это перекладывать на админа, а админу не надо брать на себя ответственность за ключи ЭЦП. Пусть тот, кому их дали, ими пользуется и несет ответственность. Ваша задача настроить софт на компе, чтобы все работало.

https://serveradmin.ru/perenos-konteynerov-zakryityih-klyuchey-i-sertifikatov-cryptopro/
​​Иногда нужно быстро проверить скорость интернета на сервере. Причем через консоль. Первое, что приходит на ум, это iperf. Я сам им постоянно пользуюсь. Но для этого надо сначала где-то поднять сервер и подключиться к нему клиентом.

Гораздо быстрее и проще воспользоваться консольным speedtest. Я долгое время не знал, что он в принципе существует. Быстро проверить скорость с его помощью можно вот так:

wget -O - https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python

Python чаще всего есть во всех популярных дистрибутивах, так что ничего дополнительно ставить на сервер не придется. Если хотите на постоянку его поставить у себя, то скачайте скрипт и положите в системную директорию:

wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest

С помощью этой консольной утилиты удобно мониторить канал в интернет, периодически запуская проверки и распарсивая вывод в консоль. Например, вот так:

speedtest | grep Download | awk '{print $2}'

Только имейте ввиду, что этот мониторинг очень условный, еще и канал забивает. Его имеет смысл запускать иногда, просто чтобы понимать, соответствует ли в принципе ваша скорость тарифному плану.
Оказывается у известного видео, которое мы смотрели в прошлую пятницу, есть продолжение. И даже много. Я все просмотрел, понравилось больше всего вот это:

https://www.youtube.com/watch?v=1XjKnxOcaO0

Смотреть можно и без перевода, в целом, все понятно. Но если что, можно субтитры включить и выбрать английский язык. Так будет еще понятнее.

Техподдержка четко отработала :) И полицейский!

#юмор #видео
​​У меня дома две тестовые лабы с гипервизорами. Одна на Hyper-V, вторая на Proxmox. Меня лично утомило каждый раз соглашаться с предупреждением безопасности при подключении к web интерфейсу proxmox, поэтому я решил разобраться с этим вопросом.

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

Решается этот вопрос достаточно просто. Вам надо добавить CA сертификат Proxmox себе в систему в качестве доверенного центра сертификации. Забрать сертификат можно в web интерфейсе, в разделе System -> Certificates. Вам нужен именно pve-root-ca.pem.

Содержимое сертификата можно сохранить в текстовый файл, поменять разрешение на .cer и добавить этот сертификат в систему. Хранилище выбираем - Доверенные корневые центры сертификации.

Есть еще один путь - настроить сертификаты lets encrypt. Proxmox их поддерживает из коробки. Но есть проблема. Для их быстрого выпуска и обновления необходимо на гипервизоре держать открытыми порты 80 и 443. А у меня обычно на гипервизорах присутствуют веб сервера, которые занимают эти порты, так что путь получения сертификатов для самого гипервизора становится немного усложненным, так что я предпочитаю не заморачиваться. Хотя это реально и ничего запредельно сложного нет.

#proxmox
Некоторое время назад прошел очередной Zabbix MeetUp на русском языке. Я посмотрел опубликованные видео с него. Делюсь тем, что показалось наиболее интересным лично мне - Мониторинг камер HikVision с Zabbix.

https://www.youtube.com/watch?v=iiAB0xljINk

Понравилось в первую очередь вот что:

1️⃣ Реальный пример из практики от инженера.
2️⃣ Рассказано про разные способы решения задачи с помощью Zabbix, а так же обоснован выбор конкретной реализации.
3️⃣ Приведены все технические подробности настройки. Решение выложено в открытый доступ.

Я сам в свое время решал похожую задачу с другой системой видеонаблюдения, Devline - https://serveradmin.ru/monitoring-kamer-videonablyudeniya-liniya-devline-v-zabbix/ Тоже рассказал про как минимум 3 разных способа решения вопроса с мониторингом. За это и люблю Zabbix. Он очень гибок и универсален.

Также из видео узнал, что в Zabbix сейчас есть готовая предобработка по конвертации XML в JSON. Ее как раз использовали в примере, забирая все данные с камер по http в виде xml файла. Это базовая возможность всех камер Hikivison. Потом данные преобразовывали в json, парсили на зависимые элементы, настраивали автообнаружение и т.д.

В общем, видео для тех, кто уже использует Zabbix и хочет расширить кругозор и взять на вооружение некоторые приемы из статьи. Для тех, кто с Zabbix не знаком, смотреть большого смысла нет, так как там дается конкретика по реализации.

#zabbix #мониторинг
​​💾 Хочу рассказать об очень полезном и бесплатном инструменте для бэкапа Windows и Linux машин, которым я очень давно пользуюсь сам. Речь пойдет о Veeam Agent for Microsoft Windows FREE и Veeam Agent for Linux FREE.

https://www.veeam.com/ru/linux-backup-free.html
https://www.veeam.com/ru/windows-endpoint-server-backup-free.html

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

Свой ноут лично я бэкаплю им же. Много раз уже выручал, так что рекомендую. Традиционно, софт от Veeam работает качественно и просто. Не надо долго разбираться с настройками. Так что добавить особо нечего. Берите и пробуйте.

#backup
Как вам такая стоимость обучения? Кто-нибудь проходил эти курсы? Дайте информацию по ним, насколько там полезная и актуальная информация для практического применения.

Я уже давно присматриваюсь к ним, но даже несмотря на то, что имею неплохой доход, мне они кажутся слишком дорогие за то время и объем информации, что представлен в описании.

Причем один курс цепляется за другой и проходить надо последовательно три последних, а это 370 т.р. на круг.

Меня лично они интересуют не для корочки, а для знаний, которые там даются.

#zabbix
​​LibreNMS - система мониторинга за сетевым оборудованием

Мониторинг с открытым исходным кодом, заточенный под сети и сетевое оборудование - https://www.librenms.org/. Модно, современно, молодёжно, активно развивается. Можно поставить в докере или из готового образа для виртуальной машины (работает на linux). По умолчанию хранит метрики в rrd. Умеет хранить так же в InfluxDB, а рисоваться в Grafana. Так же есть интеграция с Prometheus, а конкретно умеет слать метрики в Prometheus PushGateway, параллельно складывая по старинке в rrd.

В целом, умеет все то же, что и остальные целостные системы мониторинга:
 Автообнаружение
 Отправка оповещений
 Доступ по API
 Построение распределенной сети для опроса оборудования
 Приложения для Android и IOS
 Интеграция с LDAP и конкретно MS AD, radius

Сам я никогда ее не использовал, так как не фокусировался на сетях. Подсказал кто-то из читателей в комментариях обратить внимание. Я посмотрел описание, почитал доки. Вроде неплохая и целостная система, с большой историей, интеграцией, сообществом.

В доках увидел описание миграции с Observium. Это тоже система мониторинга для сетевого оборудования. Я ее когда то использовал дет 5 назад. Надо будет заметку написать. В целом понравилось, но я все же к Zabbix привык, так что обычно все на нем делаю, чтобы иметь одну систему мониторинга для всего.

Попробовать можно тут - https://demo.librenms.org, учетка - demo /demo.

#мониторинг
​​Для редактирования скриптов и конфигов я очень долгое время пользовался обычным MC или NANO в зависимости от того, что было на сервере. Но как-то раз в видео увидел текстовый редактор Atom с подсветкой синтаксиса. Автор там очень быстро подсвечивал ошибки, делал форматирование и т.д. В общем, мне понравилось, решил попробовать. Поставил чистый редактор и пару yaml плагинов.

С учетом того, что сейчас очень много yaml формата, сталкиваешься с ним постоянно. Даже zabbix свои шаблоны с xml перевел на yaml. Имеет смысл пользоваться чем-то адаптированным под это дело. Теперь если надо что-то длинное отредактировать или проверить, я перекидываю в Atom, там все проверяю и возвращаю обратно. Так удобнее, чем в консоли сервера что-то делать.

Так как я не разработчик и код пишу не так уж часто, никаких особых настроек в Atom я не делал, хотя он поддерживает, к примеру, интеграцию с git. Можно репы подключать, редактировать и пушить сразу в них. Я обычно вручную все делаю, так как проектов много разных, как и репозиториев. Все это настраивать и каждый раз подключать не хочется.

Пробовал еще PyCharm, когда на Python писал. Он в целом все то же самое умеет. Но для продвижения по Python времени не хватает, так что и разработка, и PyCharm отложены до лучших времен.

А вы используете какие-то продвинутые редакторы с подсветкой синтаксиса и проверкой форматирования?
Решил добить тему с публикацией баз в 1С. К прошлой статье в комментах мне сказали, что опубликовать базу можно даже без графического окружения на Linux. Достаточно только веб сервера и некоторых компонентов сервера 1С для Linux. Мне идея понравилась, решил проверить.

И реально, опубликовать базу и настроить доступ через web можно с использованием обычной консоли и веб сервера apache. Проверил все и реализовал на Centos 8.

Для работы с файловыми базами 1С в таком режиме достаточно любого бесплатного Linux и клиентских лицензий самой 1С. И все, никакой винды. Дальше, если не хватает производительности, покупается только лицензия на сам сервер 1С и настраивается все в режиме клиент-сервер с базой на postgresql с той же публикацией в веб.

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

https://serveradmin.ru/publikacziya-baz-1s-v-centos/

#1с #статья
​​Столкнулся с неожиданной для себя новостью. В современных Windows 10 не получится зайти на сетевую шару без авторизации.

Нужно было быстро получить доступ к файлам на сервере. Поднял самбу и сделал минимальную настройку, открыв доступ для всех к определенной директории.

Очень сильно расстроился, когда не смог зайти на эту шару с Windows 10. Тупо получал ошибку: Error Code 0x80004005 Unspecified error. Ни в логах винды, ни на самбе не было никаких подсказок. Зашел с сервера Windows Server 2012R2, без проблем попал в нужную директорию.

Даже не знал, с чего начать решение проблемы, так как никаких зацепок не было. Просто загуглил ошибку и через некоторое время нашел решение. Оказывается, теперь винда блокирует доступ к шарам без авторизации. Чтобы все-таки зайти на подобный сетевой ресурс, необходимо внести изменения в реестр.

Через консоль с правами администратора проблема решается следующим образом:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1

net stop LanmanWorkstation && net start LanmanWorkstation

После этого на шару зашел. Знали об этом? Странно, но я не слышал. Походу какое-то недавнее нововведение.

#windows #ошибка
​​6 openssl команд, которые должен знать каждый сисадмин

https://www.redhat.com/sysadmin/6-openssl-commands

На днях вышла статья на redhat.com с указанным заголовком. Я периодически читаю материалы оттуда. Эта показалась интересной и полезной, так что решил перевести основное и сохранить себе на память команды. В том или ином виде я их и так знаю, но тут все систематизировано и собрано в одном месте, так что пригодится.

Перед командами ставится echo, чтобы не приходилось после подключения openssl s_client нажимать Ctrl+C, так как клиент по умолчанию ожидает дальнейших команд к серверу. Все команды актуальны для Centos 8 и ее версии openssl. К примеру, в Centos 7 кое-что не будет работать в таком виде, как указано в статье.

Проверка валидности сертификата и базовая информация по нему:
echo | openssl s_client -connect ya.ru:443 -brief
Если с сертификатом какие-то проблемы, то вы получите ошибку Verification error и некоторые пояснения.

Время протухания сертификата:
echo | openssl s_client -connect ya.ru:443 2>/dev/null | openssl x509 -noout -dates
Тут все просто. На выходе две строки - дата выпуска сертификата и дата истечения срока действия.

Просмотр дополнительных свойств сертификата на примере subject alternative name (SAN):
echo | openssl s_client -connect ya.ru:443 2>/dev/null | openssl x509 -noout -ext subjectAltName
Если сертификат поддерживает какие-то альтернативные доменные имена, вы их должны увидеть.

Просмотр поддерживаемых TLS ciphers:
openssl ciphers -s -tls1_3
Вы можете проверить подключение с использованием конкретных cipher и версии tls:
openssl s_client -connect ya.ru:443 -cipher PSK-AES128-CBC-SHA -quiet -no_tls1_3
В данном случае cipher PSK-AES128-CBC-SHA не поддерживается данной версией tls.

Проверка конкретного сертификата:
openssl x509 -text -noout -in /etc/ssl/certs/ca-bundle.crt
С помощью этой команды можно проверить какой-то свой локальный сертификат и получить информацию по нему.

Сгенерировать рандомный пароль:
openssl rand -base64 9
Это просто пример, как можно быстро сгенерировать пароль через консоль. У меня есть более простой и быстрый способ, в результате которого получается что-то вроде этого:
adfhfhtjhsdfvsr
Знаком этот метод?

Предлагаю сохранить эту заметку, чтобы потом не искать команды. Они наверняка пригодятся в ближайшее время, потому что сейчас активно начали прекращать поддержку старых версий tls 1.0 и 1.1. Наверняка что-то где-то начнет ломаться, особенно в почтовых серверах. Для их проверки достаточно поменять порт с 443 на 25 или 587.
Научно-технический рэп - Надо было ставить линукс

https://www.youtube.com/watch?v=W87wOCSPA08

Очень понравилась песня и клип. Внимательно послушал и посмотрел только сегодня. Видеоряд отлично подобран, концовка хороша. Да и сам текст на уровне озвученной темы :) Хотя и не люблю рэп слушать с музыкой в стиле тыц-буц, 3 аккорда 2 струны, но что есть, то есть.

Неважно что ты любишь больше, косинус ли, синус ли
Зачем ты покупаешь Мак, ты хочешь его, сириусли?
Ну да, там для понтов, ну для дизайнеров плюс-минус
Но, надо было ставить что?
Линукс!

#юмор
​​Хочу поделиться своим субъективным мнением на тему того, как нужно подходить к любому делу. Да, эта заметка не имеет прямого отношения к IT, но может оказаться полезнее сотни других тематических. Все сказанное мое персональное мнение, основанное на личном опыте.

Для того, чтобы добиться результата в любом деле, достаточно просто начать делать это дело. Как угодно. Можно без подготовки, можно не зная, как правильно, можно просто руками, даже когда нужен инструмент. Важно только одно - у вас есть цель и вы начали к ней двигаться. Если цель действительно настоящая и вам реально хочется ее добиться, то все получится.

Попутно, решая задачи на пути к цели, вы начинаете учиться, что-то изобретать, придумывать, делать более эффективно и так далее. Идет развитие и движение вперед. Ошибочный подход в данном случае, сначала пойти учиться, а потом что-то начать делать. Может так оказаться, что вам и дело то это не нравится, и учеба не по теме и т.д. Впустую потраченное время и деньги. Так что сначала лучше начать и попробовать, без подготовки.

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

Приведу свои примеры. Я одним днем уволился с постоянной работы на пятидневке и решил, что хочу работать по-другому. Найти несколько компаний, работать преимущественно удаленно со свободным графиком. Задача непростая, так как не так много компаний, которым подходит такой режим. Для того, чтобы полностью закрыть все рабочее время, я несколько месяцев каждое утро открывал 4 сайта с вакансиями, все их просматривал и искал то, что подходит, отправлял отклики, звонил. В первый месяц я не нашел ни одной компании и практически все время сидел дома. Параллельно прорабатывал запасные варианты, но от первоначальной цели не отказывался. Только через месяц появилась первая компания, а через 4 месяца я прекратил поиски и полностью трудоустроился.

Потом я поставил цель раскрутить сайт и выйти на посещаемость в несколько тысяч пользователей в месяц. Для этого я несколько лет регулярно писал статьи хотя бы раз в неделю. Тут не было жесткого требования и графика, но я всегда держал в голове эту цель и старался писать регулярно - 1-2 статьи в неделю. Этого же графика придерживаюсь до сих пор, спустя столько лет.

Чуть меньше года назад поставил цель раскрутить телеграм канал и выйти на стабильную монетизацию и доход с него. Для этого задал себе планку - минимум 2 поста в будний день и вот уже несколько месяцев я строго (вообще ни разу не нарушил) придерживаюсь этого графика. По идее, ничего сложного написать 2 поста в день. Если не пропускать и делать это регулярно, то результат сам придет. Он и пришел. Никаких обучений, никаких курсов, все сам. Просто 2 поста в день.

❗️ Движение к большой цели состоит из маленьких ежедневных шагов, которые можно начать делать прямо сейчас, без подготовки, без обучения, без денежных затрат. Все, что нужно, это начать действовать. Это касается и личной жизни, семьи, строительства дома и т.д. Не буду отсюда приводить примеры, пост и так слишком длинный вышел. Если дочитал, то молодец, у тебя все получится 💪🏻 В современном мире умение читать и понимать длинные тексты уже пол дела на пути к достижению целей и самореализации.

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

https://serveradmin.ru/nastroit-udalennyj-dostup-po-wmi/

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

Такое ощущение, что и тут Microsoft что-то поменяла не так давно, в настройках безопасности. Так что нельзя стало просто так выполнять удаленно wmi. Как нельзя стало заходить под гостевыми учетками на шары.

Утомительно с виндой работать. Постоянно идут изменения в системе (наверно премии менеджерам выдают за внедренные изменения). Будь то различные настройки безопасности или просто обновление расположения настроек в Параметрах. Логи неинформативны.

Конкретно по этой теме при неправильных настройках одна и та же ошибка - отказано в доступе. А каком именно доступе - гадай сам. Может пароль неверный, может удаленные вызовы wmi запрещены, может у юзера прав нет. Ошибка одна и та же. Некоторые подсказки есть в логе аудита. Если учетка верна и у нее хватает прав, хотя бы увидите в аудите прошедшую аутентификацию, а вот проблему авторизации я там не нашел. Пришлось перебирать все возможные варианты. Оказалось, тип сетевого соединения надо было поменять с публичного на частный (еще попробуй найди, где это меняется).

#статья
​​Хочу поделиться с вами отличным бесплатным курсом по Kubernetes на русском языке.

https://www.youtube.com/playlist?list=PL8D2P0ruohOA4Y9LQoTttfSgsRwUGWpu6

Я смотрел некоторые выпуски этой школы и делал анонсы, когда они проходили. Там подробно разобрано ну просто все.

Если у вас реально есть желание изучить Kubernetes и вы готовы потрудиться для этого, данного курса вам будет достаточно, чтобы получить всю базу и даже больше.

Напоминать про зарплаты современных devops инженеров я не буду. Используйте свой шанс на отличный доход. Все в ваших руках!

Программа курса:

1. Ознакомительный вебинар
2. Что такое Docker. Основные команды cli, образ, Dockerfile
3. Docker-compose, Использование Docker в CI/CD. Лучшие практики по запуску приложений в Docker
4. Знакомство с Kubernetes, основные абстракции. Описание, применение, концепции. Pod, ReplicaSet
5. Deployment, Probes, Limits/Requests, Rolling Update
6. ConfigMap, Secret, Service, Ingress, PV, PVC
7. Устройство кластера, основные компоненты и их взаимодействие
8. Как сделать кластер k8s отказоустойчивым. Как работает сеть в k8s
9. Kubespray, тюнинг и настройка кластера Kubernetes
10. Продвинутые абстракции Kubernetes. DaemonSet, StatefulSet, Pod Scheduling, InitContainer
11. Продвинутые абстракции Kubernetes: Job, CronJob, RBAC
12. Публикация приложений
13. Helm
14. Организация хранения данных в кластере кубернетес на примере Ceph
15. Disaster Recovery Kubernetes
16. Обновление кластера
17. Траблшутинг кластера
18. Мониторинг в Kubernetes
19. Логирование в Kubernetes. Сбор и анализ логов
20. Требования к разработке приложения в Kubernetes
21. Докеризация приложения и CI/CD в Kubernetes
22. Observability — принципы и техники наблюдения за системой

#обучение #бесплатно
​​Ранее я уже делился с вами информацией о различных автоматизированных vpn сервисах, которые можно развернуть у себя на сервере. Посмотреть их можно по тегу #vpn. Сегодня пополню копилку этих программ еще одной, которая имеет принципиальное отличие от предыдущих.

Речь пойдет об Outline VPN. Это набор инструментов для построения и использования vpn туннелей на базе технологии Shadowsocks. Она считается более легковесной в сравнении с тем же openvpn и при этом лучше маскируется и обходит различные блокировки. Придумали ее в Китае для обхода китайских блокировок. Так же из плюсов - для работы не нужны праава админа.

Сам по себе Outline это набор инструментов, с помощью которых вы можете развернуть VPN на своем сервере. Для этого отдельно скачивается приложение, с помощью которого вы будете управлять своим сервером - добавлять, удалять пользователей, задавать ограничения, смотреть статистику и т. д. Само приложение поддерживает автоматическую установку и настройку сервера на базе популярных провайдеров - DO, AWS, GCP.

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

Для подключения к VPN серверу отдельно ставится клиент, который есть под все популярные ОС, в том числе и смартфоны. Теоретически, из-за того, что используется Shadowsocks, работа vpn тоннеля должна расходовать меньше заряда батареи, чем при openvpn.

Проект с открытым исходным кодом, живет на гихабе - https://github.com/Jigsaw-Code/?q=outline Сайт проекта -https://www.getoutline.org/ru/ Вроде как в компании, которая его разрабатывает, имеет отношение Google - Jigsaw is an incubator within Google that uses technology to address geopolitical issues.

Я развернул у себя и протестировал программу. Ставится и настраивается очень просто, затруднений у меня не возникло. После подключением клиентом при браузинге внешний ip заменятся на серверный. Собственно, больше ничего и не требуется. Трафик заворачивается в Tap Adapter, который устанавливает клиент в систему.

В целом, неплохая штука для персонального обхода блокировок, в том числе и на смарте. Легко и быстро настраивается. Достаточно на смарт поставить приложение и отправить себе ссылку для подключения, например через телегу. А в клиенте эту ссылку ввести. И все, он подключится к vpn серверу. Я его оставил у себя на смартфоне, попробую.

#vpn
​​Хочу поделиться небольшой историей из практики. У меня есть Zabbix Server с базой данных примерно на ~7Gb и поступлением новых значений в количестве ~40 штук в секунду. Как вы видите, обычный ничем не примечательный по нагрузке сервер, обслуживающий небольшую инфраструктуру из нескольких десятков серверов и сетевого оборудования.

В какой-то момент после очередного обновления Zabbix и остальных компонентов сервера, он регулярно стал подвисать на пару минут. Зависал именно сервер Zabbix. Из-за этого у него срабатывали все триггеры, которые были завязаны на недоступность более одной минуты. Работал сервер на виртуальной машине с 4CPU и 4Gb оперативы.

Случалось это примерно раз в сутки, но не точно, с некоторым разбросом +- 30 минут. Началось все это 100% после обновления, но что конкретно повлияло - не знаю. Я подумал, что из-за базы данных, откатил ее на прошлую версию, но не помогло. Так что скорее всего дело было в версии Zabbix сервера, но откатывать не стал, так как нет смысла. Все равно надо работать уже с новой версией и разбираться с ней.

Я сразу заподозрил тормоза базы данных. Начал ее всячески оптимизировать по параметрам, но ничего не помогало. Включил slow log и регулярно там наблюдал очень длинные запросы по 300 секунд как раз в момент появления тормозов. Но запросы самые обычные, которые в другое время отрабатывают быстро. Какой-то криминал или что-то необычное в запросах не видел. В это же время работал housekeeper. Он запускался раз в час, но конкретно раз в сутки он вызывал жуткие тормоза.

Так и не смог выяснить, в чем именно была проблема. Почему housekeeper в какой-то момент стал сильно тормозить после обновления. Навыков профилирования базы данных у меня нет, да и не хотелось много времени тратить на нее. Явно было видно, что тормозит БД, но что конкретно в ней происходит, я не смог выяснить. В самом логе mysql в момент проблем была информация о семафорах.

InnoDB: A semaphore wait:
--Thread 140326798681856 has waited at btr0cur.cc line 1480 for 257.00 seconds the semaphore:
SX-lock on RW-latch at 0x7f9fa032f6e0 created in file dict0dict.cc line 2161

Чего-то однозначного по этим ошибкам нагуглить не смог. С железом все было в порядке, в том числе с дисками. Никто другой на этом сервере не тормозил, а живет там с десяток виртуалок. В итоге проблему решил просто - добавил оперативной памяти вируталке до 8Gb и оптимизировал конфиг mysql под это количество. И все как рукой сняло. Больше никаких проблем и зависаний.

Кто-то может подсказать, что это было, как диагностировать и решать подобные проблемы? Мониторинг самого севера тоже был, в том числе и mysql с дефолтным шаблоном от zabbix. Открывал все метрики, что находил, сопоставлял, но ничего особенного там не видел. Какого-то катастрофичного disk io wait, который я ожидал увидеть, там не было.

У меня сложилось впечатление, что раз в сутки housekeeper запускал какую-то масштабную чистку, которую я просто не мог отследить по slow log, чтобы понять, что это реально она. И на эту чистку не хватало ресурсов сервера, поэтому все подвисало.

#zabbix
​​На днях обновился хорошо себя зарекомендовавший и давно известный мне продукт - Proxmox Mail Gateway 6.4. Это бесплатный почтовый шлюз, который можно поставить перед своим основным почтовым сервером. Он может существенно снизить нагрузку на основной сервер, потому что под капотом имеет антиспам и другой полезный функционал. Работает на базе postfix.

Вот основной список того, что в нем есть:
1️⃣ Бесплатный антиспам (SpamAssassin) и антивирус (ClamAV).
2️⃣ Различные инструменты фильтрации на базе черных и белых списков, spf и dkim записей, байесовский фильтр, greylisting и др.
3️⃣ Подробные логи и графики для основных почтовых метрик и писем.
4️⃣ Возможность настройки HA Cluster (не настраивал).
5️⃣ Различные правила сортировки, обработки, пересылки писем.

Proxmox Mail Gateway работает надежно, предсказуемо, просто. Все это за счет стандартных инструментов, привычных в инфраструктуре на базе postfix. При желании, можно в логах и потрохах конфигов покопаться, если что-то не понятно. Я успешно подсматривал какие-то настройки из этого шлюза для применения в своих основных серверах.

Нет проблем внедрить этот шлюз в уже существующую почтовую систему. Просто меняете dns настройки на шлюз, а с него почту пересылаете на основной сервер. Не понравится - вернете все обратно.

Пользовались у себя этим шлюзом? Или может быть неплохим аналогом? Я лично аналогов и не знаю никаких. Если только самому что-то настраивать похожее. Но какой смысл, если есть уже готовое?

#mailserver
​​Думаю, нет такого человека в IT, кто не слышал бы об облачном провайдере Amazon или AWS. У него есть достаточно привлекательный набор бесплатных сервисов, которыми можно пользоваться в течении 12 месяцев. А это, ни много, ни мало, целый год.

А кое-что предлагают бесплатно вообще навечно. Я свой trial давно уже использовал, а регистрировать новую учетку лень. К тому же у меня успешно работает халява от oracle cloud. Если вам с ним повезло меньше, чем мне, то попытайте счастье с амазоном. Можно получить виртуалорчку в Европе под прокси или vpn.

Вот список того, что предлагает бесплатно AWS на 12 месяцев:

 🔹 Один инстанс t2.micro. Это обычная виртуалка с одним условным CPU и 1Gb оперативной памяти.
 🔹 5Gb файлового хранилища S3.
 🔹 Один инстанс db.t2.micro для сервиса с базой данных. То есть это условно готовая виртуалка с уже настроенной базой данных, к которой вы просто подключаетесь и не лезете внутрь. База как сервис.
 🔹 50Gb сервиса CloudFront. Это сеть доставки контента CDN. Можете статику со своего сайта на ней разместить или как-то еще использовать.
 🔹 5Gb сервиса Amazon EFS. Это файловое хранилище совместного доступа, которое можно подключать к виртуалкам. Можете подключить к своей бесплатной виртуальной машине.

Там есть и другие сервисы. Я перечислил только то, что мне показалось интересным. Подробнее можете сами по ссылке посмотреть - https://aws.amazon.com/free.

А вот, что они предлагают навечно:

 🔹 25Gb Amazon DynamoDB. Это их NoSQL база данных.
 🔹 1 миллион запросов в месяц в AWS Lambda. Это их сервис serverless вычислений. Между прочим, в теории это то, что придет на смену контейнерам в будущем. Кто не успел на этот поезд запрыгнуть, не старайтесь, уже поздно. Идите сразу в serverless.
 🔹 10Gb в месяц в Amazon Glacier. Это одно из их файловых хранилищ. Отличается низкой стоимостью хранения, но высокой стоимостью извлечения данных.
 🔹 62 тысячи сообщений в месяц в Amazon SES. Это их сервис по отправке email. Бесплатно только при использовании где-то на сервисах внутри самого AWS.

Для регистрации, как обычно, понадобится действующая пластиковая карта. Я не рекомендую подключать что-то с реальными деньгами. Придумайте какую-то хитрость, чтобы Амазон потом не смог при желании что-то списать с этой карты. Либо виртуалку пробуйте, либо обнуляйте карточку и не храните на ней деньги. Хотя лично у меня проблем никаких не было. После триала зашел и все удалил. Денег никаких не взяли.

#бесплатно