Saya perlu memantau status nagios
service (Karena, setiap kali saya membuat perubahan dalam konfigurasi dan menerapkan konfigurasi baru, saya akan menemukan nagios
layanan dihentikan).
Jika ditemukan dalam status 'berhenti', layanan akan dimulai secara otomatis.
Saya mencoba menulis skrip shell kecil dan menambahkannya ke cron
, tetapi ternyata skrip akan dijalankan setiap saat meskipun layanan sedang berjalan. Scriptnya adalah:
#!/bin/bash
service nagios status | grep running
if [ $? -ne 0 ]
then
service nagios start
fi
Setiap kali layanan dalam status 'berhenti', output dari service nagios status
menunjukkan No lock file found in /usr/local/nagios/var/nagios.lock
. Haruskah saya memantau /usr/local/nagios/var/nagios.lock
file menggunakan inotify-tools
atau adakah alternatif yang lebih baik untuk ini?
Jawaban yang Diterima:
apakah ada alternatif yang lebih baik untuk ini?
Ya. Gunakan pengelola layanan yang tepat dan sampah yang /etc/init.d/nagios
naskah. Paling-paling, Anda menggunakan rc
Sistem 5 skrip dalam mode kompatibilitas di bawah sesuatu seperti pemula atau systemd, dalam hal ini Anda tidak akan mendapatkan beberapa mekanisme manajemen layanan yang berguna yang tidak tersedia dalam mode kompatibilitas karena orang ini di AskFedora tidak. Paling buruk, Anda menjalankan berbagai hal di bawah Sistem 5 rc
dan Anda tidak benar-benar memiliki harapan untuk melakukan pengelolaan layanan setengah jalan dengan skrip tersebut.
Ada banyak sistem manajemen layanan yang tersedia. Saya tidak akan membahas detail pemasangannya, karena itu jauh di luar cakupan jawaban ini. Sebagai gantinya, saya hanya akan fokus pada cara mengaktifkan dan menjalankan nagios demon di dalamnya.
daemontools
keluarga
daemontools
rangkaian alat manajemen layanan meliputi:
- Daemontools Dan Bernstein
- Pembebasan Adam Sampson
- Daemontools-encore Bruce Guenter
- S6 Laurent Bercot
- Bahagiaku
- Ringkasan Gerrit Pape
- Pelaku Wayne Marshall
Hal utama yang Anda butuhkan di sini adalah program yang menjadi demon. Untuk nagios, ini adalah 2- atau 3-liner. Satu dapat mencampur dan mencocokkan toolset. Berikut adalah beberapa 2-liner yang sesuai, menggunakan beberapa perangkat yang berbeda:
- Sebuah
run
file dengan kumpulan alat nosh:#!/bin/nosh
setuidgid nagios
nagiosdan
restart
file yang menyebabkan restart otomatis tanpa syarat:#!/bin/sh
exec trueSebagai permulaan, saya telah menambahkan bundel layanan pra-bangun untuk nagios ke nosh, yang akan tersedia di versi 1.13, cukup banyak dengan beberapa tambahan standar seperti informasi ketergantungan.
- Sebuah
run
file dengan runit toolset:#!/bin/sh -e
exec chpst -u nagios nagios - Sebuah
run
file dengan s6 toolset:#!/command/execlineb -P
s6-setuidgid nagios
nagios - Sebuah
run
file dengan daemontools, daemontools-encore, atau freedt toolset:#!/bin/sh -e
exec setuidgid nagios nagios - Sebuah
rc.main
file dengan perangkat pelaku:#!/bin/sh -e
exec 2>&1
start() { exec runuid nagios nagios; }
reset() { exit 0; }
eval "$1" "[email protected]"
Program ini untuk menjalankan layanan individu adalah satu-satunya hal yang khusus untuk layanan ini. Sisanya tidak berbeda dari satu layanan ke layanan lainnya. Satu menanyakan status layanan dengan cara yang sama di semua layanan, dengan perintah seperti svstat
. Mengaktifkan dan menonaktifkan startup otomatis saat bootstrap adalah masalah tautan simbolik. Memulai dan menghentikan layanan secara manual adalah masalah svc -u
dan svc -d
. Dan seterusnya.
nosh memiliki beberapa shim jika dibutuhkan, seperti systemctl status
dan initctl status
. Yang penting, ia memiliki service
shim, jadi jika Anda benar-benar seperti service nagios status
Anda dapat terus menggunakannya. Tapi lupakan semua pandangan buruk tentang bisnis file kunci, dan seluruh gagasan tentang pemantauan ad-hoc. Anda tidak berurusan dengan hal seperti itu dengan manajer layanan yang tepat. Manajer layanan melakukan pemantauan, dan melacak proses demon dengan benar.
systemd
Tidak ada file unit layanan systemd untuk nagios yang disertakan dalam kotak. Tapi banyak orang sudah menulis sendiri:
nagios.service
David Kowis untuk Source Mage Linuxnagios.service
ditambahkan ke paket nagios Arch Linux pada tahun 2012
systemd tidak datang dengan service
shim perintah, tetapi beberapa distribusi Linux memiliki satu dari sumber lain.
Bacaan lebih lanjut
- Bagaimana cara mengatur pemantauan layanan saya secara otomatis? Sehingga jika salah satu crash maka auto on the fly restart?