Hikvision şirkəti istehsalı NVR-larının (şəbəkə video qeydiyatçısı) SNMP protokolu vasitəsi ilə Zabbix monitorinq sisteminə qoşulması.
Son bir neçə gün ərzində çalışdığım müəssisənin infrastrukturuna 2 ədəd Hikvision şirkəti istehsalı NVR əlavə olunmuşdur. Onları infrastrukturun monitorinqi ilə məşğul olan Zabbix sisteminə qoşmaq istədikdə nə şablonlar ilə dolu “share.zabbix.com” saytında nə də ki internetdə tapa bilməyəndən sonra qərar verdim ki özüm düzlədim və saytda paylaşım.
Zabbix sisteminin, SNMP-nin nə olduğunu və necə işləməsi bu məqalənin mövzusu olmadığından bu məqamların üzərindən keçməyəcəm və həmən sazlama prosesinə keçirəm.
“Configuration” -> “Templates” -> “Create template”
Şablonun adın qeyd edib qrupa bağlayırıq.
Şablon yaratdıqdan sonra Zabbix daxilində olan standart “Template SNMP Device” şablonuna daxil oluruq (“Configuration” -> “Templates” -> “Template SNMP Device”)
“Items”-ə daxil olaraq “Device uptime”, “Device name”, “Device description” şablonlarına quş qoyaraq “Copy” düyməsinə tıklayırıq. Sonra “item”ləri koplayacağımız şablonu seçirik və “Copy” düyməsinə tıklayırıq.
Şəbəkə interfeyslərini əlavə etmək üçün eyni prosedura “Template SNMP Interfaces” şablonu ilə etmək lazımdır.
Təbriklər! Artıq ilk itemlər şablonumuza əlavə olundu. Onlar cihazın adını, son dəfə sönməyindən keçən vaxtı və cihaza aid qeydləri və şəbəkə interfeysləri ilə bağlı məlumatı əks etdirdi. Bizim növbəti məqsədimiz cihazın sərt diskləri barəsində məlumat toplamaqdır.
İlk öncə bizə cihazdan ala biləcəyimiz məlumat siyahısın əldə etmək lazımdır. Bunun üçün bizə ilk öncə Hikvision istehsalçısının “OİD”-i lazımdır. Qısa axtarışdan sonra (google.com : Hikvision SNMP OID) bu dəyəri tapırıq – “1.3.6.1.50001”.
Artıq Zabbix serverə SSH vasitəsi ilə qoşulmağın zamanı çatdı.
“snmpwalk -v 2c -c public 10.90.220.15 .1.3.6.1.4.1.50001” komandasın daxil etdikdən sonra mövcud məlumat əks olunur.
Komanda açıqlaması:
snmpwalk | Komandanın adı |
-v 2c | SNMP protokolunun 2-ci versiyası |
-c public | Publik community tipi |
10.90.220.15 | Avadanlığın İP-si |
.1.3.6.1.4.1.50001 | Hikvision istehsalçısının OİD nömrəsi |
Əla! Məlumatı əldə edə bildik. Amma Zabbix-də “Low Level Discovery”-ni rahat sazlamaq üçün bizə MIB faylı Zabbiksin MIB saxlancına köçürmək lazımdır. Bunun üçün ilk öncə faylı yükləyirik (qeyd edim ki yuxarıda artıq bu fayla linki təqdim etmişdim):
wget http://www.circitor.fr/Mibs/Mib/H/HIKVISION-MIB.mib
Yükləyəndən sonra bu faylı saxlanca köçürürük:
cp HIKVISION-MIB.mib /usr/share/snmp/mibs/
Və qovluğun reinisizalizasiyası üçün servisləri restart edək:
systemctl restart service snmpd restart
və
systemctl restart zabbix-server
Servislərin restartı icra olunduqdan sonra məlumat əldə etmək üçün komandanı icra edirik, amma artıq anlaşılmaz rəqəmlər əvəzində oxunması asan olan adlara müraciət edirik.
Əla! Artıq Zabbiksə keçə bilərik. Zabbiksdə “Configuration” -> “Templates” -> “Hikvision Template” -Discovery Rules daxil olun “Create new discovery rule” tıklayırıq.
Tip olaraq “SNMPv2”, community olaraq “public”, “SNMP OID” olaraq lazım olan sahələri seçirik. Bizim halda bu saxlanca aid sahələrdir –
“discovery[{#HIKDINDEX}, HIKVISION-MIB::hikDiskIndex,{#HIKVOLUME}, HIKVISION-MIB::hikDiskVolume, {#HIKDISKSTATUS}, HIKVISION-MIB::hikDiskStatus, {#HIKDISKFS},HIKVISION-MIB::hikDiskFreeSpace, {#HIKDISKCAP}, HIKVISION-MIB::hikDiskCapability]”
{#HIKDINDEX}, HIKVISION-MIB::hikDiskIndex | Sərt diskin sıra nömrəsi. |
{#HIKVOLUME}, HIKVISION-MIB::hikDiskVolume | Sərt diskin adı. |
{#HIKDISKSTATUS}, HIKVISION-MIB::hikDiskStatus | Sərt diskin statusu. |
{#HIKDISKFS},HIKVISION-MIB::hikDiskFreeSpace | Sərt diskdə mövcud olan boş sahə. |
{#HIKDISKCAP}, HIKVISION-MIB::hikDiskCapability | Sərt diskin ümumi tutumu. |
“Update interval” sahəsinə 30s yəni 30 saniyə qeyd edirik. İş bitdikdən sonra vaxtı artırmaq yaddan çıxmasın! Real həyatda bu tip gec dəyişən dəyərlərin monitorinqi 4-24 saat (24h) olmalıdır.
Yeni “discovery rule” yaradılma menyusu
Qayda yarandıqdan sonra prototiplər yaratmaq zamanı çatdı. “Configuration” -> “Templates” -> “Hikvision Template” – “Discovery Rules” -> “Item prototypes”-ə daxil olub “New item prototype” seçirik.
Name | İnterfeysdə əks olunacaq adlandırma. Reg-ex vasitəsi ilə gələcək itemləri ayırmaq üçün {#HIKDINDEX} (yəni diskin sıra nömrəsi) istifadə edə bilərik. |
Type | Qoşulma növü. Bizim halda “SNMPv2” |
Key | Dəyərin MİB daxilində açarı |
SNMP OID | MİB daxilində dəyərə yol |
SNMP Comunity | Bizim halda “public” |
Update interval | Məlumatın əldə olunma intervalı. Yoxlama zamanı 1 dəqiqə (1m), produktiv sistem üçün isə 4 saat (4h) tam olaraq bəs edər. |
Applications | İstifadəçi interfeysi daxilində alt menyu. New application daxilində “HDD” qeyd etsəniz eyni adlı altmenyu yaranar. |
Pulsuz MİB oxuyucular ilə (məsəl üçün “ManageEngine MibBrowser”) MIB faylı oxusanız “HIKVISION-MIB::hikDiskStatus” ünvanında yerləşən məlumatın 9 ədəddən birini təqdim etdiyini və hər birinin öz açıqlaması olduğunu görə bilərsiniz. Bu ədədləri dəqiq yadda saxlamaq çətin olduğundan və oxunmasını asanlaşdırmaq üçün “Show value mapping” menyusuna daxil olaraq yenisini yaradırıq “Create value map” seçirik.
0 | normal |
1 | unformatted |
2 | abnormal |
3 | smartfailed |
4 | mismatch |
5 | idle |
6 | notonline |
10 | reparing |
11 | formatting |
Yaratdığımız “Value mapping”-i seçirik.
Təbriklər! Artıq ilk “item” yaratdıq. Digər iki itemi (HDD capability on {#HIKDINDEX} və HDD free space on {#HIKDINDEX}) eyni qayda ilə yaradırıq (sadəcə mapping olmadan).
Beləliklə, biz şablonu yaratdıq! İş qaldı yalnız sistemdə yaratdığımız NVR-a bu şablonu tətbiq etmək. Bunun üçün “Configuration” -> “Templates” -> “NVR-ın Hostu” -> “Templates” – “Add” üzrə keçərək əvvəlcə yaradılmış şablonu seçin, dəyişiklikləri yadda saxlayın və məlumatın sorğulanması üçün 5-15 dəqiqə gözləyin.
Hazırdır. “Monitoring” ->Lastest data” üzrə keçib, “Host” üzrə filterləyib məlumatı görə bilərsiniz.
Beləliklə biz qısa vaxt ərzində sıfırdan LLD ilə şablon yaratdıq, test etdik və işə saldıq. Amma Siz vaxt itirməmək üçün bu şablonu artıq yerləşdirdiyim “Share Zabbix” rəsmi saytından, əlavələr və təkliflərinizi isə bu şablon olan GitHub hesabıma edə bilərsiniz.