Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Artikel ini membahas fitur pemantauan peralatan jaringan menggunakan protokol SNMPv3. Kami akan berbicara tentang SNMPv3, saya akan membagikan pengalaman saya dalam membuat templat lengkap di Zabbix, dan menunjukkan apa yang dapat Anda capai ketika mengatur peringatan yang didistribusikan di jaringan besar. SNMP adalah protokol utama untuk memantau peralatan jaringan, dan Zabbix sangat baik untuk memantau sejumlah besar objek dan merangkum volume signifikan dari metrik yang masuk.

Beberapa kata tentang SNMPv3


Mari kita mulai dengan penunjukan SNMPv3, dan fitur penggunaannya. Tugas SNMP adalah memonitor perangkat jaringan, dan manajemen dasar, dengan mengirimkan perintah sederhana kepada mereka (misalnya, menghidupkan dan mematikan antarmuka jaringan, atau me-reboot perangkat).

Perbedaan utama antara protokol SNMPv3 dan versi sebelumnya adalah fitur keamanan klasik [1-3], yaitu:

  • Otentikasi, yang menentukan bahwa permintaan diterima dari sumber tepercaya;
  • Enkripsi, untuk mencegah pengungkapan data yang dikirimkan ketika dicegat oleh pihak ketiga;
  • Integritas, yaitu, jaminan bahwa paket tidak dirusak selama pengiriman.

SNMPv3 menyiratkan penggunaan model keamanan di mana strategi otentikasi ditetapkan untuk pengguna tertentu dan grup yang menjadi tempatnya (dalam versi SNMP sebelumnya, dalam permintaan dari server ke objek pemantauan, hanya "komunitas" yang dibandingkan, string teks dengan "kata sandi" yang dikirimkan dalam bentuk yang jelas) (teks biasa)).

SNMPv3 memperkenalkan konsep tingkat keamanan - tingkat keamanan yang dapat diterima yang menentukan konfigurasi peralatan dan perilaku agen SNMP dari objek pemantauan. Kombinasi dari model keamanan dan tingkat keamanan menentukan mekanisme keamanan mana yang digunakan saat memproses paket SNMP [4].

Tabel ini menjelaskan kombinasi model dan tingkat keamanan SNMPv3 (saya memutuskan untuk meninggalkan tiga kolom pertama seperti yang asli):



Karenanya, kami akan menggunakan SNMPv3 dalam mode otentikasi menggunakan enkripsi.

Konfigurasikan SNMPv3


Peralatan jaringan pemantauan melibatkan konfigurasi yang sama dari protokol SNMPv3 baik pada server pemantauan dan pada objek yang dipantau.

Mari kita mulai dengan mengkonfigurasi perangkat jaringan Cisco, konfigurasi minimum yang diperlukan adalah sebagai berikut (untuk konfigurasi kita menggunakan CLI, saya menyederhanakan nama dan kata sandi untuk menghindari kebingungan):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

Baris pertama grup snmp-server - menentukan grup pengguna SNMPv3 (snmpv3group), mode baca (baca), dan hak akses grup snmpv3group untuk melihat cabang tertentu dari pohon MIB objek pemantauan (snmpv3name dalam konfigurasi di bawah ini menentukan cabang mana dari pohon MIB grup tersebut. snmpv3group akan dapat mengakses).

Baris kedua adalah pengguna snmp-server - mendefinisikan pengguna snmpv3user, keanggotaannya di grup snmpv3group, serta penggunaan otentikasi md5 (kata sandi untuk md5 adalah md5v3v3v3) dan des enkripsi (kata sandi untuk des adalah des56v3v3v3). Tentu saja, daripada des lebih baik menggunakan aes, di sini saya memberikannya hanya sebagai contoh. Juga, ketika mendefinisikan pengguna, Anda dapat menambahkan daftar akses (ACL) yang mengatur alamat IP dari server pemantauan yang memiliki hak untuk memantau perangkat ini - ini juga praktik terbaik, tetapi saya tidak akan menyulitkan contoh kita.

Baris ketiga tampilan server snmp mendefinisikan nama kode yang mendefinisikan cabang-cabang pohon MIB snmpv3name sehingga grup pengguna snmpv3group dapat memintanya. ISO, alih-alih secara tegas mendefinisikan cabang tunggal, memungkinkan grup pengguna snmpv3group untuk mengakses semua objek dari pohon MIB objek pemantauan.

Konfigurasi serupa dari peralatan Huawei (juga di CLI) adalah sebagai berikut:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Setelah mengatur perangkat jaringan, Anda perlu memeriksa akses dari server pemantauan melalui protokol SNMPv3, saya akan menggunakan snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252



Alat yang lebih visual untuk meminta objek OID spesifik menggunakan file MIB adalah snmpget:



Sekarang mari kita lanjutkan untuk menyiapkan elemen data khas untuk SNMPv3, sebagai bagian dari templat Zabbix. Untuk kesederhanaan dan kemandirian dari MIB, saya menggunakan OID digital:



Saya menggunakan makro khusus di bidang utama, karena mereka akan sama untuk semua elemen data dalam templat. Anda dapat mengaturnya sebagai bagian dari template jika semua perangkat jaringan di jaringan Anda memiliki parameter SNMPv3 yang sama, atau di dalam host jika parameter SNMPv3 untuk objek pemantauan berbeda:



Harap dicatat bahwa sistem pemantauan hanya memiliki nama pengguna dan kata sandi untuk otentikasi dan enkripsi . Grup pengguna dan area objek MIB yang memungkinkan aksesnya diatur pada objek pemantauan.
Sekarang mari kita lanjutkan untuk mengisi template.

Templat survei Zabbix


Aturan sederhana saat membuat templat survei adalah membuatnya sedetail mungkin:



Saya menaruh perhatian besar pada inventaris sehingga lebih nyaman untuk bekerja dengan jaringan besar. Tentang ini sedikit kemudian, tetapi untuk sekarang - pemicu:



Untuk memudahkan visualisasi dari pemicu, namanya mengandung macro sistem {HOST.CONN}, sehingga tidak hanya nama perangkat, tetapi juga alamat IP yang ditampilkan di dasbor di bagian peringatan, meskipun ini lebih merupakan masalah kenyamanan daripada yang diperlukan. Untuk menentukan tidak tersedianya perangkat, selain permintaan gema biasa, saya menggunakan pemeriksaan tidak tersedianya host SNMP ketika objek dapat diakses melalui ICMP tetapi tidak menanggapi permintaan SNMP - situasi ini mungkin, misalnya, ketika menggandakan alamat IP pada perangkat yang berbeda, karena firewall yang tidak dikonfigurasi dengan benar, atau pengaturan SNMP yang salah pada objek pemantauan. Jika Anda menggunakan kontrol akses host hanya melalui ICMP, pada saat menyelidiki insiden di jaringan, data pemantauan mungkin tidak muncul, jadi tanda terima mereka harus dikontrol.

Mari kita beralih ke menemukan antarmuka jaringan - untuk peralatan jaringan, ini adalah fungsi pemantauan yang paling penting. Karena mungkin ada ratusan antarmuka pada perangkat jaringan, maka perlu untuk menyaring yang tidak perlu agar tidak mengacaukan visualisasi dan mengacaukan database.

Saya menggunakan fungsi deteksi standar untuk SNMP, dengan sejumlah besar parameter yang dapat dideteksi, untuk pemfilteran yang lebih fleksibel:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]



Dengan deteksi ini, Anda dapat memfilter antarmuka jaringan berdasarkan tipenya, deskripsi "deskripsi" pengguna, dan status administratif port. Filter dan ekspresi reguler untuk memfilter dalam kasus saya terlihat sebagai berikut:





Setelah terdeteksi, antarmuka berikut akan dikecualikan:

  • dinonaktifkan secara manual (adminstatus <> 1), terima kasih kepada IFADMINSTATUS;
  • tidak ada deskripsi teks, terima kasih kepada IFALIAS;
  • memiliki * dalam deskripsi teks, terima kasih kepada IFALIAS;
  • menjadi resmi atau berkat teknis untuk IFDESCR (dalam kasus saya, dalam ekspresi reguler IFALIAS dan IFDESCR diperiksa oleh satu alias ekspresi reguler).

Template pengumpulan data SNMPv3 hampir siap. Kami tidak akan memikirkan prototipe elemen data untuk antarmuka jaringan, kami akan beralih ke hasil.

Hasil pemantauan


Untuk mulai dengan - inventaris jaringan kecil:



Jika Anda menyiapkan template untuk setiap seri perangkat jaringan - Anda dapat mencapai tata letak yang nyaman untuk menganalisis data ringkasan pada perangkat lunak saat ini, nomor seri, dan pemberitahuan kedatangan seorang wanita pembersih di server (karena Uptime kecil). Kutipan dari daftar templat saya di bawah ini:



Dan sekarang - dasbor utama, dengan pemicu yang didistribusikan menurut tingkat keparahan:



Berkat pendekatan terpadu pada templat untuk setiap model perangkat dalam jaringan, dimungkinkan untuk mencapai bahwa dalam kerangka satu sistem pemantauan, sebuah alat akan diatur untuk memprediksi kerusakan dan kecelakaan (jika ada sensor dan metrik yang sesuai). Zabbix sangat cocok untuk memonitor jaringan, server, dan infrastruktur layanan, dan tugas untuk melayani peralatan jaringan dengan jelas menunjukkan kemampuannya.

Daftar sumber yang digunakan:
1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Official Cert Guide. Cisco Press, 2014. pp. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP Configuration Guide, Cisco IOS XE Release 3SE. Chapter: SNMP Version 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

All Articles