Puppet - Создаем кастомные факты

Привет всем. В рамках данной заметки хотелось бы поделиться опытом использования кастомных, или как их еще называют внешних (external). Перед каждым запросом к серверу, puppet-агент собирает все факты о системе при помощи улититы facter. Далее эти факты будут переданы на puppet-мастер, который в свою очередь опираясь на полученные факты сгенерит и отправит puppet-агенту обновленный каталог. В больших инфраструктурах бывает недостаточно использования стандартного набора фактов, и дефолтный список дополняют внешними. Мой случаи описывает ситуацию, в которой требуется расширить возможности hiera, за счет логического разделения инфраструкруты по запущенным сервисам, путем добавления дополнительных фактов. ...

December 18, 2023 · 4 min · 651 words · Tony

Cloudflare - обновляем запись в DNS

Привет всем, У меня есть один проект, который представляет из себя сетап в два сервера с обычным LAMP-стеком. Оба сервера разнесены по разным хостинговым площадкам. Ранее на этих серверах поднял site-to-site vpn, и настроил репликацию сервисов и базы данных. На текущем этапе встал вопрос, а как настроить файловер между серверами? - Что бы при проблемах на одном сервере, пользовательский трафик перекинулся на резервный. Единственное решение, как сказал мой один коллега - дешево и сердито, это настроить фейловер на уровне dns. ...

December 3, 2023 · 5 min · 1030 words · Tony

Обновление Exchange 2010 - Ошибка 1603

Привет всем, Решил выложить одно из решений проблемы установки обновления Exchange 2010 на SP3, по причине которой не спал два дня, в поисках решения =) В момент обновления старой версии exchange 2010 sp1 на sp3, стал ловить ошибку обновления на поинте апгрейда - Remove Exchange Files. Если вы ловите эту ошибку, то скорее всего когда-то с вашего сервера были удалены msi-ки. И инсталятор, в процессе апгрейда может попросить их подкинуть, указать путь к ним. Тогда все пройдет гладко. ...

November 22, 2023 · 1 min · 200 words · Tony

Подключаем PuppetDB + Puppet Dashboard

Привет всем, Продолжаем практиковаться с puppet, и в рамках этой заметки дополним нашу инфраструктуру новыми компонентами - PuppetDB и Dashboard. Настройка PuppetDB PuppetDB - по сути это отдельный модуль, представляющий из себя хранилище puppet. Все данные помещаются в базу на postgresql. И в дополнение после внедрения puppetdb, нам открывается возможность взаимодействия посредством API. В базе хранятся данные: Последние факты по всем узлам; Последний католог каждого узла; Ну и опционально, есть возможность хранения отчетов по каждому хосту. Установка PostgreSQL Для начала настроим postgresql, и создадим новую базу данных. В документации рекомендуют устанавливать 11 версию postgresql или выше. ...

November 13, 2023 · 11 min · 2187 words · Tony

Puppet - интеграция Hiera

Всем привет, В продолжении знакомства с puppet, хотелось бы сегодня поделиться примером использовании такого замечательного дополнения, как hiera. Немного теории Hiera - это уже встроенный в puppet компонент позволяющий определить переменные или классы под определенные сервера или на группу серверов. В более ранних версиях puppet, для использования иерархии, требовалось подключать hiera как плагин. Затем в последующих версиях она была включена, так скажем в ядро puppet. Название компонента hiera обусловлено иерархической структурой, с помошью которой мы можем определить общие классы и переменные для всех хостов или определенной группы хостов. Или же можем определить классы и переменные точечно для каких-то хостов. ...

November 9, 2023 · 9 min · 1821 words · Tony

Обучаем Alertmanager отправлять в телеграмм топик

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

November 4, 2023 · 4 min · 851 words · Tony
aix-disk-load-wall.webp

AIX - Мониторим загрузку дисков

Привет всем, Сегодня хотелось бы поделится заметкой, относительно мониторинга дисковой подсистемы в AIX. В моей случаи aix сервера мониторятся через заббикс. И дефолтный шаблон, который идет из коробки, весьма урезан. Установка zabbix-agent Для начала установим zabbix-агент на сервер. Идем на сайт zabbix, и качам готовый rpm с агентом. Спускаемся ниже, там будут доступные ссылки на скачивание: Скачанную rpm переносим на сервер, и устанавливаем агента: root@aix01:/opt/AIX-Toolbox-Linux> rpm -Uhv zabbix-agent-6.0.17-1.aix7.2.ppc.rpm Preparing... ################################# [100%] Updating / installing... 1:zabbix-agent-6.0.17-1 warning: /etc/zabbix/zabbix_agentd.conf created as /etc/zabbix/zabbix_agentd.conf.rpmnew ################################# [ 50%] Cleaning up / removing... 2:zabbix-agent-6.0.3-1 ################################# [100%] root@aix01:/opt/AIX-Toolbox-Linux> Отредактируем конфигурационный файл zabbix-agent, изменив только адрес zabbix сервера. ...

October 2, 2023 · 4 min · 815 words · Tony

Puppet - добавляем кросс-платформенности в модуль

Привет всем, возможно вы читали прошлый пост об использовании puppet. И там в качестве первого примера мы писали модуль, который ставит zabbix-агентов на хосты. Там есть нюанс, этот модуль будет работать только с rhel-based операционными системами, а что если у нас огород из Debian/Ubuntu и Rhel? - Для решения этой задачи модифицируем ранее написанный модуль, добавим так сказать кроссплатформености. Готовим новый хост Для тестов, к текущей инфраструктуре добавил новую ноду на ubuntu22.04 (puppet-node03). Подготовим новую ноду, и заинставим на нее puppet-агента. ...

September 11, 2023 · 7 min · 1313 words · Tony
puppet-setup-wall.png

Puppet - основы и интеграция

Привет всем, Сегодня хотел бы поделится вводной информацией, относительно того как начать использоваться puppet. Итак, как многим уже известно Puppet - система управления конфигурацией кучки хостов. С его помощью мы можем приводить и поддерживать хосты в нужном нам состоянии. Как работает puppet Puppet, в отличии от ansible, работает по pull модели. Хосты на которых устанавливается puppet-агент, каждые пол часа обмениваются информацией с puppet-мастером для получения новой конфигурации. При этом клиенты puppet отправляют факты о себе мастеру. И в случаи наличия изменений применяют их у себя локально. ...

August 30, 2023 · 13 min · 2660 words · Tony

Настройка NTP для ntp-pool

Привет всем, В этой заметке хочу продемонcтрировать настройку ntp-сервера для дальнейшего его включения в пуул - ntp.org. Вообще, самой организацией pool.ntp.org рекомендуется сетапить минимум 3 сервера, но для моей итак не большой виртуальной инфры это избыточно. Поэтому будем настраивать 1 сервер. Итак, у меня есть свеже установленный сервер с freebsd. На этот сервер через пограничный микротик занатирован порт - 123/UDP. По ssh подключаюсь на сервер и ставлю пакет - ntp: ...

July 25, 2023 · 3 min · 488 words · Tony