Saya akan berbagi dengan Anda pengalaman menarik dalam membuat alat seluler untuk bekerja dengan jaringan.
Kata Pengantar
Saya telah bekerja selama beberapa tahun di penyedia, dari kecil hingga federal. Ketika saya datang ke "Federal" saya menghadapi banyak rutinitas, dan ada keinginan untuk mengotomatiskan proses yang sangat rutin itu.
tahun 2013. Saya memiliki seorang teman yang juga bekerja di salah satu "federals", menghubungkan klien dan ada sebuah cerita ketika dia memberi saya telepon dan naik ke loteng untuk melakukan sesuatu dengan sakelar. Saya berdiri di bagian bawah dengan telepon di mana halaman web dengan berbagai skrip menarik terbuka. Skrip ini melakukan pengecekan port pada sakelar, menghapus kesalahan dan hal-hal lain.
Artinya, insinyur, setelah datang ke alamat itu, tidak mengganggu administrator untuk omong kosong, karena dia sendiri memiliki alat untuk bekerja dengan jaringan.
Ini bulan Juni 2018, dan saya tersiksa dengan pikiran bahwa "Mengapa tidak menulis bot yang akan memeriksa peralatan dari berbagai level (inti, agregasi, akses)?" Masalahnya adalah hanya saya yang ingin menyingkirkan rutinitas, sisanya hidup untuk hari ini.
Memilih bahasa dan platform pemrograman
Teman-teman, tentu saja Python . Pada saat ide, saya sudah memiliki beberapa keterampilan dan sedikit pengalaman dalam skrip. Platform dipilih sebagai platform yang ramah - Telegram karena semua IT-schnicks tinggal di sana.
Memilih perpustakaan untuk menulis bot
1. Perpustakaan untuk bekerja dengan Telegram. pyTelegramBotAPI memudar, terutama selama waktu pemblokiran, saya ingin segera berteman dengan proxy dan hal lainnya. Saya memilih python-telegram-bot dan menggunakan Conversation sebagai dasarnya .
2. Perpustakaan untuk bekerja dengan peralatan. Karena kesederhanaan pekerjaan, pilihan saya jatuh pada - python3-netsnmp .
Fondasi telah diletakkan, saatnya menulis.
Mengemudi
Jaringan itu seperti kebun binatang besi dan kami harus mengambil vendor terpisah dan bekerja dengannya. Kondisi penting lainnya adalah kehadiran MIB untuk menjalankan tugas.
Salah satu tugasnya adalah memeriksa panjang kabel dan status pasangan, memeriksa status port dan adanya kesalahan pada port.
Sekarang banyak yang akan menulis dan berkata - "Nah, apa yang tidak bisa dilakukan tanpa SNMP?" Jawaban saya adalah - "Ya, Anda tidak bisa, jika Anda ingin menangkap data dengan cara manusia biasa - maka hanya SNMP."
Sekarang seseorang sudah membakar satu tempat dan dia menulis bahwa hanya NETCONF.
Setelah melalui peralatan akses dan mengimplementasikan pekerjaan dengannya di bot, saya dihadapkan pada fakta bahwa kadang-kadang, memang, untuk tugas-tugas tertentu, yang tidak diselesaikan oleh protokol SNMP, saya harus pergi ke peralatan.
Perpustakaan netmiko datang untuk menyelamatkan saya- dan aku masih senang dengannya. Dia memecahkan banyak masalah bahkan tidak terkait dengan bot. Jumlah peralatan yang didukung hanyalah api.
Saya juga menemukan perpustakaan ipaddress sangat berguna untuk memeriksa alamat IP. Secara
umum, saat memprogram, saya memperhitungkan banyak nuansa, mulai dari memberi otorisasi kepada pengguna di bot hingga memberinya berbagai hak.
Fungsionalitasnya tumbuh
Ya, fungsinya memang tumbuh, dan dengan itu dukungan untuk peralatan tertentu tumbuh. Saya telah menambahkan peralatan akses radio, penerima KTV optik.
Entah bagaimana orang-orang mendatangi saya dan mengatakan bahwa kami akan memasang interkom. Saya mengerti dengan kepala saya bahwa pengaturan juga akan jatuh di pundak saya dan pundak rekan kerja.
Saya mulai merasa, lihat. Saya membaca API, yang bagus di sana. Saya memilih perpustakaan paling sederhana untuk bekerja dengan HTTP dan HTTPS - permintaan .
Karena sudah mulai bekerja dengan interkom, ada kebutuhan akan database, tetapi seperti biasa opera malas * tidak ingin terlalu memaksakan diri. Oleh karena itu, pilihan jatuh pada sqlite3. Pustaka juga dipilih sesederhana mungkin - ini adalah kumpulan data .
Awan berkumpul.
Pada titik tertentu, pekerjaan menjadi sangat gila dan gagasan saya, pada kenyataannya, hidup sendiri. Ada banyak pekerjaan, sedikit uang - yah, saya pikir Anda mengambil catatan itu. Saya memutuskan untuk meninggalkan pendirian ini. Setelah bekerja selama beberapa tahun di pemerintah federal, saya telah meningkatkan keterampilan saya dalam bekerja dengan bahasa pemrograman. Saya sangat senang dengan ini.
Epilog
Mungkin ini cerita yang besar, atau bukan cerita yang akan segera berakhir. Networker menurut saya tanpa pemrograman di mana pun, terutama dengan kebun binatang besi. Hasilnya, tempat parkir peralatan yang didukung adalah sebagai berikut:
- 23 model sakelar akses
- 3 model penerima KTV optik
- 4 model sakelar sasis
- 1 model router sasis
- 3 model peralatan akses radio