Автоматизация мониторинга распределенной сети...

Post on 14-Apr-2017

10.540 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Автоматизация мониторингараспределенной сети подразделений

Самосват Николай

О компании «Магнит»• Сеть магазинов «Магнит» - ведущая розничная сеть по торговле

продуктами питания в России

• Магазины розничной сети «Магнит» расположены в 2 361 населенном пункте Российской Федерации.

• Зона покрытия магазинов растянулась от Пскова до Нижневартовска, и от Архангельска до Владикавказа.

Филиалы80 подразделений1 000 хостов

Головной офис3 ЦОДа2 000 хостов

Распред. центры40 подразделений4 000 хостов

Гипермаркеты380 подразделений 40 000 хостов

Магазины15 000 подразделений300 000 хостов

Экземпляры

Архитектура системы мониторингаZ-Server + Z-DB:IBM x3650 M4

Мониторинг ГипермаркетовZabbix• Proxy – 380• Hosts – 40 000• Items – 560 000• Triggers – 200 000• Users – 1 000• NVPS – 2 400

ЗадачаИсключить рутинные операции:• Добавление новых подразделений• Настройка мониторинга хостов • Управление получателями оповещений

APIСкрипты автоматизации 4 php scriptscron – every 2h

Общая схема - Источники данныхVPN CONTROLУправление каналами связи подразделений

ACTIVE DIRECTORYАтрибуты подразделений, хостов, пользователей

HOSTS.CSVМатрицанастройки хостовна подразделениях

HELP DESKУправление специалистами тех. поддержки

Скрипт UNITSОбщая схема – Создание объектов

Скрипт HOSTSСкрипт USERS

Скрипт VHOSTS

ProxyDiscoveryGroupsVisible nameTemplatesinterfacesName & AliasMedia TypesGroupsHostTemplatesMacros

Скрипт

1 -UN

ITS

Создание записей о подразделенииЗапрос списка подразделений

Список кодов [CODE]подразделений

VPN CONTROL- Код подразделения- Список провайдеров- Состояние VPNСоздание / обновление

- Zabbix Proxy

- Host group- Discovery rule

Поиск OU содержащего[CODE] в имени

Атрибуты подразделения

ACTIVE DIRECTORY- Имя подразделения- Сеть подразделения- Часы работы

- User group- Maintenance period

Результат работы скрипта UNITSПри появлении в сети компании нового подразделения ГМ Простоквашино с кодом 992233• Запись о zabbix-proxy с именем [CODE]: 992233• Правило обнаружение: 992233 (ГМ Простоквашино)Подсеть: 10.1.1.0/23Работа через прокси: 992233

• Создан период обслуживания: 992233 (ГМ Простоквашино)Интервал: с 23 до 23:30Для группы хостов: 992233 (ГМ Простоквашино)

• Группа хостов c именем [CODE]([Name]): 992233 (ГМ Простоквашино)• Группа пользователей с именем «Получатели [CODE]([Name])»Получатели 992233 (ГМ Простоквашино)

Тем временем на подразделении

1. Тех. поддержкой развернут сервер, с предустановленным Zabbix-Proxy2. Автоматически настраивается Zabbix-Proxy

echo Hostname=[CODE] >> /etc/zabbix/zabbix_proxy.confsystemctl restart zabbix-proxy

3. Начинается сетевое обнаружение хостов3. Все обнаруженные хосты добавляются в состоянии «Деактивирован»

Результат работы сетевого обнаруженияОбнаруженные хосты имеют:1. Неюзабельное имя = [system.hostname] или [IP]BKP99223310.2.3.42. Деактивированное состояние3. Включены только в группу Discovered hosts4. Отсутствуют метрики и триггеры

APIСкрипты автоматизации 4 php scriptscron – every 2h

Источники данных – HOSTS.CSVVPN CONTROLУправление каналами связи подразделений

ACTIVE DIRECTORYАтрибуты подразделений, хостов, пользователей

HOSTS.CSVМатрицанастройки хостовна подразделениях

HELP DESKУправление специалистами тех. поддержки

Матрица хостов (HOSTS.CSV)

IPADDR IPMI SNMP PREFIX GROUP TEMPLATExxx.xxx.xxx.1 0 0 Terminal Серверы - Terminal TMPL_TERMxxx.xxx.xxx.2 1 1 Backup Серверы - Backup TMPL_BACKUP… … … ... ... ...xxx.xxx.xxx.130 0 1 Wi-Fi Оборудование - Сеть TMPL_WIFI... ... ... ... ... ...xxx.xxx.xxx.210 0 0 ПК Рабочие станции TMPL_WS

• Инфраструктура всех подразделений стандартизирована.• Сервера и оборудование на подразделении настроено согласно стандарта IP-адресов.

Обработка хостов после обнаружения

Формируем массив с данными матрицы хостов

Поиск OU содержащего подсеть в атрибутах

Получение атрибутов

HOSTS.CSV- 4-й октет IP-адреса- Интерфейсы- Префикс- Группа- Шаблон

ACTIVE DIRECTORY- Имя подразделения- Код подразделенияСкр

ипт 2 -

HOSTS

- Видимое имя хоста

- Добавление интерфейсов- Добавление в группы

Получение 2 списковхостов с их IP-адресами

Запрос списков хостовгрупп «Discovered hosts»и «Обработано»

Обновление хостов:

- Назначение шаблонов

Читаем файл

Результат работы скрипта HOSTSВсе обработанные хосты имеют:1. Видимое имя [PREFIX] [CODE] [NAME] Backup 992233 (ГМ Простоквашино)2. Дополнительные интерфейсы SNMP IPMI JMX, по необходимости

4. Включены в группы: - по территориальному признаку: 992233 (ГМ Простоквашино)- по функциональному признаку: Серверы – BACKUP- служебную Обработано5. Назначенные шаблоны:TMPL_BACKUP

3. Активированное состояние

Управление пользователями

Поиск объекта c нужнымemail в атрибутах

Логин и ФИО пользов.

HELP DESK- Email- Телефон- Должность- Подразделение

ACTIVE DIRECTORY- sAMAccountName- Ф.И.О.Скр

ипт 3 -

USERS

- УЗ пользователя- Добавление в группы- Медиатипы

Список групппользователей«Получатели [CODE]»

Запрос списка групппользователей«Получатели [CODE]»

Создание / обновление

Запрос пользователейпринадлежащих подразделению [CODE]

Список пользователейподразделения CODEс атрибутами

Результат работы скрипта USERS

• Пользователи могут логиниться в Zabbix под доменной УЗ• Пользователям назначены актуальные медиатипы (sms+email)• Пользователи включены в различные группы: - по территориальному признаку: Получатели 992233 (ГМ Простоквашино)- по должностям: СистемотехникиНачальники отделовРегиональные руководители

• В Zabbix присутствуют все пользователи технической поддержки ГМ (около 1 тыс)

Скрипт

-VHO

STS

Виртуальные хостыЗапрос данных о провайдерах

Код подразделенияИмена провайдеров

VPN CONTROL- Код подразделения- Список провайдеров:ИмяНомер канала

Создание/обновление

- Назначение шаблонов- Макросы хоста с именамипровайдеров

Поиск OU содержащего[CODE] в имениИмя подразделения

ACTIVE DIRECTORY- Имя подразделения- Код подразделения

- Включение в группы

Запрос списка хостовпо маске providers*

Получение списка хостов

- Видимое имя

Результат работы скрипта VHOSTSВсе обработанные хосты имеют:• Видимое имя на основе Провайдеры [CODE] [NAME] Провайдеры 992233 (ГМ Простоквашино)• Актуальные имена провайдеров, задаваемые через макросы хоста{$PROV-1} = SkyNet{$PROV-2} = Virgin

• Включены в группы: - по территориальному признаку: 992233 (ГМ Простоквашино)- по функциональному признаку: Оборудование – Провайдеры

• Назначенные шаблоны:TMPL_PROV-1TMPL_PROV-2

ИТОГОВЫЙ РЕЗУЛЬТАТПолностью автоматически:• Создаются «подразделения» в Zabbix• Настраиваются хосты на подразделениях (как реальные так и виртуальные)• Создаются пользователи, получающие уведомления по подразделениям

Требуется ручная работа:• Создание или корректировка шаблонов• Корректировка матрицы хостов (hosts.csv)

Спасибо !Вопросы ?

Самосват Николайnikolay@samosvat.pro

top related