Kami memiliki tiga server yang menjalankan program python yang menjalankan tugas analisis data dalam satu tmux
sesi. Metode yang kami gunakan saat ini adalah ssh'ing ke masing-masing dari mereka yang menghubungkan tmux
sesi dan menonton output pada baris perintah.
Metode ini membosankan, jadi yang kami cari adalah solusi yang mengotomatiskan pemantauan kemajuan program (output pada CLI) untuk beberapa server sekaligus. Kami idealnya menginginkan solusi UI web tetapi CLI juga akan sangat cocok.
Terima kasih telah membaca.
monitoring
pupuk dr tahi burung
sumber
sumber
Jawaban:
Setiap kali Anda menjalankan perintah jangka panjang ad-hoc, Anda harus mundur dan memikirkan kembali proses Anda, karena itu harus otomatis, termasuk penanganan kesalahan.
Daripada menghubungkan ke server untuk melihat status, pendekatan yang lebih baik adalah mendorong informasi itu keluar. Anda dapat melakukan berbagai hal jika Anda ingin menulis banyak kode khusus, tetapi hal yang paling sederhana adalah mulai mengirim output melalui syslog ke sistem logging terpusat (syslog itu sendiri, atau ELK, atau apa pun). Dengan begitu Anda dapat memantau semuanya dari lokasi pusat.
Berpikir ke depan, jika ini bukan tugas satu kali, pemantauan harus dilakukan secara otomatis. Artinya, Anda tidak harus hanya menonton log untuk melihat apakah ada kemajuan sebagaimana mestinya. Alih-alih, Anda harus menganggap mereka (dan melanjutkan pekerjaan lain) sampai peringatan Anda padam . Ini adalah investasi waktu untuk mendapatkan peringatan yang luas dan dapat diandalkan, tetapi seiring dengan semakin kompleksnya sistem Anda, sistem ini akan terbayar karena Anda tidak harus memantau semuanya kapan pun Anda mengubah apa pun .
sumber
Graylog
Karena dua orang sudah menyarankan Anda untuk memikirkan kembali proses Anda saat ini (yang saya kedua karena akan menyebabkan Anda tidak bisa tidur di beberapa titik;)), saya akan pergi ke rute lain dan merekomendasikan perangkat lunak tertentu yang - menurut saya - cocok untuk sebagian besar kebutuhan Anda: Graylog .
Saya menerapkan dan menggunakan beberapa tumpukan ELK untuk agregasi log dan intelijen bisnis dan juga menjalankan / memelihara graylog selama sekitar dua tahun sekarang di perusahaan saya saat ini. Saya merekomendasikan graylog karena memiliki fitur-fitur berikut sebagai bawaan dan - menurut saya - sedikit lebih mudah untuk diatur dan dipelihara:
Sejauh yang saya mengerti skenario Anda, sepertinya Anda harus bertindak atau diberitahu tentang peristiwa tertentu yang muncul dalam aliran pesan log Anda. Jika kita melihat fitur Graylog :
Untuk mencoba Graylog, saya akan merekomendasikan dua langkah berikut:
Catatan: Dua langkah ini memiliki kemampuan untuk mengisi halaman dan halaman praktik terbaik dan harus menerima setidaknya beberapa pemikiran. Belum lagi bahwa graylog bukan solusi pemantauan dan graylog itu sendiri harus dipantau oleh alat pemantauan yang tepat (seperti misalnya Icinga, Prometheus, Nagios untuk menyebutkan beberapa saja).
sumber
Saya setuju dengan @Xiong Chiamiov dan saya ingin memberikan opsi yang lebih jelas. Jika Anda ingin setiap baris di CLI dipantau, saya akan menyarankan untuk mengarahkan ulang semua output ke file tertentu dan kesalahan ke file lain, kemudian gunakan logstash atau filebeat untuk mengirim kedua file ini ke Elasticsearch , maka Anda dapat mengkonfigurasi Logtril dengan Kibana memberi Anda melihat, menganalisis, mencari, dan mengekor log peristiwa dari beberapa host secara realtime dengan antarmuka yang ramah
sumber
terpusat
tmux
Sementara jawaban lain lebih pintar dan lebih bijaksana untuk jangka panjang saya pikir solusi CLI cepat hacky layak disebutkan. Jalankan
tmux
di satu server yang dapat menjangkau semua yang lain. Tempat yang bagus untuk ini adalah kotak lompatan atau tempat lain yang biasanya orang masuk. Dalamtmux
ssh "tengah" ini untuk setiap kotak dalam panel dan ekor yang berbeda, apa pun file log yang diperlukan. Anda dapat menggunakan ctrl- b "untuk mendapatkan lebih banyak panel di satu tab di dalamnyatmux
. Sekarang yang harus dilakukan seseorang untuk memeriksa semuanya adalah melampirkan ketmux
sesi "pusat" dan mereka dapat melihat seluruh cluster secara sekilas.Saya menghabiskan banyak waktu untuk membangun solusi UI web yang sedang Anda upayakan, tetapi jika Anda membutuhkannya hari ini, meretas sesuatu yang
tmux
dapat menyelamatkan hari.sumber