Настраиваем базовый мониторинг виртуальной машины HP 3PAR Virtual Service Processor 4.3.0 (Red Hat Enterprise Linux Server 6.1) на базе System Center 2012 R2 Operations Manager

imageВ прошлой заметке мы упомянули тему интеграции виртуальной машины HP 3PAR Virtual Service Processor (VSP) 4.3.0 в существующую инфраструктуру System Center 2012 R2. В этой заметке мы продолжим эту тему, рассмотрев процесс установки агента Operations Manager (SCOM) в виртуальную машину VSP для обеспечения базового мониторинга операционной системы Red Hat Enterprise Linux Server (RHEL) 6.1. Настройка SCOM и управляемой системы на базе ОС Linux уже рассматривались ранее на примере Ubuntu Server 14.04 LTS. Поэтому чтобы полностью не повторять прошлую заметку, постараюсь изложить те действия, которые будут отличаться от предыдущего описания в силу специфики использования другой версии Linux с учётом “загогулин” VSP.

Информацию о совместимости SCOM c ОС на базе Linux мы сможем найти в документе System Center 2012 Agent Requirements for System Center 2012 R2. На текущий момент в этом документе присутствует информация о поддержке в качестве Operations Manager Linux/Unix Agent систем RHEL 6 (x86/x64). В этой заметке мы установим агента SCOM на версию Red Hat Enterprise Linux Server release 6.1 (Santiago) (Linux version 2.6.32-431.20.3.el6.i686).

Минимальные предварительные требования для работы агента SCOM в Linux можно найти в онлайн-документе Monitoring UNIX and Linux Computers by Using Operations Manager - Supported UNIX and Linux Operating System Versions. Согласно этого документа на RHEL потребуется наличие пакетов (указана минимально требуемая версия):

glibc 2.12-1.7 (C Standard Libraries)
Openssl 1.0.0-4 (OpenSSL Libraries; Secure Network Communications Protocol)
PAM 1.1.1-4 (Pluggable Authentication Modules)

Проверяем версии пакетов на нашем RHEL сервере:

# yum list installed glibc Openssl PAM

Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
Installed Packages
glibc.i686            2.12-1.25.el6                @Red Hat Enterprise Linux/6.1
openssl.i686          1.0.1e-16.el6_5.14           @Service Processor/6.1
pam.i686              1.1.1-8.el6                  @Red Hat Enterprise Linux/6.1

***

Подключаемся к консоли SCOM и устанавливаем пакет управления Management Pack (MP) для базового мониторинга RHEL. На момент написания этой заметки самая последняя версия пакета управления доступна по ссылке: System Center 2012 Management Pack for UNIX and Linux Operating Systems (2014/10). Для поддержки в SCOM RHEL нам нужно загрузить только два файла:
- System Center 2012 R2 Management Packs for Unix and Linux.msi (инсталляционный пакет содержащий *.mp и *.mpb файлы);
- RHELMPGuide.doc (краткая документация по пакету управления для RHEL).

После распаковки msi-пакета в нашем случае потребуются только файлы:
- Microsoft.Linux.RHEL.6.mpb;
- Microsoft.Linux.RedHat.Library.mp;
- Microsoft.Linux.Library.mp.

***

Перебираемся в RHEL и создаём локального пользователя, который в дальнейшем будет использован в качестве Run As Account в SCOM. Информацию о том, как в RHEL создать административную запись можно найти например в документе Configuring sudo Access.

Создаём новую учетную запись:

# useradd scom-user

Назначаем созданной учетной записи пароль:

# passwd scom-user
Changing password for user scom-user. New password: Retype new password: passwd: all authentication tokens updated successfully.

Разрешаем для указанного пользователя запуск sudo без ввода пароля. Для этого откроем в текстовом редакторе файл /etc/sudoers:

# nano /etc/sudoers

В конец файла допишем фрагмент:

# Allow SCOM RunAs Account run sudo passwordless
scom-user ALL=(ALL) NOPASSWD: ALL

Закроем файл с сохранением изменений (Ctrl+X, затем Y).

Для проверки подключаемся по SSH к системе от имени созданного пользователя scom-user и выполняем любую команду с sudo. Команда должна быть успешно выполнена без запроса пароля супер-пользователя. Например выполним утилиту, которая отображает имя текущего пользователя. Правильным ответом будет в нашем случае root.

$ sudo whoami
root

<

p align="center">***

Для доступа к серверу RHEL по портам 22 и 1270 TCP c серверов управления SCOM нужно настроить фаервол через iptables. Если в этом есть необходимость, откроем порты и сохраним правила фаервола:

# iptables -A INPUT -p tcp --dport 1270 -i eth0 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT
# iptables -A OUTPUT -p tcp --sport 1270 -o eth0 -j ACCEPT
# iptables -A OUTPUT -p tcp --sport 22 -o eth0 -j ACCEPT
# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

Для обычной системы RHEL 6.1 этого, полагаю, было бы достаточно, однако в нашем случае речь идёт о VSP, где система имеет определённую степень кастомизации. В частности правила в iptables, как удалось выяснить, подгружаются скриптом /etc/init.d/hq.firewall. Откроем его на редактирование:

# nano /etc/init.d/hq.firewall

Найдём строку 322 (там где идёт объявление цепочек iptables). Для поиска строки в nano используем сочетание клавиш Ctrl+_ (Ctrl и символ нижнего подчёркивания). В появившемся запросе номера строки и столбца вводим "322" и жмём Enter.

После фрагмента…

#  set default policies, flush builtin chains and delete user chains
$FWEXEC -P INPUT DROP
$FWEXEC -P OUTPUT DROP
$FWEXEC -P FORWARD DROP
$FWEXEC -F
$FWEXEC -X

for Table in filter nat mangle
do
        $FWEXEC -t $Table -F
        $FWEXEC -t $Table -X
        $FWEXEC -t $Table -Z
done

… в 322 строку (это будет пустая свободная строка) вставляем одну строку вызова внешнего скрипта, в который мы запишем дополнительные нужные нам правила iptables:

/etc/init.d/hq.firewall_cust

Сохраним изменения в файле /etc/init.d/hq.firewall и закроем его.

Откроем на редактирование файл наших правил (будет создан новый файл):

nano /etc/init.d/hq.firewall_cust

Вносим в файл нужные нам правила:

# Input FW rules for System Center Operations Manager

iptables -A INPUT -p tcp --dport 1270 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT

# Output FW rules for System Center Operations Manager

iptables -A OUTPUT -p tcp --sport 1270 -o eth0 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -o eth0 -j ACCEPT

Сохраняем и закрываем файл. Затем назначаем файлу признак исполняемого:

chmod +x /etc/init.d/hq.firewall_cust

Чтобы проверить, что наши правила успешно подгружаются выполним остановку/запуск фаервола из веб-интерфейса SPOCC (SPmaint > 2 . Network Configuration > 3. Firewall Manipulation). Чтобы включить режим полностью разрешающий весь трафик во всех направлениях используем кнопку Lower Firewall 

image

Затем для того, чтобы снова включить режим ограничения трафика, при котором должны будут загрузиться наши правила, используем эту же кнопку (она поменяет своё название на Raise Firewall):

image

Либо можно выключить/включить виртуальную машину VSP. При старте системы также должны будут загрузиться добавленные нами правила iptables.

<

p align="center">***

Процесс действий по развертыванию агента SCOM с консоли Operations Console на RHEL-сервер в целом аналогичен тому, что было описано ранее. Однако я столкнулся с проблемой в процессе работы мастера развёртывания агента SCOM на этапе создания сертификата …

image

Процесс завершился ошибкой “Signed certificate verification, operation was not successful”:

image

Для решения проблем развёртывания UNIX/Linux агентов может оказаться полезным документ TechNet Wiki - Troubleshooting UNIX/Linux Agent Discovery in System Center 2012 Operations Manager, который по описанной проблеме имеет отсылку в другой документ Troubleshooting UNIX and Linux Monitoring - Certificate Issues. По имеющейся там информации проблема может заключаться в том, что процедура установки агента SCOM неверно сгенерировала сертификат агента. Проверим на нашей виртуальной машине RHEL сертификат, который был сгенерирован для агента SCOM:

# openssl x509 -in /etc/opt/microsoft/scx/ssl/scx.pem -text
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: CN=SCX-Certificate/title=SCX633378D2-E4E2-4f31-8461-D09258ACEF3D, DC=KOM-AD01-SCOM03
        Validity
            Not Before: Nov 17 12:48:39 2013 GMT
            Not After : Nov 17 13:00:53 2024 GMT
        Subject: CN=kom-ad01-hpvsp, CN=kom-ad01-hpvsp
        Subject Public Key Info:
...

Как видим, в атрибуте CN используется “плоское” имя хоста, однако, как свидетельствуют здесь и здесь, в этом атрибуте должно присутствовать FQDN имя, которое разрешается из DNS. Чтобы решить эту проблему, укажем утилите конфигурации сертификата SCOM данные о домене:

# /opt/microsoft/scx/bin/tools/scxsslconfig -h kom-ad01-hpvsp -d holding.com -f -v
Setting debugMode=true
Generated hostname:   "kom-ad01-hpvsp" (eGethostname)
Generated domainname: "" (eNone)

Original Host Name:     kom-ad01-hpvsp
Original Domain Name:   holding.com
Start Days:    -365
End Days:      7300
Cert Length:   2048
Target Path:   /etc/opt/microsoft/scx/ssl

Generating certificate with hostname="kom-ad01-hpvsp", domainname="holding.com"

WARNING!
Could not read 256 bytes of random data from /dev/random. Will revert to less secure /dev/urandom.
See the security guide for how to regenerate certificates at a later time when more random data might be available.

Using punycode library for certificate generation
Conversion succeeded
Domain name, after processing:holding.com
Generated certificate
return code = 0

Затем я снова попробовал выполнить развёртывание агента в консоли SCOM. На этот раз мастер развёртывания завершил свою работу без ошибок:

image

Спустя некоторое время информация об агенте в консоли Operations Manager обновилась…image

Таким образом поставленная задача решена.

Всего комментариев: 4 Комментировать

  1. Обратная ссылка: После миграции между хостами в кластере Hyper-V на виртуальной машине HP 3PAR Virtual Service Processor 4.3.0 перестала работать сеть. | Блог IT-KB /

  2. kolshik1 /

    На FreeBSD так же добавлять агента или есть какие то моменты? выдет такую ошибку
    su - root -c 'sh /tmp/scx-scom-user/GetOSVersion.sh; EC=$?; rm -rf /tmp/scx-sc .om-user; exit $EC'
    Password:
    Unknown
    EC=0: Command not found.
    EC: Undefined variable.
    $ exit

    Заранее спасибо)

    1. Алексей Максимов / Автор записи

      Если судить по https://technet.microsoft.com/library/dn281931.aspx (раздел Operations Manager Linux/Unix Agent) то поддержки BSD-систем нет.

  3. Обратная ссылка: Ошибка при работе мастера обнаружения SCOM при подключении к HP VSP 4.4 (RHEL 6.1) — Failed during SSH discovery. Exit code: -1073479115 | Блог IT-KB /

Добавить комментарий