Мониторинг XenServer 7.0 и статуса массива Smart Array с помощью Zabbix.

Имеем XenServer 7.0. Необходимо установить на него zabbix агент. Также хотелось бы видеть состояние RAID массива Smart Array. Ставим Zabbix агента.

adduser zabbix
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.1-1.el7.x86_64.rpm

Автоматический запуск агента при старте гипервизора.

chkconfig zabbix-agent on

Не забываем про фаерволл.

iptables -I INPUT -p tcp -m conntrack --ctstate NEW,RELATED,ESTABLISHED -m tcp --dport 10050 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10050 -m conntrack --ctstate ESTABLISHED -j ACCEPT
service iptables save

Для сборки утилиты показывающей состояние RAID контроллера HP необходимы дополнительные компоненты.
Подключаем репозитории.

sed -i "s/\$releasever/7\.2\.1511/g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/\#baseurl/baseurl/g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/enabled\=0/enabled\=1/g" /etc/yum.repos.d/CentOS-Base.repo

В конечном итоге файл /etc/yum.repos.d/CentOS-Base.rep должен выглядеть так:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/7.2.1511/os/$basearch/
enabled=1
exclude=kernel kernel-abi-whitelists kernel-debug kernel-debug-devel kernel-devel kernel-doc kernel-tools kernel-tools-libs kernel-tools-libs-devel linux-firmware biosdevname centos-release systemd* stunnel kexec-tools ocaml*
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=updates&infra=$infra
baseurl=http://mirror.centos.org/centos/7.2.1511/updates/$basearch/
enabled=1
exclude=kernel kernel-abi-whitelists kernel-debug kernel-debug-devel kernel-devel kernel-doc kernel-tools kernel-tools-libs kernel-tools-libs-devel linux-firmware biosdevname centos-release systemd* stunnel kexec-tools ocaml*
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=extras&infra=$infra
baseurl=http://mirror.centos.org/centos/7.2.1511/extras/$basearch/
enabled=1
exclude=ocaml*
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://mirror.centos.org/centos/7.2.1511/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Решение подсмотрено здесь.
Устанавливаем ПО.

yum install openssl-devel gcc make

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

wget http://heanet.dl.sourceforge.net/project/cciss/cciss_vol_status/cciss_vol_status-1.11.tar.gz
tar xvf cciss_vol_status-1.11.tar.gz
cd cciss_vol_status-1.11/
./configure
make
make install
cd ..
rm -Rf cciss_vol_status-1.11*

Смотрим что с нашим массивом. В зависимости от модели контроллера/сервера/ОС параметр /dev/* может быть иным.

/usr/local/bin/cciss_vol_status /dev/cciss/c0d0

Правим: vi /etc/zabbix/zabbix_agentd.conf и добавляем.

# Smart Array RAID Volume 0 status
UserParameter=cciss_vol_status,/usr/local/bin/cciss_vol_status /dev/cciss/c0d0 | awk 'NR==1 {print $10}' | tr -d '\.'

На всякий случай.

chmod +s /usr/local/bin/cciss_vol_status

Добавляем — visudo.

zabbix ALL = NOPASSWD:/opt/xensource/bin/xe
zabbix ALL = NOPASSWD:/usr/local/bin/cciss_vol_status

Запускаем агент.

service zabbix-agent start

Пример шаблона для zabbix:




    2.0
    2015-10-02T07:40:04Z
    
        
            Templates_Custom
        
    
    
        
    
    
        
            {mod_Smart_Array_RAID_Volume_0_status:cciss_vol_status.str(OK)}<>1
            Smart_Array_RAID_Volume_0_status
            
            0
            4
            
            0
            
        
    



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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.