Bagaimana cara menyelidiki server Linux yang tidak terduga dimatikan?

16

Dalam server Xeon 55XX baru dengan 4xSSD pada serangan 10 dengan Debian 6, saya telah mengalami 2 shut down acak dalam waktu dua minggu setelah server dibangun. Melihat log bandwidth sebelum dimatikan tidak menunjukkan sesuatu yang tidak biasa. Beban server biasanya sangat rendah (sekitar 1) dan ditempatkan jauh. Tampaknya tidak ada pemadaman listrik saat server turun.

Saya tahu bahwa saya melihat / var / log tetapi tidak yakin log mana yang harus saya selidiki dan apa yang harus saya cari. Jadi hargai petunjuk Anda.

alfish
sumber
Apakah Anda menemukan apa masalahnya?
cherouvim

Jawaban:

11

Pertama, saya harus bertanya: "shutdowns"? Apakah maksud Anda bahwa mesin reboot atau apakah itu benar-benar berhenti? Jika berhenti, itu salah konfigurasi (mungkin di BIOS) atau ada sesuatu yang secara aktif mematikan mesin (yaitu init 0).

Jika tidak, kandidat utama Anda adalah / var / log / syslog dan /var/log/kern.log karena masalah Anda terdengar seperti panik kernel atau kesalahan perangkat keras yang dipicu oleh perangkat lunak. Tentu saja, jika server menjalankan beberapa layanan (mis. Apache) dapat memberi Anda petunjuk juga.

Seringkali, dalam situasi seperti ini, ada entri log yang dihasilkan, tetapi karena mesin mengalami kesulitan, itu tidak akan berhasil menulis entri ke disk. Jika kotak tersebut ditempatkan, kemungkinan terhubung ke konsol serial oleh mitra colo. Di situlah saya akan mencari jika saya tidak menemukan sesuatu yang mencurigakan di log di atas.

Jika mesin tidak terhubung ke konsol serial dan tidak ada dalam log, Anda mungkin ingin mempertimbangkan untuk mengirim syslog ke kotak yang berbeda melalui jaringan. Mungkin antarmuka jaringan bertahan sedikit lebih lama, dan pesan log dapat dibaca di server syslog. Lihatlah rsyslog atau syslog-ng.

MEMPERBARUI:

Saya setuju dengan @Johann di bawah ini. Penyebab paling mungkin berhenti adalah pengawas suhu prosesor. Coba periksa / rencanakan suhu dalam kotak melalui sensor atau smartctl (biasanya yang paling mudah). Saya menemukan bahwa collectd tidak tertandingi dalam melacak sejumlah besar variabel dari waktu ke waktu. Ia dapat melakukan IPMI dan lm-sensor dan hddtemp. Juga, beberapa BIOS: menghentikan aktivitas suhu log.

Bittrance
sumber
Mesin mati, dan hidup kembali tepat setelah saya meminta dukungan untuk memulai secara manual.
alfish
Jika suhu adalah masalah, instal munin untuk melacak data suhu dari waktu ke waktu untuk melihat tren.
pkhamre
+1 untuk masalah suhu. Punya hal yang sama pada salah satu server saya di pusat data - ternyata mereka lupa menghubungkan salah satu penggemar CPU ketika mereka membangun sistem.
Berikan
9

Pertama, Anda ingin memeriksa /var/log/syslog. Jika Anda tidak yakin apa yang harus dicari, Anda bisa mulai dengan mencari kata-kata error, panicdan warning.

grep -i error /var/log/syslog

Jika Anda memiliki grafik sistem yang tersedia (misalnya Munin). Periksa dan cari pola yang tidak normal. Jika Anda belum menginstal munin, mungkin ide untuk menginstalnya ( apt-get install munin munin-node)

Anda juga harus memeriksa root-mail untuk setiap pesan menarik yang mungkin terkait dengan crash sistem Anda.

File log lain yang harus Anda periksa adalah log kesalahan aplikasi. Misal /var/log/apache2/error.logatau serupa. Mereka mungkin berisi informasi yang mengarahkan Anda ke masalah.

pkhamre
sumber
6

Dalam pengalaman saya, "berhenti tak terduga" hampir selalu disebabkan oleh terlalu panas. Periksa suhu dan kecepatan kipas Anda melalui lm_sensor dan pastikan semuanya bagus.

Baru-baru ini kami memiliki pola yang sama: Server terhenti sekitar satu jam setelah dukungan secara manual memulainya. Setelah jam ini suhu CPU mencapai ambang yang dikonfigurasi di BIOS (iirc 60 atau 70 ° C) dan menghentikan sistem. Semua masalah ini disebabkan oleh kipas CPU yang rusak. Setelah mengganti kipas semuanya kembali normal.

ercpe
sumber
2

Ada sejumlah file log di direktori / var / log (dan subdirektori), termasuk

/var/log/boot

dan

/var/log/boot.log

Mulai dengan file di atas.

Naveen
sumber
Dan mencari "apa"?
Pierre.Vriens
Itu tergantung dari jenis kegagalan yang terjadi. Sebagian besar kasus, penyebab utama adalah crash kernel, kegagalan daya atau overheat yang disebabkan CPU shutdown, yang berarti tidak ada seorang pun untuk menulis entri ke file log dan membilasnya ke disk, sehingga tidak akan ada pesan sama sekali di sana .
asdmin
1

Ada 2 cara untuk memeriksa apa yang memicu shutdown, pertama memeriksa konsol Manajemen Out-Of-Band untuk setiap masalah dalam perangkat keras, saya akan menyarankan untuk mengkonfigurasi SNMP dan menerima email atau menambahkan jebakan dalam perangkat lunak pemantauan untuk peringatan apa pun.

Kemudian melalui Sistem Operasi, Anda dapat memeriksa /var/log/messages(distro berbasis RedHat) atau /var/log/syslog(distro Berbasis Debian).

etcshad0vv
sumber
0

Subsistem disk cukup rumit untuk terpengaruh ketika masalah terjadi, karena Anda tidak akan mendapatkan apa pun dalam file log Anda.

Coba masuk melalui konsol serial. Ini membutuhkan beberapa pemasangan kabel, dan sistem lain untuk mengambil garis, tetapi Anda memiliki kesempatan yang lebih baik untuk menangkap masalahnya.

Tentu saja jika simpul Anda memiliki sistem manajemen bawaan yang mirip dengan ALOM / ILOM Oracle, Anda juga dapat memeriksa kemungkinan masalah dan mencatat file di sana.

asdmin
sumber
-1

Anda dapat menemukan jika sistem tahu tentang fakta bahwa itu turun dengan perintah berikutnya

sudo last -1x reboot
sudo last -1x shutdown

Jika tidak ada info => maka itu bisa kehilangan daya atau sesuatu yang eksternal

jika Anda memiliki info => cari di log sekitar waktu reboot / shutdown

Ryabchenko Alexander
sumber