Home Без рубрики Zabbix Шаблон для мониторинга СХД MSA 2040 — 2050

Zabbix Шаблон для мониторинга СХД MSA 2040 — 2050

by admin
402 views
zabbix

Устанавливаем зависимости

apt-get install php
apt-get install php-cli
apt-get install php-common
apt-get install curl
apt-get install php-curl
apt-get install zabbix-sender

Заранее раскажу о своих настройках сервера


/home/administrator# hostname
zabbix

nano /etc/zabbix/zabbix_agentd.conf

PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix
Include=/etc/zabbix/zabbix_agentd.d/*.conf


Скачаваем шаблон MSA 2050 для zabbix

Раньше множество шаблонов лежало на Zabbix Community , но теперь большая часть не скачивается , а ссылки отдают 404 . Выложил на облако. https://cloud.mail.ru/public/qW5B/Ghc7JXVqw

Импортируем шаблон

Шаблон что выше я импортировал на версии Zabbix 5.4.4

Закачиваем файлы на сервер

Через программу winscp перекидываем 2 файла к примеру в дерикторию /home/ ваш пользователь

add file winscp msa 2050

Создаем хост мониторинга на Zabbix

create host zabbix

Создаем пару Agent , где каждый ip адрес это адрес

add host msa 2050 to zabbix

Привязываем шаблон к хосту

add host msa 2050 to zabbix

Настройка мониторинг файлов

Тут начинается самое интересное.

Изменяем файл hpe_msa2040_stats.php и hpe_msa2040_discovery.php , после внесения информации исполняем их

(Строчки типа array(‘ip1’ => ‘10.130.50.17’, ‘ip2’ => ‘10.130.50.18’, ‘name’ => ‘P2000’), можно удалять и добавлять при большом колличестве схд, единственное что нужно везде создать логин и пароль новый , отличный от manage)

!!! Но самое главное это поле name оно должно совпадать с именем хоста которого мы сделали в zabbix!!!!!!!!!! Host name

rray('ip1' => '10.130.50.17', 'ip2' => '10.130.50.18', 'name' => 'P2000'),

Пример hpe_msa2040_stats.php

<?php

 /*=== CONFIG ===*/
$username = 'superuser';
$password = 'megapasswordmsa2050';
$MSAs = array(
            array('ip1' => '10.130.50.17', 'ip2' => '10.130.50.18', 'name' => 'P2000'),
            array('ip1' => '10.77.90.76', 'ip2' => '10.77.90.77', 'name' => 'P2000_Selectel'),
            array('ip1' => '10.77.90.194', 'ip2' => '10.77.90.195', 'name' => 'P2040_Selectel')
            );
$zabbix_sender = "/usr/bin/zabbix_sender -z 127.0.0.1 -p 10051 -i -";
/*==============*/

Пример hpe_msa2040_discovery.php

<?php

 /*=== CONFIG ===*/
$username = 'superuser';
$password = '!megapasswordmsa2050';

/*
ip1 - MSA Controller A
ip2 - MSA Controller B
name - system name on zabbix
*/
$MSAs = array(
            array('ip1' => '10.130.50.17', 'ip2' => '10.130.50.18', 'name' => 'P2000'),
            array('ip1' => '10.77.90.76', 'ip2' => '10.77.90.77', 'name' => 'P2000_Selectel'),
            array('ip1' => '10.77.90.194', 'ip2' => '10.77.90.195', 'name' => 'P2040_Selectel')
            );
$zabbix_sender = "/usr/bin/zabbix_sender -z 127.0.0.1 -p 10051 -i -";
/*==============*/

Исполняем файлы

php hpe_msa2040_discovery.php
php hpe_msa2040_stats.php

Должен появится такой вывод

root@zabbix:/home/administrator# php hpe_msa2040_discovery.php
P2000 10.77.90.76 connected
string(803) "echo 'P2000 msa.hdd.discovery "{\"data\":[]}"
P2000 msa.ssd.discovery "{\"data\":[]}"
P2000 msa.frus.discovery "{\"data\":[]}"
P2000 msa.controllers.discovery "{\"data\":[{\"{#CTRLID}\":\"controller_a\",\"{#CTRLNAME}\":\"Controller A\"},{\"{#CTRLID}\":\"controller_b\",\"{#CTRLNAME}\":\"Controller B\"}]}"
P2000 msa.enclosures.discovery "{\"data\":[{\"{#ENCLID}\":\"1\",\"{#ENCLNAME}\":\"Enclosure 1\"}]}"
P2000 msa.fans.discovery "{\"data\":[{\"{#FANID}\":\"fan_1.1\",\"{#FANNAME}\":\"FAN Enclosure 1 - Left\"},{\"{#FANID}\":\"fan_1.2\",\"{#FANNAME}\":\"FAN Enclosure 1 - Right\"}]}"
P2000 msa.pools.discovery "{\"data\":[]}"
P2000 msa.volumes.discovery "{\"data\":[{\"{#VOLID}\":\"00c0ff15883c0000f8a7275501000000\",\"{#VOLNAME}\":\"vd01_v001\"}]}"' | /usr/bin/zabbix_sender -z 127.0.0.1 -p 10051 -i -"
array(2) {
  [0]=>
  string(93) "Response from "127.0.0.1:10051": "processed: 8; failed: 0; total: 8; seconds spent: 0.000660""
  [1]=>
  string(29) "sent: 8; skipped: 0; total: 8"
}

После первого исполнения вывод окажется

root@zabbix:/home/administrator# php hpe_msa2040_discovery.php
P2000 10.77.90.76 connected
string(803) "echo 'P2000 msa.hdd.discovery "{\"data\":[]}"
P2000 msa.ssd.discovery "{\"data\":[]}"
P2000 msa.frus.discovery "{\"data\":[]}"
P2000 msa.controllers.discovery "{\"data\":[{\"{#CTRLID}\":\"controller_a\",\"{#CTRLNAME}\":\"Controller A\"},{\"{#CTRLID}\":\"controller_b\",\"{#CTRLNAME}\":\"Controller B\"}]}"
P2000 msa.enclosures.discovery "{\"data\":[{\"{#ENCLID}\":\"1\",\"{#ENCLNAME}\":\"Enclosure 1\"}]}"
P2000 msa.fans.discovery "{\"data\":[{\"{#FANID}\":\"fan_1.1\",\"{#FANNAME}\":\"FAN Enclosure 1 - Left\"},{\"{#FANID}\":\"fan_1.2\",\"{#FANNAME}\":\"FAN Enclosure 1 - Right\"}]}"
P2000 msa.pools.discovery "{\"data\":[]}"
P2000 msa.volumes.discovery "{\"data\":[{\"{#VOLID}\":\"00c0ff15883c0000f8a7275501000000\",\"{#VOLNAME}\":\"vd01_v001\"}]}"' | /usr/bin/zabbix_sender -z 127.0.0.1 -p 10051 -i -"
array(2) {
  [0]=>
  string(93) "Response from "127.0.0.1:10051": "processed: 0; failed: 8; total: 8; seconds spent: 0.000261""

Но если его исполнить раз 10 , то появится «processed: 1; failed: 7; , далее исполните stats и еще раз discovery он запроцессится полностью.

В процессе данные будут отображены

msa 2050 template zabbix

Осталось закинуть все в крон


Осталось закинуть все в крон (Замечание , я перенес файлы в /usr/local/bin)

crontab -e
*/1 * * * * php /usr/local/bin/hpe_msa2040_stats.php

Логи крона

grep CRON /var/log/syslog


Статьи из этой категории

Leave a Comment