Saya menggunakan Amazon EC2 untuk aplikasi seluler saya. Bergantung pada memuat aplikasi pada waktu tertentu, saya mungkin menelurkan contoh baru dan kemudian mengambilnya ketika beban lebih rendah untuk menghemat biaya.
Bagaimana seseorang mengikuti konfigurasi Nagios untuk lingkungan yang begitu dinamis? Ketika seseorang berurusan dengan perangkat keras yang dikelola, file konfigurasi dapat diprediksi. Dalam hal ini Nagios, Capistrano dan banyak file konfigurasi lainnya perlu ditambahkan. Capistrano perlu tahu ke mana harus menggunakan build baru untuk server aplikasi. Nagios perlu tahu untuk menghapus instance yang ada atau menambahkan instance baru untuk pemantauan. Nagios juga perlu tahu apakah suatu simpul sengaja diturunkan atau apakah tuan rumah turun karena kesalahan.
Bagaimana ini dilakukan dengan dunia VPS / instance dinamis yang indah?
Tuliskan sedikit skrip php saya sendiri yang menulis konfigurasi nagios ke file. Nagios mudah karena hanya berupa file teks sehingga yang perlu Anda lakukan hanyalah membuat templat untuk setiap jenis server. Kemudian ketika server mulai menambahkan file menggunakan templat. Satu-satunya data yang berubah dalam file adalah ip dan nama host.
Untuk server yang lebih statis, saya membuat skrip yang menjalankan
ec2-describe-instances
dan membuat file untuk setiap instance yang dikembalikan. Setiap instance ditandai dengan tag: Tujuan = XXXX jadi saya tahu templat mana yang akan diterapkan.Untuk grup penskalaan otomatis kami, kami menyiapkan pemberitahuan menggunakan
as-put-notification-configuration
perintah yang mengirim pesan ke antrian SQS. Script php dijalankan oleh crontab. Ketika skrip dijalankan itu memeriksa antrian untuk server baru. Setiap kali ia menemukan server baru itu membuat file baru. Hal yang sama terjadi ketika server dihapus. Mungkin lebih mudah untuk menggunakan Chef atau sesuatu jika Anda sudah menggunakannya tetapi jika tidak, Anda dapat menulis layanan php sederhana seperti milik saya dalam beberapa hari.sumber
Kami menggunakan Opsview , yang merupakan nagios + database + rest-api wrapper lainnya. Saya tidak tahu apakah ini solusi terbaik untuk semua orang (atau bahkan kita) tetapi memungkinkan kita untuk mengkonfigurasi server Nagios secara dinamis melalui REST API sederhana dari node (atau node administratif lainnya) ketika muncul dan menghapusnya dari konfigurasi setelah selesai. Saya menggunakan definisi Host Templates sebagai bagian dari manifes Wayang server Opsview (/ Nagios) dan host yang dimonitor hanya mendaftar dan bergabung dengan Host Template yang tepat sebagai bagian dari manifes Wayang mereka.
Pendekatan yang lebih "generik", yang harus bekerja dengan hampir semua hal bahkan Nagios asli dan file statisnya, adalah Puppet Stored Configuration - ini memungkinkan Anda untuk skrip sesuatu untuk mengkonfigurasi alat apa pun yang Anda inginkan namun Anda suka berdasarkan pada informasi yang dikumpulkan oleh boneka wayang. manifesnya.
Saya menyarankan bahwa untuk tujuan forensik Anda tidak boleh menghapus konfigurasi node sama sekali ketika diturunkan tetapi cobalah untuk mengarsipkannya dan informasi pemantauan dikumpulkan tentang hal itu ketika sedang naik.
sumber
Ada beberapa cara.
Menggunakan Template Amazon EC2 Pra-konfigurasi.
Menggunakan boneka wayang dengan templat yang bervariasi.
Setup VPN antara jaringan nagios Anda dan VM amazon Anda. Kemudian semua VM amazon Anda akan memiliki IP statika, Anda bahkan dapat mengatur DNS. Kami memiliki nagios yang berjalan dan memantau semua instance amazon kami. Kami bahkan tidak memerlukan ip elastis. Kami menggunakan openvpn untuk VPN.
Buat nagios yang mendengarkan perintah eksternal dan perbarui konfigurasinya. Akhirnya mesin dapat mendaftar, membatalkan registrasi, menangguhkan, melanjutkannya sendiri di Nagios.
sumber
Saya tidak punya peluru perak untuk menyelesaikan masalah ini dengan nagios. Tetapi untuk capistrano ada capify-ec2 , ekstensi untuk capistrano yang memecahkan daftar peran server menggunakan kemampuan penandaan amazon.
sumber