Baru-baru ini penggunaan mesin routing CPU pada dua router peering Juniper kami meningkat dari ~ 10-20% rata-rata beban menjadi 80 +%. Saya mencoba mencari tahu apa yang menyebabkan ini (dan bagaimana mendapatkan kembali beban tinggi ini).
Beberapa info tentang router: keduanya menjalankan versi JunOS yang sama, keduanya terhubung ke dua LAN IXP peering yang sama dan memiliki sejumlah besar (beberapa ratusan) sesi IPv4 dan IPv6 (hampir identik). Kedua router memiliki koneksi ke penyedia transit IP yang berbeda dan terhubung dengan cara yang sama ke seluruh jaringan kami. Beban CPU engine perutean tidak rata pada 80 +%, ada penurunan kembali ke level normal selama beberapa menit hingga berjam-jam, tetapi penurunan ini tidak sesering itu.
Hal-hal yang telah saya periksa:
- tidak ada perubahan konfigurasi yang dibuat saat peningkatan dimulai
- tidak ada peningkatan lalu lintas non-unicast yang diarahkan pada bidang kontrol
- tidak ada (substansial) perubahan dalam jumlah lalu lintas yang diteruskan (meskipun bahkan peningkatan tidak masalah)
show system processes summary
menunjukkanrpd
proses menyebabkan beban CPU yang tinggi- tidak ada rekan BGP yang mengepak dengan cepat menyebabkan sejumlah besar perubahan BGP
Satu penjelasan yang mungkin saya dapat berikan adalah rekan (atau lebih dari satu) di salah satu IXP kedua router terhubung untuk mengirim sejumlah besar pembaruan BGP. Saat ini saya hanya memiliki statistik tentang jumlah pesan BGP untuk sesi transit saya (tidak menunjukkan aktivitas abnormal) dan dengan beberapa ratus sesi BGP pada LAN mengintip, tidaklah mudah untuk menemukan sesi yang bermasalah jika saya harus membuat grafik untuk semua sesi.
Pertanyaan saya adalah:
- apakah ada hal lain yang harus saya periksa untuk menemukan penyebab peningkatan beban CPU pada mesin routing?
- bagaimana saya bisa dengan mudah mengetahui sesi mana yang menyebabkan masalah ini (jika asumsi saya benar)? Mengaktifkan opsi BGP menghasilkan data dalam jumlah besar, tapi saya tidak yakin apakah itu memberi saya wawasan nyata.
Saya tahu utas ini sudah lama tetapi demi kelengkapan:
Jika cpu tinggi terjadi secara acak dan Anda tidak dapat menentukan proses yang menyebabkannya, kami dapat membuat skrip di bawah ini.
Dengan skrip ini, kami akan menangkap proses secara ekstensif ketika proses meningkatkan lebih dari ambang normal atau yang diharapkan, ini seharusnya tidak mengganggu lalu lintas apa pun tetapi MW masih disarankan. Namun saya melihat Anda telah mempersempitnya menjadi RPD.
OUTPUT SET TAMPILAN>
Anda juga sudah memeriksa apakah ada pesan ddos yang dilaporkan? Anda dapat menjalankan perintah berikut:
Maka tergantung apa yang Anda lihat dapat dipersempit misalnya:
Juniper juga memiliki daftar koleksi untuk jenis masalah ini di bawah KB22637
Perintah CPU CLI Tinggi
Aktifkan akuntansi tugas dan kumpulkan output detail akuntansi tugas (tiga kali dengan selisih 30 detik). Jangan lupa mematikannya setelah selesai.
Log
Arsipkan / var / log seperti yang ditentukan pada Langkah 1 di atas Traceoptions
Juga jika Anda menjalankan versi lama yang rentan terhadap bug, Anda mungkin ingin memeriksa dukungan masa pakai kode:
http://www.juniper.net/support/eol/junos.html
Hal lain yang bisa disebut serangan vektor adalah tidak melindungi RE Anda dari lalu lintas pengecualian yang tidak diinginkan. Pastikan Anda memiliki filter firewall di bawah loopback.
Saya telah melihat di skrip sebelumnya pada router menyebabkan cpu tinggi tidak yakin apakah rpd masuk ke pandangan saya, tapi ini adalah sesuatu yang Anda mungkin tidak ingin mengabaikannya.
Jika Anda melihat di log banyak klik dengan RPD_MPLS_PATH_BANDWIDTH_CHANGE Anda mungkin menggunakan interval penyesuaian yang sangat agresif
Periksa setiap tetes pada "show antrian sistem: ini adalah antrian kernel, beberapa petunjuk mungkin muncul.
sumber