ServerAdmin.ru
26.6K subscribers
202 photos
24 videos
8 files
2.48K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Недавно обращался в тех. поддержку Яндекса по поводу работы их почты с прикрепленного домена. Много лет все было в порядке, а с недавнего времени стала через раз доставляться в gmail. Тот футболил ее, как похожую на спам, хотя похожа она не была.

В DNS не была добавлена запись с DKIM, поэтому тех. поддержка рекомендовала ее добавить. Вообще, я думал с Яндекса и так траст большой, должно и без dkim работать. Оно и работало всегда, а потом перестало.

Но не суть. Рассказать то я хотел не об этом. Тех. поддержка для проверки корректности настроек записей прислала ссылку на онлайн сервис - https://digwebinterface.com. Хотя подобных сервисов навалом, конкретно тут понравилось вот что:

1️⃣ Можно сформировать ссылку, в которой уже будут заполнены различные параметры. Как раз подобную ссылку тех поддержка и отправила.

2️⃣ Можно вывести синтаксис утилиты dig и проверить результат где-то на другом linux сервере.

3️⃣ Можно быстро выбирать из списка наиболее популярные dns серверы.

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

#сервис
Забавная переозвучка на айтишную тематику фрагментов фильма "Волк с Уолл-стрит". Странно, что это видео с более чем 3-мя миллионами просмотров раньше мне не попадалось. Посмотрел первый раз. Не скажу, что прям сильно-сильно понравилось, но в целом качественно сделано. Некоторые перлы особенно хороши.

- Да, малыш, сделай мне больно!
- Goto в коде программы.
- Ааааа, это чересчур.

- Заходим мы, значит, к ней, и тут она показывает новенький Invasion. Аэрография, подсветка, водяное охлаждение...
- Я всё подключил, поставил для теста Батлу. И ты не поверишь - на ультрах стабильно 60 fps.
- Эх ты, а говоришь, не тупой - Ведьмака надо было ставить.

и т.д. В общем, рекомендую к просмотру.

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

#юмор
Я уже много лет использую систему для совместной работы и редактирования документов onlyoffice. По сути, это аналог Google docs, только его можно установить на свой собственный сервер. При этом есть полнофункциональная бесплатная версия, которая закрывает многие типовые потребности в работе с документами.

У меня накопился некоторый опыт по эксплуатации этой системы, поэтому решил поделиться и оформить в статью. Возможно будет развитие темы.

https://serveradmin.ru/ustanovka-i-nastrojka-onlyoffice/

#onlyoffice #docs
Посмотрел интересное выступление PostgreSQL на K8s в Zalando: два года в бою и решил поделиться основными моментами, на которые обратил внимание лично я. Меня интересует тема баз данных, потому что считаю ее одной из ключевых в построении отказоустойчивых систем. И при этом хуже всего проработанной, так как до сих пор нет простого, удобного, надежного кластерного решения. Приходится пробовать разные варианты и везде соглашаться на какие-то компромиссы.

В видео рассказывается, как крупная компания переехала в кластер Kubernetes и перенесла туда почти все свои базы данных Postgresql. Вот на что обратил внимание лично я:

1️⃣ Внедрение микросервисов привело к тому, что появились сотни отдельных кластеров БД под каждый микросервис. За удобство разработки пришлось заплатить такой ценой. Можно представить, какой там перерасход железа идет на все эти микросервисы и абстракции вокруг них. Да еще и отдельный кластер для каждого сервиса. Хоть они чаще всего очень маленькие по объему, но тем не менее.

2️⃣ Для самых нагруженных и объемных кластеров приходится как и раньше использовать традиционные кластера на железе. То есть в итоге имеем переусложненную инфраструктуру под базы данных, где присутствуют кластеры в кубернетисе и на железе одновременно.

3️⃣ Для k8s есть вполне надежный failover postgresql - patroni.

4️⃣ Администраторам кластеров баз данных приходится регулярно вставать по ночам и решать проблемы. Зачем так жить 😱

#видео
Тайм-менеджмент для системных администраторов

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

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

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

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

Ведешь где-то отдельно список дел?
Разбирался на днях с редиректами в Nginx. Раньше особо не придавал им значения. Работают, да и ладно. Но как оказалось, иногда одновременно по несколько 301-х редиректов срабатывают, что не очень хорошо для SEO. Рассмотрел несколько типовых ситуаций, где несколько редиректов объединяются в один.

https://serveradmin.ru/nginx-redirect/

#nginx #webserver
​​Вы знали, что существует аналог Teamviewer, только для консоли linux? Я буквально на днях узнал и попробовал - teleconsole. Использовать очень просто. Скачиваем и распаковываем на оба сервера бинарник с github:

# wget https://github.com/gravitational/teleconsole/releases/download/0.4.0/teleconsole-v0.4.0-linux-amd64.tar.gz
# tar xzvf teleconsole-v0.4.0-linux-amd64.tar.gz

Теперь на сервере запускаем утилиту:

# ./teleconsole

А на клиенте подключаемся, используя полученный id:

# ./teleconsole join eu473dd9d49ca17d1f4ccbbc8

В консоли сервера и клиента видны выполняемые в любой из сторон команды. Ко всему прочему, подключиться к консоли можно прямо через браузер по ссылке вида https://eu.teleconsole.com/s/473dd9d49ca17d1f4ccbbc87fcecf80a45043da7

#программа
​​При настройке нового linux сервера я всегда ставлю на него утилиту screen. Как минимум для того, чтобы запускать обновление только через screen и рекомендую вам поступать так же. Обрыв соединения во время обновления может привести к проблемам вплоть до того, что после ребута сервер не загрузится. Например, из-за того, что корректно не соберется обновленный initramfs.

Так же с помощью screen я немного упрощаю управление серверами, где я единственный администратор. При подключении к серверу у меня запускается screen с тремя окнами 1, 2, 3. Первое окно автоматически переходит в каталог /, второе в /etc, третье в /var/log. Я осмысленно назвал эти окна: Main, etc, logs соответственно. Внизу находится строка состояния, в которой отображен список всех открытых окон и подсвечено активное окно.

Переключаюсь между окнами с помощью стандартных горячих клавиш screen: ctrl+a 1, ctrl+a 2, ctrl+a 3. Я специально изменил нумерацию, чтобы она начиналась не с 0 по-дефолту, а с 1. Так удобнее на клавиатуре переключать окна. Кнопка 0 находится слишком далеко от 1 и 2.

А вы что используете, screen или tmux?

#утилита
Нужен или нет swap?

Часто вижу обсуждения на тему того, нужен ли сейчас swap и стоит ли его подключать в систему. Я лично всегда подключаю swap небольшим отдельным файлом, если нет четких требований на этот счет. Почему файлом, а не разделом? Вопрос чистого удобства. Файлами проще оперировать, а реально используется swap редко, так что вопрос разницы быстродействия не актуален.

Очень подробно эта тема рассмотрена в известном переводе - https://habr.com/ru/company/flant/blog/348324/ Я не буду повторять и пересказывать материал, рекомендую его прочитать самостоятельно.

На основе этого и некоторых других материалов, я для себя давно решил, что в целом со swap система будет работать немного стабильнее, поэтому по умолчанию его оставляю.

А вы подключаете swap на linux сервере?

#совет
​​Есть одна интересная команда, которая принудительно и моментально отправляет linux сервер в перезагрузку. Эффект аналогичен нажатию на кнопку reset:

echo b > /proc/sysrq-trigger

Несколько раз приходилось пользоваться в недавнем прошлом, когда пытался перезагрузить виртуальную машину с Zabbix Server. Отправлял ему штатную команду reboot и он просто зависал минут на 30-60 на этапе завершения работы. Там то ли подключения к базе подвисали, то ли что-то еще, уже не помню точно. У меня даже в комментариях к статьям по zabbix упоминали эту проблему. После очередного обновления все прекратилось.

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

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

Знали про такую возможность?
​​Хочу затронуть вечную тему про бэкапы, но немного в нестандартном ключе. Мне регулярно приходится выполнять задачи, результаты которых неплохо было бы забэкапить. Иногда это не входит в мои обязанности. Либо бывает так, что заказчик откладывает решение вопроса с бэкапами, не придавая ему большого значения.

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

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

⚡️ Но в один прекрасный день все упало и умерло. В том числе и инфраструктура с бэкапами. Я не вдавался в подробности, что в итоге было. Вроде СХД загнулась, где все мое хранилось. Спасло положение то, что я всегда в конце трудового дня выгружал к себе все шаблоны, карты, схемы, хосты и т.д., с которыми работал в zabbix. Имея эту информацию, удалось малой кровью все восстановить и продолжить настройку.

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

#заметка #backup
This media is not supported in your browser
VIEW IN TELEGRAM
Решил шуткануть в пятницу и сделал видеомем. Современные технологии видеомонтажа хорошо продвинулись вперед. Не надо ломать голову над реализацией, была бы идея.

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

Застали такие времена?
😂 Еще немного юмора в пятницу только уже от специалистов. Видео с того же канала, что было в прошлый раз. Как оказалось, там много всего любопытного, в том числе и на IT тему. Я конкретно подзавис на этом канале. Правда понравилось не так много озвучек. Эта вроде вяленько начиналась, но после середины нормально зашло. В общем, рекомендую.

- Для пользователей нет ничего невозможного!

- Настрой сеть, установи браузер, запароль Wi-FI, почисти кэш, обожми кабель, ребутни роутер, поменяй краску на принтере, напиши сайт, программу, мануал, второй том "Мёртвых душ" и всё это за первый час рабочего дня!

- То, как вы перепутали блокнот с вордом и умудрились картинки вставить в текст, - моё почтение!

- Я вообще здесь работаю юристом. Будь проклят тот день, когда по доброте душевной я переустановил в этой организации винду.

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

#юмор
​​Я обычно не обращаю внимание на нападки и претензии к себе в комментариях, хотя получаю их регулярно. На днях один товарищ вообще написал, что я недостоин называться сисадмином и он бы меня уволил 😪

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

Человек решил свою проблему, не поленился прийти на сайт и высказать свое ФИ из-за того, что я не согласился решать ее вместе с ним, тратя свое время не только на написание статей, но и на решение проблем читателей.

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

Как вам такая логика? В общем, не будьте такими и не жмите знания. Как гласит одна восточная мудрость — чтобы получить новые знания, нужно поделиться теми, что есть у тебя с другими. Это работает в отношении всего в нашем мире - материальных вещей, эмоций, знакомств и др.
​​У меня появилась задача по запуску приложений Android на обычных VPS. Мне казалось, что это простая задача, так как краем глаза видел всевозможные эмуляторы Android, но на деле все оказалось не так просто.

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

В итоге нашел то, что работает - MEmuplay. Я не знаю, насколько он хорош по сравнению с другими, и работают ли на нем игры. Мне он нужен для других целей. Это единственный эмулятор, который без проблем заработал на VPS с Windows 10.
Продолжаю делиться своим опытом по использованию onlyoffice. В данной статье рассказываю, как обновлять старые версии и как переходить с версии, установленной из пакетов, на версию, установленную из docker контейнеров.

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

https://serveradmin.ru/perenos-i-obnovlenie-onlyoffice/
Мониторинг Docker с помощью Zabbix, используя Kubernetes

Завтра утром, в 10:00, будет любопытный вебинар по Zabbix. Меня заинтересовала тема, постараюсь посмотреть, если ничего не отвлечет.

Вебинар поможет рассмотреть один из возможных сценариев мониторинга системы контейнеризации Docker CE, указать плюсы и минусы предлагаемого подхода.

Регистрация - https://us02web.zoom.us/webinar/register/WN_oc5wuB6wR4WbXQ643uGmOQ
​​Хочу рассказать о маленькой и полезной утилите, с помощью которой можно быстро нагрузить виртуальную машину так, как вам нужно. Называется она stress и обычно присутствует в стандартных репозиториях linux. В Centos она живет в репе epel, поэтому быстро ставится.

# dnf install epel-release
# dnf install stress

Мне лично она нравится тем, что с ее помощью можно быстро проверить настроенный мониторинг. Например, вот такой командой можно плотненько нагрузить виртуалку с 2 cpu и 4G ram, заняв ровно 3G памяти:

# stress --cpu 2 --io 2 --hdd 2 --vm 3 --vm-bytes 1G --vm-keep -t 60s

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

В целом, ничего особенного, но из-за того, что stress быстро ставится и везде есть, а так же имеет ограниченный набор простых и понятных параметров, позволяет быстро проверить то, что вам необходимо.
▶️ Посмотрел крайне интересное выступление Евгения Потапова (ITSumma) - Мониторинг сложных систем в 2019 году. Мне близка тема мониторинга, поэтому я с удовольствием прослушал доклад опытного и очень компетентного человека. В видео нет каких-то конкретных технических советов и решений, но даны фундаментальные, базовые подходы к мониторингу сложных систем.

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

1️⃣ Мониторинг инфраструктуры с помощью Zabbix и т.д. последнее, с чего надо начинать построение полноценной системы мониторинга. Наблюдение за инфрой можно вообще вывести в отдельную подсистему. Это самое простое и настраивается чаще всего автоматически.

2️⃣ Начинать мониторить нужно с элементов, с которыми взаимодействует пользователь (например, авторизация в ЛК, работа корзины и т.д.). Вы должны раньше него узнать о проблемах. Дальше опускаетесь на уровень сервисов (прохождение заказов, работа доставки и т.д.), api, базы данных и в самом низу кластерная и железная инфраструктура.

3️⃣ Мониторить кластер изнутри кластера абсурд. Мониторинг должен быть внешним по отношению к наблюдаемому объекту. Я лично об этом подумал на обучении по kubernetes, где рассматривали мониторинг кластера установкой prometheus внутри кластера. Когда все упадет, мониторинг даже не предупредит вас об этом.

4️⃣ Мониторинг современного программного проекта сам по себе программный проект. И им должны заниматься разработчики. Это объемная работа, съедает примерно 30% их времени. Но без этого полноценного мониторинга и, как следствие, стабильной работы сервисов не будет. Никакой сисадмин или devops в одиночку его не построит. Они не понимают внутреннюю кухню сервисов и их взаимодействие.

5️⃣ Уведомления должны быть строго по делу и персонифицированы. Их не должно быть много и они не должны повторяться много раз. Проблемы по триггерам надо локализовывать и исправлять.

❗️ Как обычно удивился рассказам на тему того, как и когда надо будить людей по ночам, если сработает критически важный триггер. Поражаюсь, что люди соглашаются работать (а они соглашаются) на таких условиях. Это не нормально и так быть не должно. Если сервис важный и не терпит простоя, должна быть всегда дежурная смена в том числе и программистов, способных все исправить. Не позволяйте бизнесу экономить на вас и будить по ночам. Это происходит с вашего согласия.

https://www.youtube.com/watch?v=YpMF28LxVo8
#видео #мониторинг #zabbix
Если ищите новые возможности развития в профессии — присмотритесь к Python.

Я сейчас сам изучаю Python и считаю, что это полезный язык для сисадмина. В Нетологии запустили бесплатный курс «Python-разработка для начинающих», с которого вы можете начать обучение — освоите логику и синтаксис языка, научитесь работать с данными, изучите основные инструменты для написания кода.

Судя по описанию, курс не требует специальных знаний и позволяет сделать свой первый проект за 6 занятий — с нуля разработаете приложение «To do-list» и создадите чат-бота для Telegram на Python.

Курс бесплатный, регистрация по ссылке: http://netolo.gy/fYa

#нативная_реклама