Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Artikel ini dikhususkan untuk fitur pemantauan peralatan jaringan menggunakan protokol SNMPv3. Kita akan berbicara tentang SNMPv3, saya akan berbagi pengalaman saya dalam membuat template lengkap di Zabbix, dan saya akan menunjukkan apa yang dapat dicapai ketika mengatur peringatan terdistribusi di jaringan besar. Protokol SNMP adalah yang utama saat memantau peralatan jaringan, dan Zabbix sangat bagus untuk memantau sejumlah besar objek dan merangkum metrik masuk dalam jumlah besar.

Beberapa kata tentang SNMPv3

Mari kita mulai dengan tujuan protokol SNMPv3 dan fitur penggunaannya. Tugas SNMP adalah memantau perangkat jaringan dan manajemen dasar dengan mengirimkan perintah sederhana kepada perangkat tersebut (misalnya, mengaktifkan dan menonaktifkan antarmuka jaringan, atau me-reboot perangkat).

Perbedaan utama antara protokol SNMPv3 dengan versi sebelumnya adalah fungsi keamanan klasiknya [1-3], yaitu:

  • Otentikasi, yang menentukan bahwa permintaan diterima dari sumber terpercaya;
  • enkripsi (Enkripsi), untuk mencegah pengungkapan data yang dikirimkan ketika disadap oleh pihak ketiga;
  • integritas, yaitu jaminan bahwa paket tidak dirusak selama transmisi.

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

SNMPv3 memperkenalkan konsep tingkat keamanan - tingkat keamanan yang dapat diterima yang menentukan konfigurasi peralatan dan perilaku agen SNMP dari objek pemantauan. Kombinasi 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 membiarkan tiga kolom pertama seperti aslinya):

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Oleh karena itu, kita akan menggunakan SNMPv3 dalam mode otentikasi menggunakan enkripsi.

Mengonfigurasi SNMPv3

Peralatan jaringan pemantauan memerlukan konfigurasi protokol SNMPv3 yang sama pada server pemantauan dan objek yang dipantau.

Mari kita mulai dengan menyiapkan perangkat jaringan Cisco, konfigurasi minimum yang diperlukan adalah sebagai berikut (untuk konfigurasi kami 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 snmp-server group – mendefinisikan grup pengguna SNMPv3 (snmpv3group), mode baca (read), dan hak akses grup snmpv3group untuk melihat cabang tertentu dari pohon MIB dari objek pemantauan (snmpv3name lalu di konfigurasi menentukan cabang pohon MIB mana yang dapat diakses oleh grup (snmpv3group akan dapat memperoleh akses).

Baris kedua pengguna server snmp – mendefinisikan pengguna snmpv3user, keanggotaannya dalam grup snmpv3group, serta penggunaan otentikasi md5 (kata sandi untuk md5 adalah md5v3v3v3) dan enkripsi des (kata sandi untuk des adalah des56v3v3v3). Tentu saja, lebih baik menggunakan aes daripada des; saya berikan di sini hanya sebagai contoh. Selain itu, saat menentukan pengguna, Anda dapat menambahkan daftar akses (ACL) yang mengatur alamat IP server pemantauan yang berhak memantau perangkat ini - ini juga merupakan praktik terbaik, tetapi saya tidak akan mempersulit contoh kita.

Tampilan snmp-server baris ketiga mendefinisikan nama kode yang menentukan cabang pohon MIB snmpv3name sehingga dapat ditanyakan oleh grup pengguna snmpv3group. ISO, alih-alih secara ketat mendefinisikan satu cabang, memungkinkan grup pengguna snmpv3group untuk mengakses semua objek di pohon MIB dari objek pemantauan.

Pengaturan serupa untuk peralatan Huawei (juga di CLI) terlihat seperti ini:

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 menyiapkan 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

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

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

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Sekarang mari beralih ke menyiapkan elemen data tipikal untuk SNMPv3, dalam template Zabbix. Untuk kesederhanaan dan kemandirian MIB, saya menggunakan OID digital:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Saya menggunakan makro khusus di bidang kunci karena makro tersebut akan sama untuk semua elemen data di templat. Anda dapat mengaturnya dalam templat, jika semua perangkat jaringan di jaringan Anda memiliki parameter SNMPv3 yang sama, atau dalam node jaringan, jika parameter SNMPv3 untuk objek pemantauan berbeda berbeda:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

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

Templat jajak pendapat Zabbix

Aturan sederhana saat membuat templat survei adalah membuatnya sedetail mungkin:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Saya sangat memperhatikan inventaris agar lebih mudah bekerja dengan jaringan yang besar. Lebih lanjut tentang ini nanti, tapi untuk saat ini – pemicu:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Untuk kemudahan visualisasi pemicu, makro sistem {HOST.CONN} disertakan dalam namanya sehingga tidak hanya nama perangkat, tetapi juga alamat IP yang ditampilkan di dasbor di bagian peringatan, meskipun ini lebih merupakan masalah kenyamanan daripada kebutuhan . Untuk menentukan apakah suatu perangkat tidak tersedia, selain permintaan gema biasa, saya menggunakan pemeriksaan ketidaktersediaan host menggunakan protokol SNMP, ketika objek dapat diakses melalui ICMP tetapi tidak menanggapi permintaan SNMP - situasi ini mungkin terjadi, misalnya , ketika alamat IP diduplikasi pada perangkat yang berbeda, karena firewall yang tidak dikonfigurasi dengan benar, atau pengaturan SNMP yang salah pada objek pemantauan. Jika Anda menggunakan pemeriksaan ketersediaan host hanya melalui ICMP, pada saat menyelidiki insiden di jaringan, data pemantauan mungkin tidak tersedia, sehingga penerimaannya harus dipantau.

Mari beralih ke mendeteksi 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 atau mengacaukan database.

Saya menggunakan fungsi penemuan SNMP standar, dengan parameter yang lebih mudah ditemukan, 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]

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Dengan penemuan ini, Anda dapat memfilter antarmuka jaringan berdasarkan jenisnya, deskripsi khusus, dan status port administratif. Filter dan ekspresi reguler untuk memfilter dalam kasus saya terlihat seperti ini:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Jika terdeteksi, antarmuka berikut akan dikecualikan:

  • dinonaktifkan secara manual (adminstatus<>1), berkat IFADMINSTATUS;
  • tanpa deskripsi teks, terima kasih kepada IFALIAS;
  • memiliki simbol * dalam deskripsi teks, terima kasih kepada IFALIAS;
  • yang bersifat layanan atau teknis, berkat IFDESCR (dalam kasus saya, dalam ekspresi reguler IFALIAS dan IFDESCR diperiksa dengan satu alias ekspresi reguler).

Templat pengumpulan data menggunakan protokol SNMPv3 hampir siap. Kami tidak akan membahas lebih detail tentang prototipe elemen data untuk antarmuka jaringan; mari kita beralih ke hasilnya.

Hasil pemantauan

Untuk memulainya, lakukan inventarisasi jaringan kecil:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Jika Anda menyiapkan templat untuk setiap rangkaian perangkat jaringan, Anda dapat memperoleh tata letak ringkasan data perangkat lunak saat ini yang mudah dianalisis, nomor seri, dan pemberitahuan pembersih yang datang ke server (karena Waktu Aktif yang rendah). Kutipan dari daftar template saya di bawah ini:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Dan sekarang - panel pemantauan utama, dengan pemicu yang didistribusikan berdasarkan tingkat keparahan:

Memantau peralatan jaringan melalui SNMPv3 di Zabbix

Berkat pendekatan terpadu terhadap templat untuk setiap model perangkat di jaringan, dimungkinkan untuk memastikan bahwa, dalam kerangka satu sistem pemantauan, alat untuk memprediksi kesalahan dan kecelakaan akan diatur (jika tersedia sensor dan metrik yang sesuai). Zabbix sangat cocok untuk memantau infrastruktur jaringan, server, dan layanan, dan tugas memelihara peralatan jaringan dengan jelas menunjukkan kemampuannya.

Daftar sumber yang digunakan:1. Panduan Sertifikasi Resmi Hucaby D. CCNP Routing dan Switching SWITCH 300-115. Cisco Press, 2014. hal. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. Panduan Konfigurasi SNMP, Cisco IOS XE Rilis 3SE. Bab: SNMP Versi 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

Sumber: www.habr.com

Tambah komentar