Ini adalah monit perintah yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
Monit - utilitas untuk memantau layanan pada sistem Unix
RINGKASAN
monit [pilihan]
DESKRIPSI
Monit adalah utilitas untuk mengelola dan memantau proses, program, file, direktori, dan
sistem file pada sistem Unix. Monit melakukan perawatan dan perbaikan otomatis dan dapat
melakukan tindakan kausal yang berarti dalam situasi kesalahan. Misalnya Monit dapat memulai proses jika
itu tidak berjalan, mulai ulang proses jika tidak merespons dan hentikan proses jika menggunakan
terlalu banyak sumber daya. Anda dapat menggunakan Monit untuk memantau file, direktori, dan sistem file untuk
perubahan, seperti perubahan cap waktu, perubahan checksum, atau perubahan ukuran.
Monit dikontrol melalui file kontrol yang mudah dikonfigurasi berdasarkan format bebas, token-
sintaks berorientasi. Memantau log ke syslog atau ke file lognya sendiri dan memberi tahu Anda tentang kesalahan
kondisi melalui pesan peringatan yang dapat disesuaikan. Monit dapat melakukan berbagai jaringan TCP/IP
pemeriksaan, pemeriksaan protokol dan dapat menggunakan SSL untuk pemeriksaan tersebut. Monit menyediakan HTTP(S)
antarmuka dan Anda dapat menggunakan browser untuk mengakses program Monit.
APA UNTUK PEMANTAUAN?
Anda dapat menggunakan Monit untuk memantau daemon proses atau program serupa yang berjalan di localhost.
Monit sangat berguna untuk memantau proses daemon, seperti yang dimulai pada
waktu boot sistem. Misalnya sendmail, sshd, apache dan mysql. Berbeda dengan banyak lainnya
sistem pemantauan, Monit dapat bertindak jika situasi kesalahan harus terjadi, misalnya; jika sendmail adalah
tidak berjalan, monit dapat memulai sendmail lagi secara otomatis atau jika apache menggunakan terlalu banyak
sumber daya (misalnya jika serangan DoS sedang berlangsung) Monit dapat menghentikan atau memulai ulang apache dan mengirim
Anda pesan peringatan. Monit juga dapat memantau karakteristik proses, seperti seberapa banyak
memori atau siklus cpu yang digunakan proses.
Anda juga dapat menggunakan Monit untuk memantau arsip, direktori dan sistem file di localhost. monita
dapat memantau item ini untuk perubahan, seperti perubahan cap waktu, perubahan checksum, atau ukuran
perubahan. Ini juga berguna untuk alasan keamanan - Anda dapat memantau md5 atau sha1
checksum file yang seharusnya tidak berubah dan mendapatkan peringatan atau melakukan tindakan jika mereka
harus berubah.
Monit dapat memantau jaringan koneksi ke berbagai server, baik di localhost maupun di remote
tuan rumah. TCP, UDP, dan Soket Domain Unix didukung. Tes jaringan dapat dilakukan pada a
tingkat protokol; Monit memiliki tes bawaan untuk protokol Internet utama, seperti HTTP,
SMTP dll. Bahkan jika protokol tidak didukung, Anda masih dapat menguji server karena Anda
dapat mengonfigurasi Monit untuk mengirim data apa pun dan menguji respons dari server.
Monit dapat digunakan untuk menguji program atau skrip pada waktu tertentu, seperti cron, tetapi dalam
Selain itu, Anda dapat menguji nilai keluar dari suatu program dan melakukan tindakan atau mengirim peringatan
jika nilai keluar menunjukkan kesalahan. Ini berarti Anda dapat menggunakan Monit untuk melakukan apa saja
jenis cek tempat Anda dapat menulis skrip.
Akhirnya, Monit dapat digunakan untuk memantau secara umum sistem sumber daya di localhost seperti
penggunaan CPU secara keseluruhan, Memori dan Beban Sistem.
UMUM OPERASI
Perilaku Monit dikendalikan oleh opsi baris perintah dan menjalankan file kontrol,
monitrc, sintaks yang kami jelaskan di bagian selanjutnya. Opsi baris perintah menimpa
.monitrc deklarasi.
Lokasi default untuk memantau is ~/.monitrc. Jika file ini tidak ada, Monit akan
mencoba /etc/monitrc dan beberapa tempat lainnya. Lihat FILE untuk detailnya. Anda juga dapat menentukan
mengontrol file secara langsung dengan menggunakan -c beralih baris perintah ke monit. Misalnya,
$ monit -c /var/monit/monitrc
Sebelum Monit dimulai pertama kali, Anda dapat menguji file kontrol untuk kesalahan sintaks:
$monit -t
$ Kontrol sintaks file OK
Jika terjadi kesalahan, Monit akan mencetak pesan kesalahan ke konsol, termasuk:
nomor baris dalam file kontrol dari mana kesalahan ditemukan.
Setelah Anda memiliki file kontrol Monit yang berfungsi, cukup mulai Monit dari konsol, seperti:
$monit
Anda dapat mengubah beberapa arahan konfigurasi melalui sakelar baris perintah, tetapi untuk kesederhanaan
Anda disarankan untuk memasukkan ini ke dalam file kontrol.
Monit akan terlepas dari terminal dan berjalan sebagai proses latar belakang, yaitu sebagai daemon
proses. Sebagai daemon, Monit berjalan dalam siklus; Ini memantau layanan, lalu pergi tidur untuk
periode yang dikonfigurasi, lalu bangun dan mulai memantau lagi dalam lingkaran tanpa akhir.
Opsi
Opsi berikut dikenali oleh Monit. Namun, Anda disarankan untuk mengatur
opsi (bila berlaku) langsung di .monitrc berkas kendali.
-c fillet
Gunakan file kontrol ini
-d n
Jalankan Monit sebagai daemon sekali per n detik. Atau gunakan "mengatur
setan" di monitrc.
-g nama
Tetapkan nama grup untuk mulai, berhenti, mulai ulang, monitor, hapus monitor,
status dan ringkasan tindakan.
-l file log
Cetak informasi log ke file ini. Atau gunakan "mengatur berkas log"
di monitrc.
-p file pid
Gunakan file kunci ini dalam mode daemon. Atau gunakan "mengatur file pid"
di monitrc.
-s file negara
Tulis informasi status ke file ini. Atau gunakan "mengatur
berkas negara" di monitrc.
-I
Jangan berjalan di latar belakang (diperlukan untuk menjalankan dari init)
-i
Cetak ID unik Monit
-r
Setel ulang ID unik Monit. Gunakan dengan hati-hati
-t
Jalankan pemeriksaan sintaks untuk file kontrol
-v
Mode verbose, bekerja berisik (output diagnostik)
-vv
Mode yang sangat verbose, sama seperti -v plus log stack-trace on error
-H [nama file]
Cetak hash MD5 dan SHA1 dari file atau stdin jika:
nama file dihilangkan; Monit akan keluar setelahnya
-V
Cetak nomor versi dan level tambalan
-h
Cetak teks bantuan
kasus
Setelah Anda menjalankan Monit sebagai proses daemon, Anda dapat memanggil Monit dengan salah satu dari
argumen berikut. Monit kemudian akan terhubung ke daemon Monit (pada port TCP
127.0.0.1:2812 secara default) dan minta daemon Monit untuk melakukan tindakan yang diminta. Di dalam
kata lain; memanggil monit tanpa argumen memulai daemon Monit, dan memanggil monit
dengan argumen memungkinkan Anda untuk berkomunikasi dengan proses daemon Monit.
mulai semua
Mulai semua layanan yang tercantum dalam file kontrol dan aktifkan pemantauannya. jika
opsi grup diatur (-g), hanya memulai dan mengaktifkan pemantauan layanan dalam nama
group ("semua" tidak diperlukan dalam kasus ini).
nama awal
Mulai layanan bernama dan aktifkan pemantauannya. Namanya adalah nama entri layanan
dari file monitrc.
hentikan semua
Hentikan semua layanan yang tercantum dalam file kontrol dan nonaktifkan pemantauannya. jika
opsi grup diatur, hanya hentikan dan nonaktifkan pemantauan layanan dalam nama
group ("semua" tidak diperlukan dalam kasus ini).
nama berhenti
Hentikan layanan bernama dan nonaktifkan pemantauannya. Namanya adalah nama entri layanan
dari file monitrc.
mulai ulang semua
Berhenti dan mulai semua jasa. Jika opsi grup disetel, hanya restart layanan di
grup bernama ("semua" tidak diperlukan dalam kasus ini).
mulai ulang nama
Mulai ulang layanan bernama. Nama tersebut adalah nama entri layanan dari file monitrc.
pantau semua
Aktifkan pemantauan semua layanan yang tercantum dalam file kontrol. Jika opsi grup adalah
set, hanya mulai memantau layanan di grup bernama ("semua" tidak diperlukan di
kasus ini).
nama monitor
Aktifkan pemantauan layanan bernama. Nama tersebut adalah nama entri layanan dari
file monitrc. Monit juga akan memungkinkan pemantauan semua layanan yang bergantung pada layanan ini
pada.
hapus semua
Nonaktifkan pemantauan semua layanan yang tercantum dalam file kontrol. Jika opsi grup adalah
atur, hanya nonaktifkan pemantauan layanan di grup bernama ("semua" tidak diperlukan di
kasus ini).
hapus nama
Nonaktifkan pemantauan layanan bernama. Nama tersebut adalah nama entri layanan dari
file monitrc. Monit juga akan menonaktifkan pemantauan semua layanan yang bergantung pada ini
layanan.
status [nama]
Cetak informasi status layanan.
ringkasan [nama]
Cetak ringkasan status singkat.
kembali
Inisialisasi ulang daemon Monit yang sedang berjalan, daemon akan membaca ulang konfigurasinya, tutup
dan buka kembali file log.
berhenti
Bunuh proses daemon Monit
mengesahkan
Periksa semua layanan yang tercantum dalam file kontrol. Tindakan ini juga merupakan default
perilaku ketika Monit berjalan dalam mode daemon.
regex procmatch
Memungkinkan pengujian pola yang mudah untuk pemeriksaan kecocokan proses. Perintah mengambil reguler
ekspresi sebagai argumen dan menampilkan semua proses yang berjalan sesuai dengan pola.
THE MONITOR PENGENDALIAN FILE
Monit dikonfigurasi dan dikontrol melalui file kontrol yang disebut memantau. Lokasi default
untuk file ini adalah ~/.monitrc. Jika file ini tidak ada, Monit akan mencoba /etc/monitrc,
lalu @sysconfdir@/monitrc dan terakhir ./monitrc. Jika Anda membangun Monit dari sumber, nilainya
dari @sysconfdir@ dapat diberikan pada waktu konfigurasi sebagai ./configure --sysconfdir. Contohnya,
menggunakan . / Configure --sysconfdir /var/monit/dll akan membuat Monit mencari memantau in
/var/monit/dll
Untuk melindungi keamanan file kontrol dan kata sandi Anda, file kontrol harus dimiliki
izin baca-tulis tidak lebih dari 0700 (u=xrw,g=,o=); Monit akan mengeluh dan keluar
jika tidak.
Ketika ada konflik antara argumen baris perintah dan argumen dalam ini
file, argumen baris perintah diutamakan.
Monit menggunakan Domain Specific Language (DSL) miliknya sendiri; File kontrol terdiri dari seri
entri layanan dan pernyataan opsi global.
Komentar dimulai dengan '#' dan diperpanjang hingga akhir baris. Jika tidak, file
terdiri dari serangkaian entri layanan atau pernyataan opsi global dalam format bebas,
sintaks berorientasi token.
Anda dapat menggunakan kata kunci noise seperti 'if', 'and', 'with(in)', 'has', 'us(ing|e)', 'on(ly)',
'then', 'for', 'of' di mana saja dalam entri untuk membuatnya menyerupai bahasa Inggris. Mereka diabaikan, tapi
dapat membuat entri lebih mudah dibaca sekilas. Kata kunci tidak peka huruf besar/kecil.
Ada tiga jenis token: tatabahasa, nomor (yaitu urutan angka desimal) dan
string. String dapat dikutip atau tidak dikutip. String yang dikutip dibatasi oleh double
tanda kutip dan mungkin berisi spasi (dan angka yang dikutip diperlakukan sebagai string). Tidak dikutip
string adalah token yang dibatasi spasi, berisi karakter dan/atau angka.
Pada tingkat semantik, file kontrol terdiri dari tiga jenis entri:
1. Pernyataan set global
Pernyataan set global dimulai dengan kata kunci "set" dan item yang akan dikonfigurasi.
2. Pernyataan penyertaan global
Pernyataan include terdiri dari kata kunci "include" dan string glob. Ini
pernyataan digunakan untuk memasukkan arahan konfigurasi dari file terpisah.
3. Satu atau lebih pernyataan entri layanan.
Setiap entri layanan terdiri dari kata kunci "periksa", diikuti dengan jenis layanan.
Setiap entri membutuhkan unik nama deskriptif, yang dapat dipilih secara bebas. Nama ini
digunakan oleh Monit untuk merujuk ke layanan secara internal dan dalam semua interaksi dengan
pengguna.
Saat ini, sembilan jenis pernyataan cek didukung:
1. PROSES PERIKSA | COCOK >
adalah jalur absolut ke file pid program. File pid adalah file,
berisi ID unik Proses. Jika file pid tidak ada atau tidak mengandung
nomor PID dari proses yang sedang berjalan, Monit akan memanggil metode awal entri jika
didefinisikan.
adalah alternatif untuk menggunakan file PID dan menggunakan pencocokan pola nama proses untuk
menemukan proses untuk memantau. Pertandingan pertama digunakan jadi bentuk cek ini paling banyak
berguna jika nama prosesnya unik. Pid-file harus digunakan jika memungkinkan
mendefinisikan pid yang diharapkan dengan tepat (pencocokan pola tidak akan berguna untuk proses yang
mulai proses anak menggunakan garpu/klon karena anak akan cocok dengan pola yang sama
untuk sementara). Anda dapat menguji apakah suatu proses cocok dengan pola dari baris perintah menggunakan
"monit procmatch "pola-regex"". Ini akan mencantumkan semua proses yang cocok atau tidak,
pola-regex.
2. PERIKSA FILE JALUR
adalah jalur absolut ke file. Jika file tidak ada, Monit akan memanggil
metode awal entri jika ditentukan, jika tidak menunjuk ke jenis file biasa
(misalnya direktori), Monit akan menonaktifkan pemantauan entri ini. Jika Monit berjalan
dalam mode pasif atau metode mulai tidak ditentukan, Monit hanya akan mengirimkan peringatan pada
kesalahan.
3. PERIKSA FIFO JALUR
adalah jalur absolut ke fifo. Jika fifo tidak ada, Monit akan memanggil
metode awal entri jika ditentukan, jika tidak menunjuk ke tipe fifo (untuk
misalnya direktori), Monit akan menonaktifkan pemantauan entri ini. Jika Monit masuk
mode pasif atau metode mulai tidak ditentukan, Monit hanya akan mengirimkan peringatan
kesalahan.
4. PERIKSA SISTEM FILE JALUR
adalah jalur ke perangkat/disk, titik mount, file atau direktori yang merupakan bagian
dari sebuah sistem file. Disarankan untuk menggunakan file khusus blok secara langsung (misalnya
/dev/hda1 di Linux atau /dev/dsk/c0t0d0s1 di Solaris, dll.) Jika Anda menggunakan mount point
(misalnya /data), perhatikan jika sistem file di-unmount, pengujian akan tetap benar
karena titik mount ada.
Jika sistem file menjadi tidak tersedia, Monit akan memanggil metode awal entri jika
didefinisikan. jika tidak menunjuk ke sistem file, Monit akan menonaktifkan pemantauan
entri ini. Jika Monit berjalan dalam mode pasif atau metode mulai tidak ditentukan, Monit
hanya akan mengirim peringatan kesalahan.
5. CEK DIREKTORI JALUR
adalah jalur absolut ke direktori. Jika direktori tidak ada, Monit
akan memanggil metode awal entri jika ditentukan. Jika tidak menunjuk ke
direktori, monit akan menonaktifkan pemantauan entri ini. Jika Monit berjalan dalam mode pasif
atau metode mulai tidak ditentukan, Monit hanya akan mengirimkan peringatan kesalahan.
6. PERIKSA PEMBAWA ACARA ALAMAT
Alamat host dapat ditentukan sebagai string nama host atau sebagai string alamat IP pada a
format desimal bertitik. Seperti, tildeslash.com atau "64.87.72.95".
7. PERIKSA SISTEM
unik nama biasanya nama host lokal, tetapi nama deskriptif apa pun dapat digunakan.
Jika Anda menggunakan variabel $HOST sebagai nama, itu akan diperluas ke nama host. cek ini
memungkinkan seseorang untuk memantau sumber daya sistem umum seperti penggunaan CPU, penggunaan memori total
atau beban rata-rata. Itu unik nama digunakan sebagai nama host sistem dalam peringatan email dan sebagai
nama awal entri host di M/Monit.
8. PERIKSA PROGRAM JALUR [WAKTU HABIS DETIK]
adalah jalur absolut ke program atau skrip yang dapat dieksekusi. Tes status
memungkinkan seseorang untuk memeriksa status keluar program. Jika program tidak selesai
mengeksekusi dalam detik, Monit akan menghentikannya. Program bawaan
batas waktu adalah 300 detik (5 menit). Keluaran program direkam dan dibuat
tersedia di Antarmuka Pengguna dan dalam peringatan (secara default hingga 512B, Anda dapat
menyesuaikan batas menggunakan pernyataan batas yang ditetapkan).
9. PERIKSA JARINGAN | ANTARMUKA >
adalah alamat IPv4 atau IPv6 dari antarmuka jaringan yang dipantau. Itu juga
mungkin untuk menggunakan nama antarmuka, seperti "eth0" di Linux.
masuk
Monit akan mencatat status dan pesan kesalahan ke file log. Menggunakan set file log pernyataan dalam
file kontrol monitrc. Untuk mengatur Monit untuk masuk ke file lognya sendiri, gunakan mis set file log
/var/log/monit.log. Jika syslog diberikan sebagai nilai untuk sakelar baris perintah "-l" (atau
kata kunci set file log syslog ditemukan di file kontrol) Monit akan menggunakan syslog sistem
daemon untuk mencatat pesan dengan prioritas yang ditetapkan untuk setiap pesan berdasarkan konteksnya. Ke
matikan logging, cukup jangan mengatur file log di file kontrol (dan tentu saja, jangan
gunakan sakelar -l)
Format untuk file log adalah:
[tanggal] prioritas : pesan
misalnya:
[CET 5 Jan 18:49:29] info : 'localhost' Monit dimulai
DAEMON MODE
penggunaan
SET DAEMON
[[DENGAN] MULAI TUNDA ]
untuk menentukan panjang siklus polling Monit dan menjalankan Monit dalam mode daemon. Anda harus menentukan a
argumen numerik yang merupakan interval polling dalam hitungan detik.
Dalam mode daemon, Monit melepaskan diri dari konsol, menempatkan dirinya di latar belakang dan berjalan
terus menerus, memantau setiap layanan yang ditentukan dan kemudian tidur untuk jajak pendapat yang diberikan
interval, bangun dan mulai memantau lagi dalam siklus tanpa akhir.
Atau, Anda dapat menggunakan sakelar baris perintah "-d" untuk mengatur interval polling, tetapi itu
sangat disarankan untuk mengatur interval polling di ~/.monitrc file, dengan menggunakan set
daemon.
Monit kemudian akan selalu mulai dalam mode daemon. Jika Anda tidak menggunakan pernyataan ini dan tidak
mulai monit dengan opsi -d, Monit hanya akan menjalankan pemeriksaan layanan sekali dan
kemudian keluar. Ini mungkin berguna dalam beberapa situasi, tetapi Monit terutama dirancang untuk dijalankan
sebagai proses daemon.
Memanggil "monit" dengan daemon Monit yang berjalan di latar belakang mengirimkan sinyal bangun ke
daemon, memaksanya untuk segera memeriksa layanan. Memanggil "monit" dengan berhenti
argumen akan mematikan proses daemon Monit yang sedang berjalan alih-alih membangunkannya.
Opsi penundaan mulai dapat digunakan untuk menunggu (sekali) sebelum Monit mulai memeriksa layanan.
Ini dapat berguna misalnya ketika sistem melakukan booting. Monit secara default akan mulai memeriksa
layanan segera saat startup.
INIT SUPPORT
Pernyataan "set init" mencegah Monit mengubah dirinya menjadi proses daemon.
Sebaliknya Monit akan berjalan sebagai proses latar depan. (Anda masih harus menggunakan "set daemon" untuk
tentukan siklus polling).
Ini diperlukan untuk menjalankan Monit dari init. Menggunakan init untuk memulai Monit mungkin yang terbaik
cara menjalankan Monit jika Anda ingin memastikan bahwa Anda selalu menjalankan daemon Monit
sistem Anda. Pilihan lain adalah menjalankan Monit dari crontab. Bagaimanapun, Anda harus membuat
pastikan bahwa file kontrol tidak memiliki kesalahan sintaks sebelum Anda memulai Monit dari
init atau crontab (gunakan "monit -t" untuk memeriksa).
Untuk mengatur Monit agar dijalankan dari init, Anda dapat menggunakan pernyataan "set init" di Monit's
kontrol file atau gunakan opsi "-I" dari baris perintah. Inilah yang harus Anda tambahkan
"/etc/inittab":
# Jalankan Monit di run-level standar
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc
Setelah Anda memodifikasi file konfigurasi init, Anda dapat menjalankan perintah berikut untuk:
periksa kembali /etc/inittab dan mulai Monit:
telinit q
Untuk sistem tanpa telinit:
bunuh -1 1
Jika Monit digunakan untuk memantau layanan yang juga dimulai saat boot (mis. layanan
dimulai melalui skrip init rc SYSV atau melalui inittab) kemudian, dalam beberapa kasus, kondisi balapan
bisa terjadi. Itu adalah; jika layanan lambat untuk memulai, Monit dapat berasumsi bahwa layanan tersebut
tidak berjalan dan mungkin mencoba untuk memulainya dan meningkatkan peringatan, padahal sebenarnya layanan ini
sudah akan memulai atau sudah dalam urutan startup. Silakan lihat FAQ untuk
solusi untuk masalah ini. Versi singkatnya adalah memulai Monit pada run-level yang lebih tinggi setelahnya
proses sistem.
TERMASUK FILE
File kontrol Monit, "monitrc", dapat menyertakan file konfigurasi tambahan. Ini
fitur membantu seseorang untuk mengatur konfigurasi ke dalam file terpisah alih-alih memiliki
semuanya dalam satu file, jika Anda menyukai hal semacam ini. Sertakan pernyataan dapat ditempatkan
di hampir semua tempat di "monitrc" meskipun konvensi ada di bagian bawah. Sintaksnya adalah
berikut:
TERMASUK
Globstring adalah segala jenis string seperti yang didefinisikan dalam bola(7). Dengan demikian, Anda dapat merujuk ke
file tunggal atau Anda dapat memuat beberapa file sekaligus. Jika Anda ingin menggunakan spasi putih di
string globstring perlu disematkan ke dalam tanda kutip (') atau tanda kutip ganda (")
globstring cocok dengan direktori alih-alih file, itu diabaikan secara diam-diam.
Apa saja memasukkan pernyataan dalam file yang disertakan diuraikan seperti pada file kontrol utama.
Jika globstring cocok dengan beberapa hasil, file disertakan dengan cara yang tidak diurutkan.
Jika Anda perlu mengandalkan pesanan tertentu, Anda harus menghindari globbing wild-card dan sebagai gantinya
tentukan path lengkap file yang disertakan.
Sebuah contoh,
sertakan /etc/monit.d/*.cfg
Ini akan memuat file apa pun yang cocok dengan globstring. Artinya, semua file di /etc/monit.d bahwa
diakhiri dengan awalan .cfg.
SSL PILIHAN
Opsi SSL/TLS umum dapat diatur menggunakan pernyataan berikut dan akan berlaku untuk semua SSL
koneksi yang dilakukan melalui Monit:
MENGATUR [PILIHAN] {
VERSI: KAPAN:
MEMERIKSA:
DITANDAI SENDIRI:
KLIENPEMFILE:
FILE CACERTIFICATE:
JALAN CASERTIFIKAT:
}
VERSION atur versi SSL/TLS tertentu yang akan digunakan. Secara default Monit menggunakan AUTO. Dalam mode OTOMATIS,
hanya TLS yang digunakan, SSLv2 dan SSLv3 dianggap usang. Jika Anda harus menggunakan SSLv2 atau
SSLv3, Anda harus secara eksplisit mengatur versi.
VERIFIKASI aktifkan verifikasi sertifikat server SSL. Ini akan memverifikasi dan melaporkan kesalahan jika
sertifikat server tidak tepercaya, tidak valid atau telah kedaluwarsa. Secara default sertifikat
verifikasi dinonaktifkan, meskipun kami sarankan untuk mengaktifkannya, jika tidak, tidak ada jaminan
bahwa Monit berbicara dengan server yang Anda pikir berbicara dengannya.
PENDAFTARAN SENDIRI sertifikat yang ditandatangani sendiri ditolak secara default. Gunakan opsi ini untuk mengizinkan
sertifikat yang ditandatangani sendiri.
FILE PEMBELI KLIEN atur jalur ke "file database" sertifikat klien SSL dalam format PEM. Jika
server SSL memerlukan otentikasi sertifikat klien, Monit akan mencoba menemukan publik
sertifikat kunci dalam file ini yang cocok dengan Otoritas Sertifikat server dan jika ditemukan,
gunakan sertifikat ini untuk otentikasi klien.
FILE CACERTIFICATE atur jalur ke file yang disandikan PEM yang berisi Otoritas Sertifikat
(CA) sertifikat. Monit menggunakan sertifikat CA default OpenSSL jika opsi ini tidak
digunakan (openssl versi -d dapat digunakan untuk mendapatkan sertifikat CA default). Banyak
distribusi dilengkapi dengan sertifikat SSL dan CA yang sudah disiapkan dan menggunakan opsi ini adalah
biasanya tidak diperlukan.
JALAN CACERTIFICATE atur jalur ke direktori yang berisi Otoritas Sertifikat (CA)
sertifikat. Monit menggunakan sertifikat CA default OpenSSL jika opsi ini tidak digunakan.
Banyak distribusi dilengkapi dengan sertifikat SSL dan CA yang sudah disiapkan dan menggunakan opsi ini
biasanya tidak diperlukan.
Pernyataan opsi SSL akan berlaku secara global untuk semua koneksi SSL/TLS yang dilakukan melalui
Monit. Opsi SSL juga dapat diatur dalam cek lokal, di server surat pengaturan atau di
munit pernyataan, dan kemudian akan menimpa atau memperluas pengaturan global.
Untuk menyetel opsi SSL global, letakkan pernyataan ini di dekat bagian atas of Anda .monitrc File:
atur opsi ssl {...}
Berikut adalah contoh pengaturan opsi SSL global dan lokal:
# Aktifkan verifikasi sertifikat untuk semua koneksi SSL
# Sertifikat yang ditandatangani sendiri tidak diizinkan secara default
atur opsi ssl {
verifikasi: aktifkan
}
# Verifikasi sertifikat (melalui pengaturan global)
# Izinkan sertifikat yang ditandatangani sendiri untuk pemeriksaan ini
periksa contoh host dengan alamat example.com
jika gagal
pelabuhan 443
protokol https
dengan opsi ssl {selfsigned: allow}
lalu waspada
# Jangan verifikasi sertifikat example2.com (timpa pengaturan global)
periksa Host example2 dengan alamat example2.com
jika gagal
pelabuhan 443
protokol https
dengan opsi ssl {verifikasi: nonaktifkan}
lalu waspada
MONITOR Httpd
Jika ditentukan dalam file kontrol, Monit akan mulai dengan dukungan HTTP. Anda kemudian dapat menggunakan
Pantau CLI untuk memulai dan menghentikan layanan, menonaktifkan atau mengaktifkan pemantauan layanan serta tampilan
status masing-masing layanan.
Jika dukungan HTTP diaktifkan melalui TCP daripada melalui Soket Unix, Anda juga dapat melihat
Dasbor informatif Monit di browser web Anda.
Perhatikan bahwa jika dukungan HTTP dinonaktifkan, antarmuka Monit CLI akan berkurang
fungsionalitas, karena sebagian besar perintah CLI (seperti "status monit") perlu berkomunikasi dengan
Memantau proses latar belakang melalui antarmuka HTTP. Kami sangat merekomendasikan memiliki dukungan HTTP
diaktifkan. Jika keamanan menjadi perhatian, ikat antarmuka HTTP ke host lokal saja atau gunakan Unix
Soket sehingga Monit tidak dapat diakses dari luar.
Sintaks untuk port TCP:
SETEL PORT HTTPD [ALAMAT ]
[SSL ]
[PEMFILE ]
[KLIENPEMFILE ]
[PERIZINKAN SERTIFIKASI SENDIRI]
[TANDA TANGAN ]
MENGIZINKAN +
Contoh:
setel port httpd 2812
izinkan nama pengguna: kata sandi
Anda sekarang dapat menggunakanhttp://localhost:2812/> untuk mengakses antarmuka web Monit dari browser,
setelah Anda memasukkan nama pengguna dan kata sandi sebagai kredensial.
Sintaks untuk Soket Unix:
SET HTTPD UNIXSOCKET
MENGIZINKAN +
Contoh:
setel httpd unixsocket /var/run/monit.sock
izinkan nama pengguna: kata sandi
Opsi:
UNIXSOCKET atur jalur ke Unix Socket Monit harus mengikat dan mendengarkan.
PORT atur port yang harus diikat dan didengarkan oleh Monit. Monit biasanya diatur pada port 2812.
ALAMAT membuat Monit mendengarkan pada antarmuka tertentu saja. Misalnya jika Anda tidak ingin
mengekspos antarmuka web Monit ke jaringan, ikat hanya ke localhost. Monit akan menerima
koneksi pada alamat mana pun secara default (jika opsi ALAMAT tidak ada).
Misalnya untuk membatasi antarmuka web hanya untuk localhost:
atur httpd
pelabuhan 2812
gunakan alamat 127.0.0.1
izinkan nama pengguna: kata sandi
SSL aktifkan TLS untuk antarmuka web Monit. Itu PEMFILE opsi memegang kedua server
kunci pribadi dan sertifikat. File ini harus disimpan di tempat yang aman di sistem file
dan harus memiliki izin yang ketat, tidak lebih dari 0700.
Sebagai contoh:
atur httpd
pelabuhan 2812
ssl aktifkan
pemfile /etc/certs/monit.pem
izinkan pengguna saya: kata sandi saya
Anda sekarang dapat menggunakan untuk mengakses server web Monit melalui TLS
koneksi terenkripsi.
OpenSSL FIPS didukung. Untuk mengaktifkan mode FIPS (asalkan perpustakaan OpenSSL Anda mendukung
itu), tambahkan pernyataan ini ke file kontrol Monit:
ATUR FIPS
FILE PEMBELI KLIEN otentikasi berbasis sertifikat klien. Klien penghubung harus menyediakan
sertifikat yang diketahui Monit untuk terhubung. File ini juga harus memiliki semua
sertifikat CA yang diperlukan. Secara default, sertifikat klien yang ditandatangani sendiri adalah tidak diizinkan. Jika
Anda ingin menggunakan sertifikat yang ditandatangani sendiri dari klien, itu harus diizinkan secara eksplisit
pada pengatur terkenal. Pengatur ini menawarkan bantuan hukum kepada traderapabila trader berselisih dengan broker yang terdaftar dengan mereka. Izinkan SERTIFIKASI SENDIRI pernyataan.
Sebagai contoh:
atur httpd
pelabuhan 2812
ssl aktifkan
pemfile /etc/certs/monit.pem
file pem klien /etc/certs/monit-client.pem
TANDA TANGAN dapat digunakan untuk menyembunyikan versi Monit dari header respons HTTP dan halaman kesalahan.
Sebagai contoh:
atur httpd
pelabuhan 2812
menonaktifkan tanda tangan
izinkan pengguna saya: kata sandi saya
Otentikasi
Akses ke antarmuka web Monit dikendalikan terutama melalui MENGIZINKAN pilihan yang
digunakan untuk menentukan otentikasi dan hanya mengizinkan klien tertentu untuk terhubung.
Jika antarmuka baris perintah Monit sedang digunakan, setidaknya satu kata sandi teks jelas adalah
diperlukan (lihat di bawah), jika tidak, antarmuka baris perintah Monit tidak akan dapat
terhubung ke antarmuka web Monit.
Klien mencoba terhubung ke Monit, tetapi memasukkan nama pengguna dan/atau kata sandi yang salah dicatat
dengan alamat IP mereka.
Pelanggan sertifikat
Metode otentikasi ini adalah mekanisme otentikasi yang kuat dan menggunakan klien HTTPS
sertifikat untuk memverifikasi keaslian klien penghubung. Klien harus memiliki
Sertifikat Kunci Publik yang dikenal oleh Monit. Klien harus terhubung ke Monit melalui SSL dan Monit
meminta klien untuk mengirimkan sertifikatnya. Setelah menerima sertifikat, Monit membandingkan
sertifikat ke sertifikat yang terletak di FILE PEMBELI KLIEN mengajukan. Akses diberikan jika
sertifikat klien ada di file ini. Lihat FILE PEMBELI KLIEN di atas untuk detailnya.
tuan rumah dan jaringan mengizinkan daftar
Monit memelihara daftar akses-kontrol host dan jaringan yang diizinkan untuk terhubung. Kamu bisa
tambahkan host sebanyak yang Anda mau, tetapi hanya host dengan nama domain yang valid atau IP-nya
alamat diperbolehkan.
Monit akan meminta server nama untuk memeriksa setiap host yang mencoba terhubung. Jika tuan rumah (klien) adalah
mencoba terhubung, tetapi tidak dapat ditemukan dalam daftar akses atau tidak dapat diselesaikan, Monit
akan mematikan koneksi ke klien segera.
Contoh file kontrol:
setel port httpd 2812
izinkan localhost
izinkan my.other.work.machine.com
memungkinkan 10.1.1.1
izinkan 192.168.1.0/255.255.255.0
izinkan 10.0.0.0/8
Klien, tidak disebutkan dalam daftar yang diizinkan, mencoba terhubung ke Monit akan ditolak aksesnya
dan dicatat dengan alamat IP mereka.
Dasar Otentikasi
Monit mendukung Otentikasi Dasar seperti yang dijelaskan dalam RFC 2617.
Pendeknya; server menantang klien (misalnya Browser) untuk mengirim informasi otentikasi
(nama pengguna dan kata sandi) dan jika diterima, server akan mengizinkan akses klien ke
dokumen yang diminta.
Kelemahan terbesar dengan Otentikasi Dasar adalah bahwa nama pengguna dan kata sandi dikirim
teks-jelas melalui jaringan (yaitu base64 dikodekan). Oleh karena itu disarankan agar Anda melakukannya
tidak menggunakan metode otentikasi ini kecuali Anda menjalankan Monit dengan ssl mendukung. Dengan ssl, itu adalah
aman untuk menggunakan Otentikasi Dasar karena semua Data HTTP, termasuk Otentikasi Dasar
header akan dienkripsi.
Pengguna dan kata sandi teks yang jelas
Monit akan menggunakan Otentikasi Dasar jika pernyataan izinkan berisi nama pengguna dan a
kata sandi dipisahkan dengan satu karakter ':'. Karakter khusus dapat digunakan, tetapi untuk
non-alfanumerik kata sandi harus dikutip.
sintaks:
MENGIZINKAN :
PAM
PAM didukung pada platform yang menyediakan PAM (seperti Linux, Mac OS X, FreeBSD,
NetBSD).
sintaks:
MENGIZINKAN @
di mana "grup" adalah nama grup yang diizinkan untuk mengakses antarmuka web Monit. Monit menggunakan PAM
layanan disebut monit untuk otentikasi PAM, lihat halaman manual PAM untuk detailnya
petunjuk tentang cara mengatur layanan PAM dan plugin otentikasi PAM.
Contoh layanan PAM untuk Monit di Mac OS X (simpan sebagai file "/etc/pam.d/monit"):
# monit: sesi kata sandi akun autentik
auth cukup pam_securityserver.so
cukup auth pam_unix.so
auth diperlukan pam_deny.so
akun diperlukan pam_permit.so
Dan konfigurasi monitrc yang hanya mengizinkan grup "admin" yang diautentikasi melalui PAM untuk mengakses web
antarmuka:
atur httpd
pelabuhan 2812
izinkan @admin
file htpasswd
Atau Anda dapat menggunakan file dalam format "htpasswd" (satu pengguna: passwd entri per baris),
seperti ini: mengizinkan [teks-jelas|crypt|md5] /jalur [pengguna]. Secara default, kata sandi cleartext adalah
Baca. Jika kata sandi dicerna, perlu untuk menentukan kriptografi
metode. Jika Anda tidak ingin semua pengguna dalam file kata sandi memiliki akses ke Monit, Anda dapat
tentukan hanya pengguna yang seharusnya memiliki akses, dalam pernyataan izinkan. Jika tidak semua
pengguna ditambahkan.
Contoh1:
setel port httpd 2812
izinkan hauk:kata sandi
izinkan md5 /etc/httpd/htpasswd john paul ringo george
Jika Anda menggunakan metode ini bersama dengan daftar host, maka hanya klien dari host yang terdaftar
akan diizinkan untuk terhubung ke server HTTP Monit dan setiap klien akan diminta untuk
memberikan nama pengguna dan kata sandi.
Contoh2:
setel port httpd 2812
izinkan localhost
memungkinkan 10.1.1.1
izinkan hauk:"passw@rd"
Jika Anda hanya ingin menggunakan Otentikasi Dasar, maka cukup berikan izinkan entri dengan
username dan password atau file password seperti pada contoh 1 diatas.
Pengguna hanya baca
Akhirnya dimungkinkan untuk mendefinisikan beberapa pengguna sebagai hanya-baca. Pengguna hanya-baca dapat membaca
Memantau halaman web tetapi akan tidak dapatkan akses ke tombol tekan dan tidak dapat mengubah layanan dari
antarmuka web.
setel port httpd 2812
izinkan admin: kata sandi
izinkan hauk:kata sandi hanya-baca
izinkan @admin
izinkan @pengguna hanya-baca
Seorang pengguna diatur ke read-only dengan menggunakan read-only kata kunci setelah nama pengguna: kata sandi. Dalam
di atas contoh pengguna hak didefinisikan sebagai pengguna hanya-baca, sedangkan admin pengguna memiliki semua
hak akses.
PERINGATAN PESAN
Monit akan meningkatkan peringatan dalam situasi berikut:
o Layanan tidak ada (misalnya proses tidak berjalan)
o Tidak dapat membaca data layanan (misalnya tidak dapat menggunakan sistem file)
o Eksekusi skrip terkait layanan gagal (mis. mulai gagal)
o Jenis layanan tidak valid (misalnya jika jalur mengarah ke direktori, bukan file)
o Skrip pengujian khusus mengembalikan kesalahan
o Tes ping gagal
o Koneksi TCP/UDP dan/atau uji port gagal
o Uji penggunaan sumber daya gagal (misalnya penggunaan cpu terlalu tinggi)
o Checksum tidak cocok atau berubah (misalnya file diubah)
o Tes ukuran file gagal (mis. file terlalu besar)
o Tes stempel waktu gagal (mis. file lebih tua dari yang diharapkan)
o Uji izin gagal (mis. mode file tidak cocok)
o Tes UID gagal (mis. file yang dimiliki oleh pengguna yang berbeda)
o Tes GID gagal (mis. file yang dimiliki oleh grup yang berbeda)
o PID proses berubah di luar kendali Monit
o PPID proses berubah di luar kendali Monit
o Terlalu banyak upaya pemulihan layanan yang gagal
o Tes konten file menemukan kecocokan
o Bendera sistem file berubah
o Tindakan layanan dilakukan oleh administrator
o Tautan jaringan gagal
o Kapasitas tautan jaringan berubah
o Saturasi tautan jaringan gagal
o Kecepatan unggah/unduh tautan jaringan gagal
o Monit dimulai, dihentikan atau dimuat ulang
Untuk mendapatkan peringatan melalui email, tetapkan target peringatan menggunakan pernyataan "setel peringatan" global
(untuk semua layanan) atau pernyataan "waspada" dalam konteks entri layanan (untuk a
layanan tunggal).
Pengaturan an waspada penerima
Jika suatu peristiwa terjadi, Monit akan mengirimkan peringatan. Ada dua jenis pernyataan waspada:
global dan lokal.
Sintaks global:
SET ALERT mail-address [[BUKAN] {event, ...}] [siklus PENGINGAT]
Contoh:
atur peringatan foo@bar
akan mengirim email default ke alamat foo@bar setiap kali ada peristiwa yang terjadi pada layanan apa pun.
Jika Anda ingin mengirim pesan peringatan ke lebih banyak alamat email, tambahkan "setel 'email' peringatan"
pernyataan untuk setiap alamat.
Dimungkinkan juga untuk menggunakan pernyataan peringatan lokal dalam konteks pemeriksaan layanan untuk
aktifkan peringatan untuk layanan yang diberikan saja:
ALERT mail-address [[BUKAN] {event, ...}] [Siklus PENGINGAT]
Contoh peringatan lokal:
periksa host myhost dengan alamat 1.2.3.4
jika gagal port 3306 protokol mysql maka waspada
jika gagal port 80 protokol http maka waspada
waspada foo@baz # Peringatan layanan lokal
Anda dapat menggabungkan pernyataan peringatan global dan lokal. Jika ada konflik, peringatan lokal
memiliki prioritas dan mengesampingkan pernyataan global.
Pengaturan an peristiwa menyaring
Jika Anda hanya ingin pesan peringatan dikirim untuk acara tertentu, cantumkan di "{event, ...}"
blok, misalnya:
setel peringatan foo@bar hanya pada { batas waktu, tidak ada }
Daftar acara juga dapat ditiadakan untuk mengirim peringatan untuk semua acara kecuali mereka yang
terdaftar, dengan mengawali daftar dengan kata "tidak". Misalnya, untuk menerima semua peringatan
kecuali pemberitahuan tentang mulai dan berhentinya program Monit:
setel peringatan foo@bar tetapi tidak pada { instance }
Berikut adalah daftar semua kemungkinan jenis peristiwa yang dipancarkan oleh Monit. Nilai dari kolom pertama
dapat digunakan dalam daftar filter acara yang disebutkan di atas:
Acara: | Status kegagalan: | Status sukses:
-------------------------------------------------- -------------------
aksi | "Aksi selesai" | "Aksi selesai"
ceksum | "Checksum gagal" | "Checksum berhasil"
byein | "Unduhan byte terlampaui" | "Unduh byte oke"
byteout | "Unggahan byte terlampaui" | "Unggah byte ok"
koneksi | "Koneksi gagal" | "Koneksi berhasil"
konten | "Konten gagal", | "Konten berhasil"
data | "Kesalahan akses data" | "Akses data berhasil"
eksekutif | "Eksekusi gagal" | "Eksekusi berhasil"
fsflags | "Bendera sistem file gagal" | "Bendera sistem file berhasil"
gid | "GID gagal" | "GID berhasil"
icmp | "Ping gagal" | "Ping berhasil"
contoh | "Monit instance berubah" | "Monit instance tidak diubah"
tidak valid | "Jenis tidak valid" | "Ketik berhasil"
tautan | "Tautkan ke bawah" | "Menghubungkan"
tidak ada | "Tidak ada" | "Ada"
paket | "Paket unduhan terlampaui" | "Unduh paket oke"
paket keluar | "Paket unggahan terlampaui" | "Unggah paket oke"
izin | "Izin gagal" | "Izin berhasil"
pid | "PID gagal" | "PID berhasil"
ppid | "PPID gagal" | "PPID berhasil"
sumber | "Batas sumber daya cocok" | "Batas sumber daya berhasil"
saturasi | "Saturasi terlampaui" | "Saturasi oke"
ukuran | "Ukuran gagal" | "Ukuran berhasil"
kecepatan | "Kecepatan gagal" | "Kecepatan oke"
status | "Status gagal" | "Statusnya berhasil"
batas waktu | "Waktu habis" | "Pemulihan waktu habis"
stempel waktu | "Stempel waktu gagal" | "Stempel waktu berhasil"
uid | "UID gagal" | "UID berhasil"
waktu aktif | "Waktu aktif gagal" | "Waktu aktif berhasil"
Setiap penerima lansiran dapat memiliki filternya sendiri, misalnya:
setel peringatan foo@bar { tidak ada, batas waktu, sumber daya, icmp, koneksi }
setel alert security@bar pada { checksum, permission, uid, gid }
atur peringatan admin@bar
Pengaturan an kesalahan peringatan
Monit secara default hanya mengirim satu pemberitahuan jika suatu layanan gagal dan lainnya ketika/jika itu
pulih. Jika Anda ingin diberi tahu bahwa layanan masih dalam keadaan gagal, Anda dapat
gunakan opsi pengingat dalam pernyataan peringatan:
SET ALERT email-address [DENGAN] REMINDER [ON] nomor [CYCLES]
Misalnya jika Anda ingin diberi tahu setiap siklus kesepuluh jika layanan tetap gagal
negara, Anda dapat menggunakan:
waspada foo@bar dengan pengingat pada 10 siklus
Demikian juga jika Anda ingin diberi tahu tentang setiap siklus yang gagal, Anda dapat menggunakan:
waspada foo@bar dengan pengingat pada 1 siklus
Menonaktifkan alert untuk beberapa layanan
Untuk menekan peringatan untuk beberapa pengguna dan layanan, tambahkan pernyataan "noalert" dalam konteks
dari pemeriksaan layanan.
Alamat email NOALERT
Contoh (kirim semua peringatan ke foo@bar kecuali untuk layanan p3):
atur peringatan foo@bar
periksa proses p1 dengan pidfile /var/run/p1.pid
periksa proses p2 dengan pidfile /var/run/p2.pid
periksa proses p3 dengan pidfile /var/run/p3.pid
tidak waspada foo@bar
Pesan format
Format pesan peringatan dapat dimodifikasi dengan menggunakan pernyataan "setel format surat":
SET FORMAT EMAIL {mail-format}
Contoh:
atur format surat {
dari: [email dilindungi]
membalas ke: [email dilindungi]
subjek: $SERVICE $EVENT pada $DATE
pesan: Monit $ACTION $SERVICE pada $DATE pada $HOST: $DESCRIPTION.
Hormat saya,
monit
}
dari: pilihan adalah alamat email pengirim. Yaitu, alamat email Monit akan
berpura-pura mengirim peringatan dari. Tidak harus berupa alamat email yang sebenarnya hanya
alamat yang diformat dengan benar.
membalas ke: opsi dapat digunakan untuk mengatur header email balas-ke.
subyek: opsi menyetel subjek pesan dan harus aktif saja satu line.
pesan: opsi mengatur badan surat. Opsi ini harus selalu menjadi yang terakhir dalam surat-
format pernyataan. Badan surat bisa selama dibutuhkan, tetapi harus tidak mengandung blok-
menutup karakter '}'.
Anda tidak perlu menggunakan semua opsi, hanya opsi yang ingin Anda timpa. Misalnya ke
ubah alamat pengirim secara global saja:
setel format surat { dari: [email dilindungi] }
Subjek dan isi mungkin berisi variabel $NAME, yang diperluas oleh Monit. Ini adalah
daftar variabel yang dapat digunakan saat membuat pesan peringatan.
· $ACARA
Sebuah string yang menggambarkan peristiwa yang terjadi.
· $LAYANAN
Nama layanan
· $TANGGAL
Waktu dan tanggal saat ini (gaya tanggal RFC 822).
· $HOST
Nama host Monit sedang berjalan
· $AKSI
Nama aksi yang dilakukan Monit.
· $DESKRIPSI
Deskripsi kondisi kesalahan
Pengaturan a surat Server untuk waspada pengiriman
Server surat yang harus digunakan Monit untuk mengirim pesan peringatan didefinisikan dengan "server surat yang disetel"
pernyataan:
SET EMAILSERVER
[nomor PORT]
[string NAMA PENGGUNA] [string SANDI]
[menggunakan SSL [dengan opsi {...}]
[CHEKSUM SERTIFIKAT [MD5|SHA1] ],
...
[dengan TIMEOUT X DETIK]
[menggunakan nama host HOSTNAME]
Beberapa server email dapat diatur dengan menggunakan daftar yang dipisahkan koma. Jika Monit tidak dapat terhubung
ke server pertama, ia akan mencoba yang berikutnya dalam daftar dan seterusnya.
Pernyataan port memungkinkan seseorang untuk mengganti port SMTP default (465 untuk SSL, atau 25 untuk
TLS dan koneksi tidak aman).
Monit mendukung AUTH PLAIN dan AUTH LOGIN untuk otentikasi SMTP. Anda dapat mengatur nama pengguna
dan kata sandi menggunakan opsi USERNAME dan PASSWORD.
Anda dapat mengatur opsi SSL/TLS untuk koneksi dan juga memeriksa checksum sertifikat SSL.
Batas waktu koneksi default adalah 5 detik. Anda dapat menaikkan batas ini menggunakan TIMEOUT
.
Contoh (mengatur dua server email untuk failover):
setel server surat smtp.gmail.com, smtp.other.host
Secara default, Monit menggunakan nama host lokal di SMTP HELO/EHLO dan di header Message-ID.
Anda dapat menimpa ini menggunakan opsi HOSTNAME.
Acara antre
Jika tidak ada server email yang tersedia, Monit bisa acara antrian di sistem file lokal untuk dicoba lagi
sampai server email pulih.
Jika Monit digunakan dengan M/Monit, antrian acara menyediakan penyimpanan acara yang aman untuk M/Monit di
kasus masalah sementara.
Antrian acara tetap ada di seluruh Monit dimulai ulang dan asalkan back-end
sistem file persisten, di seluruh sistem restart juga.
Secara default, antrian dinonaktifkan dan jika penangan peringatan gagal, Monit hanya akan turun
pesan peringatan.
Untuk mengaktifkan antrian acara, tambahkan pernyataan berikut:
SET DASAR ANTRIAN ACARA [SLOT ]
Itu adalah jalur ke direktori tempat acara akan disimpan.
Opsional jika Anda ingin membatasi ukuran antrian, gunakan opsi slot untuk hanya menyimpan hingga
jumlah pesan acara.
Contoh:
setel slot berdasarkan antrean acara /var/monit 5000
Jika Anda menjalankan lebih dari satu instans Monit pada mesin yang sama, Anda harus menggunakan
direktori acara antrian terpisah.
LAYANAN METODE
Setiap layanan dapat memiliki asosiasi awal, berhenti dan Restart metode yang dapat digunakan Monit untuk
melakukan tindakan pada layanan.
sintaks:
[PROGRAM] = "program"
[[AS] UID ]
[[AS] GID ]
[[DENGAN] TIMEOUT KEDUA(S)]
Jika "program" adalah skrip shell, itu harus dimulai dengan "#!" dan sisa yang pertama
baris harus menentukan juru bahasa untuk program. misalnya "#!/ Bin / sh"
"Program" juga harus dapat dieksekusi (misalnya mode 0755).
Dimungkinkan untuk menulis skrip langsung ke dalam program cara ini:
berhenti = "/ bin / bash -c 'kill -s SIGTERM `cat /var/run/process.pid`'"
Secara default, program dijalankan sebagai pengguna yang menjalankan Monit. Jika Monit adalah
berjalan sebagai root, Anda dapat secara opsional menentukan UID dan G.I.D. program yang dijalankan harus
beralih ke.
Contoh:
periksa proses mmonit dengan pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
mulai program = "/usr/local/mmonit/bin/mmonit" sebagai uid "mmonit" dan gid "mmonit"
stop program = "/usr/local/mmonit/bin/mmonit stop" sebagai uid "mmonit" dan gid "mmonit"
Dalam kasus pemeriksaan proses, Monit akan menunggu hingga 30 detik untuk tindakan mulai/berhenti
untuk menyelesaikan sebelum menyerah dan melaporkan kesalahan. Anda dapat mengganti batas waktu ini menggunakan
TIMEOUT .
Contoh:
periksa proses foobar dengan pidfile /var/run/foobar.pid
mulai program = "/etc/init.d/foobar start" dengan batas waktu 60 detik
hentikan program = "/etc/init.d/foobar berhenti"
LAYANAN PEMILIHAN WAKTU
Layanan diperiksa secara berkala dengan pernyataan "set daemon n". Cek adalah
dilakukan dalam urutan yang sama seperti yang tertulis dalam file ".monitrc", kecuali jika
dependensi diatur antara layanan, di mana layanan prasyarat diuji terlebih dahulu.
Dimungkinkan untuk mengubah jadwal pemeriksaan layanan dengan menggunakan pernyataan "setiap".
Ada tiga varian:
1. interval khusus berdasarkan kelipatan siklus polling
SETIAP [nomor] SIKLUS
2. cek adalah jadwal berdasarkan string gaya cron
SETIAP [cron]
3. jadwal jangan-periksa berdasarkan string gaya cron
TIDAK SETIAP [cron]
String gaya cron, terdiri dari 5 bidang yang dipisahkan dengan spasi putih. Semua bidang adalah
wajib:
Nama: | Nilai yang diizinkan: | Karakter spesial:
-------------------------------------------------- -------------
Menit | 0-59 | * - ,
Jam | 0-23 | * - ,
Hari dalam sebulan | 1-31 | * - ,
Bulan | 1-12 (1=jan, 12=des) | * - ,
Hari dalam seminggu | 0-6 (0=minggu, 6=sabtu) | * - ,
Karakter khusus:
Karakter: | Keterangan:
-------------------------------------------------- -------------
* (tanda bintang) | Tanda bintang menunjukkan bahwa ekspresi akan
| cocok untuk semua nilai bidang; misalnya menggunakan
| tanda bintang di bidang ke-4 (bulan) akan
| menunjukkan setiap bulan.
- (tanda hubung) | Tanda hubung digunakan untuk mendefinisikan rentang. Sebagai contoh,
| 8-9 di bidang jam menunjukkan antara jam 8 pagi dan
| 9 PAGI. Perhatikan bahwa rentangnya adalah dari waktu mulai hingga dan
| termasuk waktu akhir. Yaitu, dari jam 8 pagi dan sampai
| 10:XNUMX kecuali menit diatur. Contoh lain,
| 1-5 di bidang hari kerja, tentukan dari senin hingga
| jumat (termasuk jumat).
, (koma) | Koma digunakan untuk menentukan urutan. Sebagai contoh
| 17,18 di bidang hari menunjukkan tanggal 17 dan 18
| hari dalam sebulan. Sebuah urutan juga dapat mencakup
| rentang. Misalnya, menggunakan 1-5,0 di hari kerja
| field menunjukkan senin sampai jumat dan minggu.
Contoh 1: Periksa sekali per dua siklus
periksa proses nginx dengan pidfile /var/run/nginx.pid
setiap 2 siklus
Contoh 2: Periksa setiap hari kerja 8:7-XNUMX:XNUMX
periksa program, periksa OracleDatabase
dengan path /var/monit/programs/checkoracle.pl
setiap "* 8-19 * * 1-5"
Contoh 3: Jangan menjalankan pemeriksaan di jendela cadangan pada hari Minggu 0AM-3AM
periksa proses mysqld dengan pidfile /var/run/mysqld.pid
tidak setiap "* 0-3 * * 0"
Keterbatasan:
Penjadwal saat ini berbasis siklus polling. Ketika pemeriksaan layanan dibatasi dengan
setiap cron pernyataan, Monit akan memeriksa apakah waktu saat ini cocok dengan cron-string
pola. Jika ya, pemeriksaan dilakukan, jika tidak maka akan dilewati. kroni
spesifikasi sehingga tidak menjamin kapan tepatnya tes akan berjalan, ini tergantung pada
waktu polling default dan panjang siklus pemeriksaan. Dengan kata lain, kami tidak dapat menjamin
bahwa Monit akan berjalan pada waktu tertentu. Oleh karena itu kami sangat merekomendasikan untuk menggunakan asterix
di bidang menit atau minimal rentang, mis. 0-15. Tak pernah gunakan menit tertentu sebagai
Monit mungkin tidak berjalan pada menit itu.
Kami akan mengatasi batasan ini di rilis mendatang dan mengonversi penjadwal dari serial
polling ke penjadwal non-pemblokiran paralel di mana pemeriksaan dijamin berjalan tepat waktu
dan dengan resolusi detik.
LAYANAN KELOMPOK
Entri layanan dalam file kontrol, memantau, dapat dikelompokkan bersama oleh kelompok
penyataan. Sintaksnya sederhana (kata kunci dalam huruf kapital):
nama grup GRUP
Dengan pernyataan ini dimungkinkan untuk mengelompokkan entri layanan serupa bersama-sama dan mengelola
mereka secara keseluruhan. Monit menyediakan fungsi untuk memulai, menghentikan, memulai ulang, memantau, dan menghapus pemantauan a
kelompok layanan, seperti:
Untuk memulai grup layanan dari konsol:
monit -g Mulailah
Untuk menghentikan sekelompok layanan:
monit -g berhenti
Untuk memulai ulang grup layanan:
monit -g mengulang kembali
Layanan dapat ditambahkan ke beberapa grup dengan menggunakan lebih dari satu pernyataan grup:
grup www
sistem file grup
LAYANAN PEMANTAUAN MODE
Monit mendukung tiga mode pemantauan per layanan: aktif, pasif dan panduan.
sintaks:
MODE
In aktif mode (default), Monit akan secara proaktif memantau layanan dan jika terjadi
masalah meningkatkan peringatan dan/atau memulai ulang layanan.
In pasif mode, Monit akan secara pasif memantau layanan dan akan meningkatkan peringatan, tetapi akan
tidak coba perbaiki masalah dengan mengeksekusi awal, berhenti or Restart.
In panduan mode, Monit akan masuk aktif mode hanya jika layanan dimulai melalui Monit:
mulai memantau
Gunakan "monit stop " untuk menghentikan layanan dan mengambilnya dari kendali Monit
mode manual dapat digunakan untuk membangun cluster sederhana dengan layanan HA aktif/pasif.
Status pemantauan layanan tetap ada selama Monit dimulai ulang.
Jika Anda menggunakan Monit di kluster HA, Anda harus menempatkan file status Monit di sementara
sistem file jadi jika mesin yang menjalankan layanan HA harus crash dan mesin stand-by
ambil alih layanannya, layanan HA tidak akan dimulai setelah node yang mogok akan boot
lagi:
setel statefile /tmp/monit.state
LAYANAN MENGULANG KEMBALI MEMBATASI
Monit menyediakan mekanisme batas restart untuk situasi di mana layanan hanya menolak untuk
memulai atau merespons dalam jangka waktu yang lebih lama.
Mekanisme batas restart didasarkan pada jumlah restart layanan dan jumlah polling.
siklus. Misalnya, jika suatu layanan memiliki x restart dalam y siklus-jajak pendapat (di mana x <= y) kemudian
Monit akan melakukan tindakan (misalnya unmonitor layanan). Jika terjadi timeout,
Monit akan mengirimkan pesan peringatan jika Anda telah mendaftarkan minat untuk acara ini.
Sintaks untuk pernyataan timeout adalah sebagai berikut (kata kunci dalam huruf kapital):
JIKA MENGULANG KEMBALI SIKLUS LALU
tindakan value adalah salah satu tindakan umum atau TIMEOUT (untuk kompatibilitas mundur,
sama dengan tindakan UNMONITOR).
Berikut adalah contoh di mana Monit akan menghapus pemantauan layanan jika di-restart 2 kali
dalam 3 siklus:
jika 2 restart dalam 3 siklus maka hapus monitor
Agar Monit memeriksa layanan lagi setelah pemantauan dinonaktifkan, jalankan "monit monitor
servicename" dari baris perintah.
Contoh untuk mengatur custom exec pada waktu habis:
jika 5 restart dalam 5 siklus maka exec "/ foo/bar"
Contoh untuk menghentikan layanan:
jika 7 restart dalam 10 siklus kemudian berhenti
LAYANAN KETERGANTUNGAN
Jika ditentukan dalam file kontrol, Monit dapat melakukan pemeriksaan ketergantungan sebelum memulai, menghentikan,
pemantauan atau unmonitoring layanan. Pernyataan ketergantungan dapat digunakan dalam
entri layanan dalam file kontrol Monit.
Sintaks untuk pernyataan depend adalah:
TERGANTUNG pada layanan[, layanan [,...]]
Where layanan adalah nama entri layanan pemeriksaan yang digunakan dalam file ".monitrc" Anda, misalnya
apache or datafs.
Anda dapat menambahkan lebih dari satu nama layanan jenis apa pun atau menggunakan lebih dari satu pernyataan dependen
dalam sebuah entri.
Layanan yang ditentukan dalam a tergantung pernyataan akan diperiksa selama
stop/start/monitor/unmonitor operasi.
Jika suatu layanan dihentikan atau tidak dipantau, layanan tersebut akan menghentikan/membatalkan pemantauan layanan apa pun yang bergantung pada
itu sendiri.
Jika layanan dimulai, semua layanan yang bergantung pada layanan ini akan dimulai
sebelum memulai layanan ini. jika memulai beberapa layanan gagal, layanan dengan
prasyarat TIDAK akan dimulai dan, tetapi akan diingat bahwa itu harus dimulai dan akan
coba lagi siklus berikutnya.
Jika sebuah layanan di-restart, pertama-tama akan menghentikan semua layanan aktif yang bergantung padanya dan
setelah dimulai, mulai semua layanan tergantung yang aktif sebelum restart
lagi.
Berikut adalah contoh di mana kami menyiapkan entri layanan Apache untuk bergantung pada yang mendasarinya
biner apache. Jika biner harus berubah, peringatan dikirim dan Apache tidak dipantau
lagi. Alasannya adalah keamanan dan bahwa Monit tidak boleh mengeksekusi kemungkinan retak
biner apache.
(1) periksa proses Apache dengan pidfile "/var/run/httpd.pid"
(2) tergantung pada httpd
(3)...
(4)
(5) periksa file httpd dengan path /usr/bin/httpd
(6) jika checksum gagal maka berhenti
Entri pertama adalah entri proses untuk Apache. Baris kedua mengatur ketergantungan
antara entri ini dan entri layanan bernama httpd di baris 5. Pohon dependensi berfungsi sebagai
berikut, jika suatu tindakan dilakukan di cabang yang lebih rendah, tindakan itu akan merambat ke atas di pohon
dan untuk setiap entri dependen, lakukan tindakan yang sama. Dalam hal ini, jika checksum
harus gagal di baris 6 maka tindakan berhenti dijalankan dan biner Apache tidak dicentang
lagi. Tetapi karena entri proses Apache bergantung pada entri httpd, entri ini akan
juga melakukan tindakan berhenti. Singkatnya, jika tes checksum untuk file biner httpd
harus gagal, file cek httpd dan proses pemeriksaan entri Apache dihentikan.
Pohon ketergantungan adalah konstruksi umum dan dapat digunakan di antara semua jenis layanan
entri dan menjangkau banyak level dan menyebarkan tindakan apa pun yang didukung (kecuali tindakan eksekutif
yang tidak akan menyebar ke atas di pohon ketergantungan karena alasan yang jelas).
Berikut adalah contoh lain yang berbeda. Pertimbangkan pengaturan server umum berikut:
WEB-SERVER -> APLIKASI-SERVER -> DATABASE -> FILESYSTEM
(a) (b) (c) (d)
Anda dapat mengatur dependensi sehingga server web bergantung pada server aplikasi untuk dijalankan
sebelum server web dimulai dan server aplikasi bergantung pada server database dan
database tergantung pada sistem file yang akan dipasang sebelum dimulai. Lihat juga
contoh bagian di bawah ini untuk contoh menggunakan pernyataan depend.
Di sini kami menjelaskan bagaimana Monit akan berfungsi dengan dependensi di atas:
Jika tidak ada layanan yang berjalan
Monit akan memulai server dalam urutan berikut: d, c, b, a
Jika semua server berjalan
Saat Anda menjalankan 'monit stop all' ini adalah stop order: a, b, c, d. Jika Anda menjalankan 'Monit
berhenti d' kemudian a, b dan c juga dihentikan karena mereka bergantung pada d dan akhirnya d is
berhenti.
If a tidak berjalan
Monit akan dimulai a
If b tidak berjalan
Monit pertama-tama akan berhenti a lalu mulai b dan akhirnya mulai a if b sudah naik lagi.
If c tidak berjalan
Monit pertama-tama akan berhenti a dan b lalu mulai c dan akhirnya mulai b kemudian a.
If d tidak berjalan
Monit pertama-tama akan berhenti a, b dan c lalu mulai d dan akhirnya mulai c, b kemudian a.
Jika file kontrol berisi loop depend.
Sebuah loop tergantung misalnya; a->b dan b->a atau a->b->c->a.
Ketika Monit mulai, ia akan memeriksa loop seperti itu dan mengeluh dan keluar jika ada loop
ditemukan. Itu juga akan keluar dengan keluhan jika pernyataan dependen digunakan yang tidak
arahkan ke layanan di file kontrol.
LAYANAN UJI
BATAS
Anda dapat mengonfigurasi dan menetapkan berbagai batasan untuk mengubah ukuran buffer dan batas waktu yang digunakan oleh Monit.
Dalam kebanyakan situasi, nilai default baik-baik saja. Jika diperlukan, di bawah ini adalah batas yang Anda bisa
saat ini dimodifikasi di Monit.
sintaks:
SET BATAS {
KELUARAN PROGRAM: ,
SENDEXPECTBUFFER: ,
FILECONTENTBUFFER: ,
HTTPCONTENTBUFFER: ,
WAKTU JARINGAN:
}
Dimana:
satuan adalah "B" (byte), "kB" (kilobyte) atau "MB" (megabyte)
satuan waktu adalah "MS" (milidetik) atau "S" (detik)
Legenda opsi:
-------------------------------------------------- --------------------------------
| Opsi | Deskripsi | Bawaan |
-------------------------------------------------- --------------------------------
| keluaran program | batas untuk memeriksa keluaran program (dipotong setelahnya) | 512 B |
| sendExpectBuffer | batas untuk mengirim/mengharapkan tes protokol | 256 B |
| fileContentBuffer | batas untuk pengujian konten file (baris) | 512 B |
| httpContentBuffer | batas untuk pengujian konten HTTP (badan respons) | 1 MB |
| jaringanWaktu habis | batas waktu untuk I/O jaringan | 5 detik |
-------------------------------------------------- --------------------------------
UMUM SINTAKSIS
Monit menawarkan beberapa pengujian-jika yang dapat Anda gunakan dalam pernyataan 'periksa' untuk menguji berbagai aspek
dari sebuah layanan.
Anda dapat menguji keduanya untuk nilai yang telah ditentukan sebelumnya atau untuk rentang dan mengambil tindakan jika nilainya
perubahan.
Sintaks umum untuk menguji nilai atau rentang tertentu:
JIKA KEMUDIAN [LAIN JIKA BERHASIL MAKA ]
Tindakan dievaluasi setiap kali kondisinya benar. Tindakan sukses adalah opsional
dan dieksekusi hanya ketika keadaan berubah dari kegagalan menjadi sukses. Jika tindakan sukses tidak
diatur, Monit akan mengirimkan peringatan pemulihan secara default.
Sintaks umum untuk tes perubahan nilai:
JIKA BERUBAH KEMUDIAN
Tindakan dijalankan setiap kali nilai berubah. Monit akan mengingat nilai baru dan
akan memicu peristiwa jika nilainya berubah lagi.
AKSI
Dalam setiap pengujian, Anda harus memilih tindakan yang akan dijalankan dari daftar ini:
· PERINGATAN mengirimi pengguna peristiwa peringatan pada setiap perubahan status.
· MENGULANG KEMBALI memulai ulang layanan dan mengirim peringatan. Restart dilakukan dengan memanggil
metode restart terdaftar layanan atau dengan terlebih dahulu memanggil metode stop diikuti oleh
metode mulai jika restart tidak diatur.
· MULAI memulai layanan dengan memanggil metode mulai terdaftar layanan dan mengirim
waspada.
· BERHENTI menghentikan layanan dengan memanggil metode berhenti terdaftar layanan dan mengirim
peringatan. Jika Monit menghentikan layanan, itu tidak akan diperiksa oleh Monit lagi atau dimulai ulang
nanti lagi. Untuk mengaktifkan kembali pemantauan layanan, Anda harus secara eksplisit mengaktifkan
pemantauan dari antarmuka web atau dari konsol.
· LAKUKAN dapat digunakan untuk menjalankan program arbitrer dan mengirim peringatan. Jika Anda memilih ini
tindakan Anda harus menyatakan program yang akan dieksekusi dan jika program memerlukan argumen
Anda harus menyertakan program dan argumennya dalam string yang dikutip. Anda dapat secara opsional
tentukan uid dan gid yang harus diubah oleh program yang dijalankan saat memulai. Program
secara default dieksekusi hanya sekali, pada perubahan status. Anda dapat mengaktifkan program
pengulangan ketika kesalahan berlanjut untuk jumlah siklus tertentu. Misalnya:
jika gagal lalu exec "/usr/local/bin/sms.sh"
sebagai uid siapa-siapa dan gid siapa-siapa
ulangi setiap 5 siklus
Ingat, jika Monit dijalankan oleh root, maka semua program yang dijalankan oleh Monit akan dimulai
dengan hak pengguna super kecuali ekstensi uid dan gid digunakan.
· BUKAN MONITOR akan menonaktifkan pemantauan layanan dan mengirim peringatan. Layanan akan
tidak diperiksa oleh Monit lagi atau restart lagi nanti. Untuk mengaktifkan kembali pemantauan
layanan Anda harus secara eksplisit mengaktifkan pemantauan dari antarmuka web atau dari
konsol.
FAULT TOLERANSI
Secara default, suatu tindakan dijalankan jika cocok dan layanan terkait diatur dalam
keadaan kesalahan. Namun, Anda dapat meminta pengujian agar gagal lebih dari sekali sebelum peristiwa kesalahan
dipicu dan status layanan diubah menjadi gagal. Ini berguna untuk menghindari
peringatan tentang kesalahan palsu, yang dapat terjadi, terutama dengan pengujian jaringan.
sintaks:
UNTUK SIKLUS...
atau:
[KALI DALAM] SIKLUS...
Kondisi tersebut dapat digunakan baik untuk tindakan kegagalan maupun keberhasilan.
Format pertama, lebih sederhana, dan direkomendasikan memerlukan peristiwa "X" berturut-turut sebelum beralih
negara:
jika gagal
pelabuhan 80
selama 3 siklus
lalu waspada
Format kedua lebih maju dan memungkinkan seseorang untuk mentolerir masalah yang terputus-putus, tetapi
masih menangkap masalah yang berlebihan, di mana layanan mengepak antara kesalahan dan keberhasilan
menyatakan sering.
Misalnya jika setiap siklus kedua gagal (1-0-1-0-1-0-...), maka kondisi "untuk 2 siklus"
tidak akan pernah cocok, meskipun layanan mengalami masalah. Pernyataan berikut akan menangkap
keadaan seperti itu:
jika gagal
pelabuhan 80
selama 3 kali dalam 5 siklus
lalu waspada
Contoh yang menetapkan beberapa tingkat kesalahan dan tindakan:
periksa rootfs filesystem dengan path /dev/hda1
jika penggunaan ruang > 80% untuk 5 kali dalam 15 siklus maka waspada
jika penggunaan ruang > 90% untuk 5 siklus maka jalankan '/coba/ke/bebaskan/yang/ruang'
Catatan: nilai maksimum untuk siklus adalah 64.
ADANYA PENGUJIAN
Tes ini implisit dan selalu aktif untuk jenis pemeriksaan layanan, proses, fillet,
direktori dan fifo. Jika tidak ditentukan, defaultnya adalah tindakan restart.
Anda dapat mengganti tindakan default dengan pernyataan berikut:
JIKA [TIDAK] ADA MAKA
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa file dengan path /cifs/mydata
jika tidak ada maka exec "/usr/bin/mount_cifs.sh"
SUMBER PENGUJIAN
Monit dapat memeriksa berapa banyak sumber daya sistem yang digunakan layanan. Tes ini hanya bisa
digunakan dalam entri layanan sistem atau proses dalam file kontrol Monit.
Tergantung pada karakteristik sistem atau proses, layanan dapat dihentikan atau dimulai ulang dan
peringatan dapat dibuat. Dengan demikian dimungkinkan untuk memanfaatkan sistem yang menganggur dan untuk
sistem cadangan di bawah beban tinggi.
Sintaks lengkap untuk pernyataan sumber daya yang digunakan untuk pengujian sumber daya adalah sebagai berikut (kata kunci
dalam huruf kapital dan pernyataan opsional di [tanda kurung]),
JIKA KEMUDIAN
sumber adalah pilihan "CPU", "TOTAL CPU", "CPU([user|system|wait])", "MEMORY", "SWAP",
"THREADS", "ANAK-ANAK", "TOTAL MEMORY", "LOADAVG([1mnt|5mnt|15mnt])". Beberapa tes sumber daya
dapat digunakan di dalam entri sistem cek, beberapa di entri proses cek dan beberapa di keduanya:
Tes sumber daya khusus sistem:
CPU([user|system|wait]) adalah persentase waktu yang dihabiskan sistem di ruang pengguna atau kernel
dan I/O. Pengubah pengguna/sistem/tunggu adalah opsional, jika tidak digunakan, total cpu sistem
penggunaan diuji.
SWAP adalah penggunaan swap sistem baik dalam persen (dari total sistem) atau sebagai
jumlah (Byte, kB, MB, GB).
Hanya proses pengujian sumber daya:
CPU adalah penggunaan CPU dari proses itu sendiri (persen).
TOTAL CPU adalah total penggunaan CPU dari proses dan turunannya dalam (persen). Kamu akan
ingin menggunakan TOTAL CPU biasanya untuk layanan seperti server web Apache di mana satu master
proses garpu proses anak sebagai pekerja.
THREADS adalah jumlah utas proses.
ANAK adalah jumlah anak proses dari proses.
TOTAL MEMORY adalah penggunaan memori dari proses dan proses turunannya dalam persen
atau sebagai jumlah (Byte, kB, MB, GB).
Tes sumber daya sistem dan proses:
MEMORY adalah penggunaan memori dari sistem atau proses (tanpa anak-anak) baik di
persen (dari total sistem) atau sebagai jumlah (Byte, kB, MB, GB).
LOADAVG([1 menit|5 menit|15 menit]) mengacu pada rata-rata beban sistem. Rata-rata beban adalah
jumlah proses dalam antrian sistem yang dijalankan, dirata-ratakan selama periode waktu yang ditentukan.
operator adalah pilihan "<", ">", "!=", "==" dalam notasi C, "gt", "lt", "eq", "ne" pada
notasi shell sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika
tidak ditentukan, standarnya adalah SAMA).
nilai adalah bilangan bulat atau bilangan real. Untuk CPU, TOTAL CPU, MEMORY dan TOTAL MEMORY
Anda perlu menentukan satuan. Ini bisa berupa "%" atau jika berlaku "B" (Byte), "kB" (1024
Byte), "MB" (1024 KiloByte) atau "GB" (1024 MegaByte).
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Untuk menghitung siklus, penghitung dinaikkan setiap kali ekspresi di atas benar dan itu
diturunkan setiap kali salah (tetapi tidak di bawah 0). Semua penghitung diatur ulang jika terjadi a
me-restart.
Berikut ini adalah contoh untuk memeriksa bahwa penggunaan CPU dari suatu layanan tidak melampaui
50% selama lima siklus polling. Jika ya, Monit akan memulai ulang layanan:
jika cpu lebih besar dari 50% selama 5 siklus kemudian restart
FILE PERIKSA PENGUJIAN
Pernyataan checksum hanya dapat digunakan dalam entri layanan file dan dapat digunakan untuk memeriksa
checksum MD5 atau SHA1 file.
Periksa checksum tertentu:
JIKA GAGAL [MD5|SHA1] CHECKSUM [HARAPKAN checksum] MAKA tindakan
Periksa perubahan file apa pun:
JIKA BERUBAH [MD5|SHA1] CHECKSUM MAKA tindakan
Pilihan MD5 atau SHA1 adalah opsional. MD5 memiliki fitur checksum 128 bit (32 byte hex
string yang disandikan) dan SHA1 a 160 bit checksum (40 byte hex encoded string). Jika opsi ini
dihilangkan, Monit akan mencoba menebak metode dari string EXPECT atau menggunakan MD5 sebagai
checksum default.
"berharap" adalah opsional dan jika digunakan, menentukan string md5 atau sha1 yang diharapkan Monit
saat menguji file checksum. Monit kemudian tidak akan menghitung checksum awal untuk
file, tetapi gunakan string yang Anda kirimkan. Sebagai contoh:
jika gagal
checksum expect 8f7f419955cefa0b33a2ba316cba3659
lalu waspada
Anda dapat, misalnya, menggunakan utilitas GNU md5sum(1) or sha1sum(1) untuk membuat checksum
string untuk file dan gunakan string ini dalam pernyataan harapan.
Memuat ulang server jika file konfigurasinya diubah:
periksa file apache_conf dengan path /etc/apache/httpd.conf
jika mengubah checksum maka exec "/usr/bin/apachectl anggun"
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
URUTAN WAKTU PENGUJIAN
Pernyataan cap waktu hanya dapat digunakan dalam entri layanan file, fifo, atau direktori.
Sintaks stempel waktu tertentu:
JIKA TIMESTAMP [[operator] nilai [unit]] MAKA tindakan
Sintaks stempel waktu berubah:
JIKA BERUBAH TIMESTAMP MAKA tindakan
operator adalah pilihan "<", ">", "!=", "==" dalam notasi C, "GT", "LT", "EQ", "NE" di
notasi shell sh dan "GREATER", "LESS", "EQUAL", "NOTEQUAL" dalam bentuk yang dapat dibaca manusia (jika
tidak ditentukan, standarnya adalah SAMA).
nilai adalah tanda air waktu.
satuan adalah "SECOND(S)", "MINUTE(S)", "HOUR(S)" atau "DAY(S)".
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Misalnya untuk memuat ulang Apache jika stempel waktu file konfigurasi berubah:
periksa file apache_conf dengan path /etc/apache/httpd.conf
jika stempel waktu diubah maka exec "/usr/bin/apachectl anggun"
Misalnya direktori pengujian untuk penambahan atau penghapusan file:
periksa jalur bilah direktori /foo/bar
jika stempel waktu < 1 jam maka waspada
FILE UKURAN PENGUJIAN
Pernyataan ukuran hanya dapat digunakan dalam entri layanan file cek. Jika ditentukan dalam
file kontrol, Monit akan menghitung ukuran untuk sebuah file.
Menguji ukuran atau rentang tertentu:
JIKA UKURAN [[operator] nilai [unit]] MAKA tindakan
Perubahan ukuran pengujian:
JIKA BERUBAH UKURAN MAKA tindakan
operator adalah pilihan "<", ">", "!=", "==" dalam notasi C, "GT", "LT", "EQ", "NE" di
notasi shell sh dan "GREATER", "LESS", "EQUAL", "NOTEQUAL" dalam bentuk yang dapat dibaca manusia (jika
tidak ditentukan, standarnya adalah SAMA).
nilai adalah tanda air ukuran.
satuan adalah pilihan "B", "KB", "MB", "GB" atau alternatif panjang "byte", "kilobyte",
"megabyte", "gigabyte". Jika tidak ditentukan, unit "byte" diasumsikan secara default.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Misalnya untuk mengirim peringatan jika file terlalu besar:
periksa file mydb dengan path /data/mydatabase.db
jika ukuran > 1 GB maka waspada
FILE KONTEN PENGUJIAN
Pernyataan konten dapat digunakan untuk menguji konten file teks secara bertahap dengan:
menggunakan ekspresi reguler.
sintaks:
JIKA KONTEN LALU tindakan
operator adalah "=" untuk kecocokan atau "!=" untuk tidak ada kecocokan.
regex adalah string yang berisi ekspresi reguler yang diperluas. Lihat juga regex(7).
path adalah jalur absolut ke file yang berisi ekspresi reguler yang diperluas di setiap baris.
Lihat juga regex(7).
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Saat startup, posisi baca diatur ke akhir file dan Monit terus memindai ke
akhir file pada setiap siklus.
Jika ukuran file harus dikurangi atau inode diubah, posisi baca diatur ke awal
dari file.
Hanya baris yang diakhiri dengan karakter baris baru yang diperiksa.
Secara default hanya 511 karakter pertama dari sebuah baris yang diperiksa. Anda dapat meningkatkan
limit menggunakan pernyataan set limit.
ABAIKAN KONTEN
Garis yang cocok dengan LAGI tidak diperiksa selama evaluasi selanjutnya. LAGI KONTEN memiliki
selalu diutamakan IF KONTEN.
Semua LAGI KONTEN pernyataan dievaluasi terlebih dahulu, dalam urutan kemunculannya.
Setelah itu, semua IF KONTEN pernyataan dievaluasi.
Sebagai contoh:
periksa file syslog dengan path / var / log / syslog
abaikan konten = "^monit"
jika konten = "^mrcoffee" maka waspada
BERKAS SISTEM BENDERA PENGUJIAN
Monit dapat menguji flag sistem file untuk perubahan. Tes ini tersirat dan Monit akan
kirim peringatan jika terjadi kegagalan secara default.
Tes ini berguna untuk mendeteksi perubahan flag filesystem seperti jika filesystem
menjadi read-only (pada kesalahan disk) atau mount flag diubah (seperti nosuid).
Sintaks untuk pernyataan fsflags adalah:
JIKA BERUBAH FSFLAGS MAKA action
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa rootf sistem file dengan path /
jika fsflags diubah maka exec "/my/script"
SPACE PENGUJIAN
Monit dapat menguji sistem file atau disk untuk penggunaan ruang. Tes ini hanya dapat digunakan di
konteks jenis layanan sistem file.
Filesystem biasanya memiliki beberapa ruang yang disediakan untuk pengguna root (ca. 1-5%), jadi non-
pengguna super tidak dapat menulis ke sistem file yang hampir penuh. Jika Anda menetapkan batas untuk sistem file
yang digunakan oleh pengguna non-root, Anda mungkin ingin mempertimbangkan blok yang dicadangkan ini ketika
pengaturan batas. Anda dapat menggunakan Monit sendiri untuk melihat persentase blok yang dipesan dengan
menggunakan perintah status CLI atau antarmuka HTTP untuk sistem file yang diberikan.
sintaks:
JIKA unit nilai operator SPACE MAKA tindakan
atau:
JIKA unit nilai operator GRATIS RUANG MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
satuan adalah pilihan "B", "KB", "MB", "GB", "%" atau alternatif panjang "byte", "kilobyte",
"megabyte", "gigabyte", "persen".
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa rootf sistem file dengan path /
jika penggunaan ruang > 90% maka waspada
INODE PENGUJIAN
Monit dapat menguji penggunaan inode sistem file. Tes ini hanya dapat digunakan dalam konteks a
jenis layanan sistem file.
sintaks:
JIKA INODE(S) nilai operator [unit] MAKA tindakan
atau:
JIKA INODE(S) GRATIS nilai operator [unit] MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
satuan adalah opsional. Jika tidak ditentukan, nilainya adalah jumlah inode yang mutlak. Anda dapat gunakan
karakter "%" atau alternatif "persen" yang lebih panjang sebagai satu unit.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa rootf sistem file dengan path /
jika penggunaan inode > 90% maka waspada
IZIN PENGUJIAN
Monit dapat menguji izin objek file. Tes ini hanya dapat digunakan dalam konteks
jenis layanan file, fifo, direktori atau sistem file.
Sintaks untuk menguji izin khusus:
JIKA GAGAL PERM(ISSION) oktalnumber MAKA tindakan
Sintaks untuk menguji setiap perubahan izin:
JIKA BERUBAH PERM(ISSION) MAKA tindakan
bilangan oktal mendefinisikan izin untuk file, direktori atau sistem file sebagai empat oktal
angka (0-7). Rentang yang valid adalah 0000 - 7777 (Anda dapat menghilangkan nol di depan, Monit akan menambahkan
angka nol di sebelah kiri. Misalnya, "640" adalah nilai yang valid dan cocok dengan "0640").
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa bayangan file dengan jalur / etc / shadow
jika izin gagal 0640 maka waspada
UID PENGUJIAN
Monit dapat memantau id pengguna pemilik (uid) dari file, fifo, direktori atau pemilik dan
pengguna yang efektif dari suatu proses.
sintaks:
JIKA GAGAL [E]pengguna UID MAKA tindakan
pemakai mendefinisikan id pengguna baik dalam numerik atau dalam bentuk string.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa bayangan file dengan jalur / etc / shadow
jika gagal root uid maka waspada
G.I.D. PENGUJIAN
Monit dapat memantau id grup pemilik (gid) dari file, fifo, direktori atau proses.
sintaks:
JIKA GID GID grup MAKA tindakan
kelompok mendefinisikan id grup baik dalam numerik atau dalam bentuk string.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa bayangan file dengan jalur / etc / shadow
jika gagal gid shadow maka waspada
PID PENGUJIAN
Monit dapat menguji PID proses. Tes ini tersirat dan Monit akan mengirimkan peringatan di
jika PID berubah di luar kendali Monit.
sintaks:
JIKA BERUBAH PID MAKA action
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Tes ini berguna untuk mendeteksi kemungkinan proses restart yang telah terjadi di
jangka waktu antara dua siklus pengujian Monit.
Misalnya jika seseorang mengubah konfigurasi sshd dan melakukan sshd restart di luar Monit's
kontrol Anda akan diberi tahu bahwa prosesnya digantikan oleh instance baru:
periksa proses sshd dengan pidfile /var/run/sshd.pid
jika berubah pid maka waspada
PPID PENGUJIAN
Monit dapat menguji PID induk (PPID) proses untuk perubahan. Tes ini implisit dan Monit
akan mengirimkan peringatan jika PPID berubah di luar kendali Monit.
Sintaks untuk pernyataan ppid adalah:
JIKA BERUBAH PPID MAKA action
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa proses myproc dengan pidfile /var/run/myproc.pid
jika diubah ppid maka exec "/my/script"
PROSES WAKTU UP PENGUJIAN
Pernyataan uptime hanya dapat digunakan dalam konteks jenis layanan proses.
sintaks:
JIKA UPTIME [[operator] nilai [unit]] MAKA tindakan
operator adalah pilihan "<", ">", "!=", "==" dalam notasi C, "GT", "LT", "EQ", "NE" di
notasi shell sh dan "GREATER", "LESS", "EQUAL", "NOTEQUAL" dalam bentuk yang dapat dibaca manusia (jika
tidak ditentukan, standarnya adalah SAMA).
nilai adalah tanda air waktu aktif.
satuan adalah "SECOND", "MINUTE", "HOUR" atau "DAY" (juga dimungkinkan untuk menggunakan "SECONDS",
"MENIT", "JAM", atau "HARI").
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh memulai ulang proses setiap tiga hari:
periksa proses myapp dengan pidfile /var/run/myapp.pid
mulai program = "/etc/init.d/myapp start"
hentikan program = "/etc/init.d/myapp stop"
jika uptime > 3 hari kemudian restart
PROGRAM STATUS PENGUJIAN
Anda dapat memeriksa status keluar dari program atau skrip. Tes ini hanya dapat digunakan dalam
periksa entri layanan program di file kontrol Monit.
Sintaks untuk menguji nilai keluar tertentu:
JIKA nilai operator STATUS MAKA tindakan
Sintaks untuk menguji setiap perubahan nilai keluar:
JIKA BERUBAH STATUS MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Contoh:
periksa program myscript dengan path /usr/local/bin/myscript.sh
jika status != 0 maka waspada
Contoh skrip untuk contoh di atas (/usr/local/bin/myscript.sh):
#!/ bin / bash
tes gema
keluar $?
Anda juga dapat mengirim parameter dengan program:
periksa file daftar program dengan jalur "/bin/ls -lrt / tmp /"
jika status != 0 maka waspada
Argumen ke program atau skrip adalah urutan string yang dipisahkan spasi. Dalam
contoh di atas string '-lrt' dan '/ tmp /' adalah argumen untuk program'/bin/ls'. Jika
argumen digunakan, disarankan untuk menggunakan tanda kutip " untuk melampirkan string, jika tidak, jika
tidak ada argumen yang digunakan, tanda kutip tidak diperlukan.
Catatan: Jika program adalah skrip, juru bahasa diperlukan di baris pertama. Itu
program atau skrip juga harus dapat dieksekusi.
Jika Monit dijalankan sebagai pengguna super, Anda dapat menjalankan program secara opsional sebagai pengguna lain
dan/atau kelompok. Dalam contoh ini kita menjalankan ls program sebagai pengguna www dan sebagai staf grup:
periksa program ls dengan jalur "/bin/ls / Tmp" sebagai uid "www"
dan gid "staf"
jika status != 0 maka waspada
Monit akan mengeksekusi program secara berkala dan jika status keluar program tidak
sesuai dengan hasil yang diharapkan, Monit dapat melakukan suatu tindakan. Dalam contoh di atas, Monit akan
naikkan peringatan jika nilai keluar berbeda dari 0. Dengan konvensi, 0 berarti program
keluar secara normal.
Pemeriksaan program tidak sinkron. Artinya Monit tidak akan menunggu program keluar,
tetapi sebaliknya, Monit akan memulai program di latar belakang dan segera melanjutkan
memeriksa entri layanan berikutnya di memantau. Pada siklus berikutnya, Monit akan memeriksa apakah
program telah selesai dan jika demikian, kumpulkan status keluar program. Jika status menunjukkan
kegagalan, Monit akan memunculkan pesan peringatan yang berisi kesalahan program (stderr)
keluaran, jika ada. Jika program belum keluar setelah siklus pertama, Monit akan menunggu
siklus lain dan seterusnya. Jika program masih berjalan setelah 5 menit, Monit akan membunuh
itu dan menghasilkan acara batas waktu program. Dimungkinkan untuk mengganti batas waktu default
(lihat sintaks di bawah).
Sifat asinkron dari pemeriksaan program memungkinkan perilaku non-pemblokiran di
desain Monit saat ini, tetapi dilengkapi dengan efek samping: ketika program telah selesai
mengeksekusi dan menunggu Monit untuk mengumpulkan hasilnya, itu menjadi apa yang disebut "zombie"
proses. Proses zombie tidak menggunakan sumber daya sistem apa pun (hanya PID yang tersisa di
gunakan) dan berada di bawah kendali Monit dan proses zombie dihapus dari sistem sebagai
segera setelah Monit mengumpulkan status keluar. Ini berarti bahwa setiap "program cek" akan
terkait dengan proses yang sedang berjalan atau zombie sementara. Sisi zombie yang tidak diinginkan ini-
efek akan dihapus dalam rilis Monit selanjutnya.
Beberapa tes status dapat digunakan, misalnya:
periksa program hwtest dengan path /usr/local/bin/hwtest.sh
dengan batas waktu 500 detik
jika status = 1 maka waspada
jika status = 3 untuk 5 siklus maka exec "/usr/local/bin/emergency.sh"
JARINGAN LINK STATUS UJI
Anda dapat memeriksa status tautan jaringan. Tes ini hanya dapat digunakan dalam jaringan cek
entri layanan dalam file kontrol Monit.
sintaks:
JIKA GAGAL LINK MAKA tindakan
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Tes akan gagal jika tautan/antarmuka mati atau kesalahan tautan terdeteksi.
Contoh:
periksa jaringan eth0 dengan antarmuka eth0
jika tautan gagal maka waspada
Jika tautan gagal, Anda dapat menambahkan program mulai dan hentikan untuk memulai ulang secara otomatis
antarmuka yang mungkin membantu. (Ganti dengan perintah jaringan yang relevan untuk Anda
sistem)
periksa jaringan eth0 dengan antarmuka eth0
mulai program = '/sbin/ipup eth0'
hentikan program = '/sbin/ipdown eth0'
jika tautan gagal maka mulai ulang
JARINGAN LINK KAPASITAS UJI
Anda dapat memeriksa kapasitas mode tautan jaringan untuk perubahan. Tes ini hanya dapat digunakan
dalam entri layanan jaringan periksa di file kontrol Monit.
sintaks:
JIKA BERUBAH LINK [KAPASITAS] MAKA tindakan
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Tes akan cocok jika mode tautan telah berubah (misalnya kecepatan maksimum turun) atau jika
mode dupleks telah berubah.
CATATAN: tidak semua jenis antarmuka memungkinkan pemantauan kapasitas. Antarmuka semu seperti
perangkat loopback atau antarmuka VMWare tidak memiliki atribut kecepatan.
Contoh:
periksa jaringan eth0 dengan antarmuka eth0
jika kapasitas tautan berubah maka waspada
JARINGAN KEJENUHAN UJI
Anda dapat memeriksa saturasi tautan jaringan. Monit kemudian menghitung pemanfaatan tautan berdasarkan
pada kecepatan transfer saat ini vs. kapasitas tautan. Tes ini hanya dapat digunakan dalam cek
entri layanan jaringan dalam file kontrol Monit.
sintaks:
JIKA nilai operator SATURATION% MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
CATATAN: tes ini tergantung pada ketersediaan atribut kecepatan dan tidak semua antarmuka
jenis memiliki atribut ini. Lihat deskripsi tes LINK SPEED.
Contoh:
periksa jaringan eth0 dengan antarmuka eth0
jika saturasi > 90% maka waspada
JARINGAN BANDWIDTH UJI
Anda dapat memeriksa unggahan tautan jaringan dan unduh penggunaan bandwidth, kecepatan transfer saat ini
dan total data yang ditransfer dalam 24 jam terakhir. Tes ini hanya dapat digunakan dalam cek
entri layanan jaringan dalam file kontrol Monit.
Peringatan: tes ini membutuhkan waktu polling monit maksimal 30 detik.
Sintaks uji laju bandwidth unggahan saat ini:
JIKA UPLOAD unit nilai operator MAKA tindakan
Sintaks uji laju bandwidth unduhan saat ini:
JIKA UNDUH unit nilai operator MAKA tindakan
Sintaks uji unggahan total:
JIKA TOTAL UPLOAD unit nilai operator DI nomor TERAKHIR unit waktu MAKA tindakan
Sintaks pengujian unduhan total:
JIKA TOTAL UNDUH satuan nilai operator DI nomor TERAKHIR satuan waktu MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
satuan adalah pilihan "B", "KB", "MB", "GB" atau alternatif panjang "byte", "kilobyte",
"megabyte", "gigabyte".
satuan waktu adalah pilihan "MINUTE(S)", "HOUR(S)", "DAY". CATATAN: Monit mempertahankan rolling
jumlah total byte yang diunggah dan diunduh selama 24 jam terakhir saja. Nilai dari
unit waktu karenanya tidak dapat menentukan rentang yang lebih lebar dari satu hari.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
contoh:
periksa jaringan eth0 dengan antarmuka eth0
jika unggah > 500 kB/s maka waspada
jika total unduhan > 1 GB dalam 2 jam terakhir maka waspada
jika total unduhan > 10 GB di hari terakhir maka waspada
JARINGAN PAKET UJI
Anda dapat memeriksa jumlah paket unggah dan unduh tautan jaringan, kecepatan transfer saat ini
dan total data yang ditransfer dalam 24 jam terakhir. Tes ini hanya dapat digunakan dalam cek
entri layanan jaringan dalam file kontrol Monit.
Peringatan: tes ini membutuhkan waktu polling monit maksimal 30 detik.
Sintaks uji laju bandwidth unggahan saat ini:
JIKA UPLOAD nilai operator PAKET/S MAKA tindakan
Sintaks uji laju bandwidth unduhan saat ini:
JIKA UNDUH nilai operator PAKET/S MAKA tindakan
Sintaks uji unggahan total:
JIKA TOTAL UPLOAD nilai operator PAKET DI nomor TERAKHIR waktu-unit MAKA tindakan
Sintaks pengujian unduhan total:
JIKA TOTAL UNDUHAN PAKET nilai operator DI nomor TERAKHIR unit waktu MAKA tindakan
operator adalah pilihan "<",">","!=","==" dalam notasi c, "gt", "lt", "eq", "ne" di shell
sh dan "lebih besar", "kurang", "sama", "tidak sama" dalam bentuk yang dapat dibaca manusia (jika tidak
ditentukan, standarnya adalah SAMA).
satuan waktu adalah pilihan "MINUTE(S)", "HOUR(S)", "DAY". CATATAN: Monit menyimpan total
unggah/unduh statistik hanya untuk 24 jam terakhir. Karena itu, nilai satuan waktu tidak dapat
berlangsung lebih dari satu hari.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
contoh:
periksa jaringan eth0 dengan antarmuka eth0
jika unggah > 1000 paket/dtk maka waspada
jika total unggah > 900000 paket dalam satu jam terakhir maka waspada
JARINGAN PING UJI
Monit dapat melakukan tes ping jaringan dengan mengirimkan paket datagram permintaan gema ICMP ke a
tuan rumah dan tunggu balasannya. Tes ini hanya dapat digunakan dalam pernyataan host cek.
Monit juga harus dijalankan sebagai pengguna root agar dapat melakukan tes ping (karena
tes ping harus menggunakan soket mentah yang biasanya hanya pengguna super yang diizinkan).
sintaks:
JIKA GAGAL PING[4|6]
[Menghitung angka]
[nomor UKURAN]
[nomor TIMEOUT SECONDS]
[string ALAMAT]
LALU tindakan
Jika nama host DNS digunakan di memeriksa tuan rumah pernyataan dan nama host memutuskan untuk
beberapa alamat (baik IPv4 atau IPv6), Monit akan melakukan ping ke alamat pertama yang tersedia dan
lanjutkan dengan alamat berikutnya sampai satu koneksi berhasil atau sampai tidak ada lagi
alamat yang tersisa untuk dicoba. Anda dapat memaksa Monit untuk hanya melakukan ping ke alamat IPv4 atau IPv6 dengan menggunakan
kata kunci PING4 atau PING6, bukan PING.
COUNT parameter menentukan berapa banyak permintaan ping berturut-turut akan dikirim ke host
maksimal dalam satu siklus. Nilai defaultnya adalah 3.
UKURAN parameter menentukan ukuran data permintaan ping. Standarnya adalah 64 byte.
Jika tidak ada balasan tiba dalam TIMEOUT detik, Monit melaporkan kesalahan. Jika setidaknya satu balasan
diterima, tes ping dianggap berhasil.
ALAMAT parameter menentukan alamat IP sumber.
Monit akan, secara default, mengirim hingga tiga paket permintaan ping dalam satu siklus untuk mencegah
alarm palsu (yaitu hingga 66% packet loss ditoleransi). Anda dapat mengatur COUNT pilihan untuk
nilai antara 1 dan 20 untuk mengirim lebih banyak atau lebih sedikit paket. Jika Anda membutuhkan keberhasilan ping 100%,
atur hitungannya menjadi 1 (yaitu hanya satu permintaan yang akan dikirim, dan jika paket hilang dan
kesalahan akan dilaporkan).
Perhatikan bahwa banyak ISP sudah mulai memfilter paket ping atau ICMP sekarang, dalam hal ini
tidak akan ada balasan dari tuan rumah.
Jika tes ping digunakan dalam entri host cek, tes ini dijalankan terlebih dahulu dan jika tes
harus gagal, kami berasumsi bahwa koneksi ke host sedang down dan Monit akan tidak terus
dengan tes port berikutnya.
Contoh:
periksa host mmonit.com dengan alamat mmonit.com
jika gagal ping, maka beri tahu # IPv4 atau IPv6
periksa host mmonit.com dengan alamat 62.109.39.247
jika gagal ping maka peringatan # Alamat adalah IPv4 jadi IPv4 lebih disukai
atau uji bahwa sistem dapat diakses secara eksplisit melalui IPv4 dan IPv6:
periksa host mmonit.com dengan alamat mmonit.com
jika gagal ping4 maka peringatan # IPv4 saja
jika gagal ping6 maka peringatan # IPv6 saja
atau dengan semua parameter; Kirim lima ping 128 byte ke mmonit.com dan tunggu hingga 10
detik untuk balasan
periksa host mmonit.com dengan alamat mmonit.com
jika gagal ping hitung 5 ukuran 128 dengan batas waktu 10 detik maka waspada
KONEKSI PENGUJIAN
Monit dapat melakukan pengujian koneksi melalui port jaringan atau melalui soket Unix. Koneksi
tes hanya dapat digunakan dalam proses atau konteks jenis layanan host.
Jika layanan mendengarkan pada satu atau lebih soket, Monit dapat terhubung ke port (menggunakan TCP atau
UDP) dan verifikasi bahwa layanan akan menerima koneksi dan memungkinkan untuk menulis
dan membaca dari soket. Jika koneksi tidak diterima atau jika ada masalah dengan
socket I/O, Monit akan menjalankan tindakan tertentu.
Sintaks pengujian port TCP/UDP:
JIKA GAGAL
[tuan rumah]
[alamat lokal]
[ipversi]
[Tipe]
[ssl [dengan opsi {...}]]
[sertifikat checksum]
[sertifikat hari berlaku]
[protokol | , ...]
[waktu habis]
[mencoba kembali]
LALU tindakan
Sintaks uji soket Unix:
JIKA GAGAL
[Tipe]
[protokol | , ...]
[waktu habis]
[mencoba kembali]
LALU tindakan
contoh:
jika gagal port 80 maka waspada
jika port 53 gagal ketik protokol udp dns maka waspada
jika gagal unixsocket /var/run/sophie maka waspada
Pilihan:
host: HOST hostname. Secara opsional, tentukan host yang akan dihubungkan. Jika tuan rumah tidak diberikan
maka localhost diasumsikan jika tes ini digunakan di dalam entri proses. Jika tes ini
digunakan di dalam entri host jarak jauh maka host jarak jauh entri diasumsikan.
Pelabuhan: PORT jumlah. Nomor port untuk terhubung ke
soket unix: UNIXSOCKET path. Menentukan jalur ke soket Unix (khusus mesin lokal).
alamat lokal: ALAMAT string. Alamat IP sumber yang akan digunakan.
ipversi: IPV4 | IPV6 . Secara opsional, tentukan versi IP yang harus digunakan Monit saat mencoba
terhubung ke pelabuhan. Jika tidak digunakan, Monit akan mencoba menghubungkan ke alamat pertama yang tersedia
(IPv4 atau IPv6). Jika beberapa alamat tersedia dan koneksi ke satu alamat gagal,
Monit akan mencoba alamat selanjutnya dan seterusnya sampai koneksi berhasil atau sampai tidak ada
lebih banyak alamat tersisa untuk dicoba.
mengetik: JENIS [TCP | UDP]. Secara opsional, tentukan jenis soket yang harus digunakan Monit saat mencoba
terhubung ke pelabuhan. Jenis soket yang berbeda adalah: TCP atau UDP, di mana TCP adalah reguler
soket berbasis aliran, UDP, soket datagram. Jenis soket default adalah TCP.
sl: [SSL | TLS] [dengan Pilihan {...}]. Setel opsi SSL/TLS dan ganti SSL global/default
pilihan. Anda dapat mengatur versi SSL/TLS untuk digunakan, apakah akan memverifikasi sertifikat, percaya
sertifikat yang ditandatangani sendiri atau atur file database sertifikat klien SSL untuk klien
otentikasi sertifikat.
sertifikat ceksum: SURAT KETERANGAN PERIKSA [MD5|SHA1] hash. Verifikasi server SSL
sertifikat dengan memeriksa checksumnya. Anda dapat menggunakan checksum MD5 atau SHA1 (jika Anda
jangan tentukan jenisnya, Monit akan menentukan intisari berdasarkan panjang hash). Kamu bisa
gunakan openssl alat baris perintah untuk mendapatkan nilai checksum untuk sertifikat Anda, yang
anda kemudian dapat menggunakan dalam file kontrol Monit:
openssl x509 -sidik jari -sha1 -di server.crt | kepala -1 | potong -f2 -d'='
Contoh:
jika gagal
pelabuhan 443
protokol https
and certificate checksum = "1ED948A6F4258ACAB964227EF4EB19FCC453B0F8"
lalu waspada
sertifikat berakhir hari: SURAT KETERANGAN SAH untuk jumlah HARI. Kirim peringatan jika
sertifikat akan kedaluwarsa dalam jumlah hari yang ditentukan. Tes ini cukup berguna untuk mendapatkan
pemberitahuan kapan saatnya untuk memperbarui sertifikat SSL Anda.
Contoh:
jika gagal
pelabuhan 443
protokol https
dan sertifikat berlaku > 30 hari
lalu waspada
protokol: PROTOKOL) protokol. Secara opsional, tentukan protokol yang harus digunakan Monit saat a
koneksi dibuat. Saat ini Monit tahu bagaimana berbicara:
STATUS APACHE
DNS
DWP
FTP
GPS
HTTP
HTTPS
IMAP
IMAPS
CLAMAV
LDAP2
LDAP3
LMTP
MEMCACHE
MONGODB
MYSQL
NNTP
NTP3
PGSQL
POP
POPS
KEBIJAKAN POSTFIX
RADIUS
TANGGAL
REDIS
RSYNC
SARINGAN
SIP
SMTP
SMTPS
SSH
TNS
SOCKET WEBSITE
Jika protokol server target tidak ditemukan dalam daftar ini, jangan tentukan
protokol dan Monit akan menggunakan tes koneksi default.
waktu habis: [DENGAN] TIMEOUT jumlah DETIK. Secara opsional menentukan batas waktu koneksi dan baca
untuk koneksi. Jika Monit tidak dapat terhubung ke server dalam waktu ini, itu akan mengasumsikan
bahwa koneksi gagal dan jalankan tindakan yang ditentukan. Batas waktu koneksi default
adalah 5 detik.
mencoba kembali: Mencoba kembali jumlah. Opsional menentukan jumlah percobaan ulang berturut-turut dalam
siklus pengujian yang sama jika koneksi gagal. Defaultnya gagal dulu
kesalahan.
tindakan adalah pilihan "ALERT", "RESTART", "START", "STOP", "EXEC" atau "UNMONITOR".
Spesifik protokol uji Pilihan
GENERIK (KIRIM/HARAPKAN)
Jika Monit tidak mendukung protokol yang digunakan oleh server, Anda dapat menulis sendiri
protokol-tes menggunakan mengirim dan mengharapkan string. NS KIRIM pernyataan mengirimkan string ke
port server dan MENGHARAPKAN pernyataan membandingkan string yang dibaca dari server dengan
string yang diberikan dalam pernyataan ekspektasi.
sintaks:
[ "tali"]+
Monit akan mengirim string apa adanya, dan Anda harus ingat untuk memasukkan CR dan LF di
string dikirim ke server jika protokol mengharapkan karakter tersebut untuk mengakhiri string
(kebanyakan protokol berbasis teks yang digunakan melalui Internet melakukannya).
Monit secara default akan membaca hingga 255 byte dari server dan menggunakan string ini ketika
membandingkan string EXPECT. Anda dapat mengganti nilai default menggunakan batas yang ditetapkan
pernyataan.
Anda dapat menggunakan karakter yang tidak dapat dicetak dalam string KIRIM jika diperlukan. Gunakan notasi heksagonal,
\0xHEXHEX untuk mengirim karakter apa pun dalam rentang \0x00-\0xFF, yaitu, 0-255 dalam desimal. Untuk
contoh, untuk menguji server Quake 3:
kirim "\0xFF\0xFF\0xFF\0xFFgetstatus"
mengharapkan "sv_floodProtect|sv_maxPing"
Jika sistem Anda mendukung ekspresi reguler POSIX, Anda dapat menggunakan ekspresi reguler di
MENGHARAPKAN string, lihat regex(7) untuk mempelajari lebih lanjut tentang jenis ekspresi reguler yang Anda bisa
gunakan dalam string harapan.
Karena regex dan perbandingan string beroperasi pada string yang diakhiri nol, Anda tidak dapat menguji
untuk '\0' dalam buffer EXPECT karena karakter ini menandai akhir buffer. Namun, kami
melarikan diri '\0' di buffer harapan sebagai "\0" yang dapat Anda uji. Artinya, '\' diikuti oleh
nilai ascii untuk 0. Misalnya, berikut adalah cara menguji string ekspektasi yang dimulai
dengan nol diikuti oleh sejumlah karakter.
mengharapkan "^[\\]0.*"
Berikut adalah contoh protokol SMTP sederhana:
jika gagal
pelabuhan 25 dan
mengharapkan "^220.*"
kirim "HELO localhost.localdomain\r\n"
mengharapkan "^250.*"
kirim "BERHENTI\r\n"
lalu waspada
SEND/EXPECT dapat digunakan dengan semua jenis soket, seperti soket TCP, soket UNIX, dan UDP
soket.
HTTP
sintaks:
PROTO (KOL) HTTP
[PERMINTAAN "string"]
[nomor operator STATUS]
[Checksum checksum]
[HTTP HEADERS daftar header]
[ISI < "=" | "!=" > STRING]
REQUEST opsi dapat mengatur string URL yang menentukan dokumen di server HTTP. jika
pernyataan permintaan tidak ditentukan, halaman "/" default akan diminta.
Sebagai contoh:
jika gagal
pelabuhan 80
protokol http
permintaan "/data/tampilkan?a=b&c=d"
lalu mulai ulang
STATUS opsi dapat digunakan untuk secara eksplisit menguji kode status HTTP yang dikembalikan oleh HTTP
server. Jika tidak digunakan, pengujian protokol HTTP akan gagal jika kode status yang dikembalikan adalah
lebih besar dari atau sama dengan 400. Anda dapat mengganti perilaku ini dengan menggunakan status
kualifikasi
Misalnya untuk menguji apakah suatu halaman melakukannya tidak ada (server HTTP harus mengembalikan 404 dalam hal ini
kasus):
jika gagal
pelabuhan 80
protokol http
permintaan "/non/existent.php"
kondisi = 404
lalu waspada
PERIKSA Anda dapat menguji checksum dokumen yang dikembalikan oleh server HTTP. Baik MD5 atau
SHA1 hash dapat digunakan. Monit akan tidak uji checksum untuk dokumen jika server melakukannya
tidak mengatur HTTP Panjang Konten tajuk. Server HTTP harus menyetel tajuk ini ketika
server dokumen statis (yaitu file). Tidak ada batasan ukuran dokumen, tapi
ingatlah bahwa Monit akan menggunakan waktu untuk mengunduh dokumen melalui jaringan untuk menghitung
checksum.
Contoh:
jika gagal
pelabuhan 80
protokol http
permintaan "/ halaman.html"
checksum 8f7f419955cefa0b33a2ba316cba3659
lalu waspada
HTTP KEPALA dapat digunakan untuk mengirim daftar header HTTP apa pun dengan uji protokol HTTP. Untuk
misalnya, header host. Jika header host tidak disetel, Monit akan menggunakan nama host atau
Alamat IP host seperti yang ditentukan dalam pernyataan cek host. Menentukan header host
berguna jika Anda ingin terhubung dan menguji host virtual berbasis nama. Sintaks untuk
mengatur tajuk HTTP adalah
header http [nama:nilai, nama:nilai,..]
di mana setiap pasangan nama:nilai dipisahkan dengan ','. Jika Anda perlu menggunakan ':' dalam nilai
string, misalnya untuk mengatur nomor port untuk header host, Anda harus menyertakan nilainya di
kutipan. Sebagai contoh,
http header [Host: "mmonit.com:443"]
Dalam konteks host periksa, menggunakan pernyataan ini mungkin terlihat seperti
periksa host mmonit.com dengan alamat mmonit.com
jika gagal
protokol port 80 http
dengan header http [Host: mmonit.com, Cache-Control: no-cache,
Kuki: csrftoken=nj1bI3CnMCaiNv4beqo8ZaCfAQQvpgLH]
dan request /monit/ dengan konten = "Monit [0-9.]+"
lalu waspada
Mengatur header HTTP dikaitkan dengan pengujian protokol HTTP dan harus dilakukan sebelumnya
permintaan seperti pada contoh di atas.
KONTEN opsi mengatur pola yang diharapkan dalam data yang dikembalikan oleh server. Jika
polanya tidak cocok, peristiwa dipicu.
Secara default maksimal 1MB diperiksa. Anda dapat meningkatkan batas menggunakan batas yang ditetapkan
pernyataan.
Sebagai contoh:
jika gagal
pelabuhan 80
protokol http
konten = "foobar [0-9.]+"
lalu waspada
STATUS APACHE
STATUS APACHE tes memungkinkan seseorang untuk memeriksa kinerja server dengan memeriksa status
halaman yang dihasilkan oleh mod_status Apache, yang diharapkan berada di alamat default
http://www.example.com/server-status.
sintaks:
PROTOKOL APACHE-STATUS [JALAN ] [ ]+
path adalah jalur opsional ke status Apache ("/ server-status" secara default)
milik adalah singkatan dari status anak:
(1) pencatatan (loglimit)
(2) menutup koneksi (closelimit)
(3) melakukan pencarian DNS (dnslimit)
(4) dalam keepalive dengan klien (keepalivelimit)
(5) membalas klien (replylimit)
(6) menerima permintaan (requestlimit)
(7) inisialisasi (batas awal)
(8) menunggu koneksi masuk (waitlimit)
(9) menutup dengan anggun (gracefullimit)
(10) melakukan prosedur pembersihan (cleanuplimit)
operator adalah salah satu dari "<", "=", ">".
jumlah adalah batas numerik persentil.
Masing-masing batas ini dapat dibandingkan dengan nilai relatif terhadap jumlah total
proses anak Apache yang aktif.
Anda dapat menggabungkan semua tes ini menjadi satu ekspresi atau Anda dapat memilih untuk menguji tertentu
batas saja. Jika Anda menggabungkan batas, Anda harus menghubungkannya bersama-sama menggunakan kata kunci ATAU.
Contoh:
jika gagal port 80 protokol apache-status
loglimit > 10% atau
dnslimit > 50% atau
batas tunggu < 20%
lalu waspada
SIP
Protokol SIP digunakan oleh server platform komunikasi seperti Asterisk dan
SWITCH gratis.
sintaks:
PROTOKOL SIP [TARGET valid@uri] [MAXFORWARD n]
TARGET Anda dapat menentukan penerima alternatif untuk pesan tersebut, dengan menambahkan sip uri . yang valid
setelah kata kunci ini.
MAXFOWARD Batasi jumlah proxy atau gateway yang dapat meneruskan permintaan ke
server berikutnya. Nilainya adalah bilangan bulat dalam kisaran 0-255, ditetapkan secara default ke 70. Jika maks-
forward = 0, server berikutnya mungkin merespon 200 OK (tes berhasil) atau mengirim 483 Too Many
Hop (tes gagal)
Sebagai contoh:
periksa Host pembuka_semua dengan alamat 127.0.0.1
jika gagal
port 5060 jenis protokol udp sip
dengan target "localhost:5060" dan maxforward 6
lalu waspada
RADIUS
sintaks:
RADIUS PROTOKOL [string RAHASIA]
RAHASIA Anda dapat menentukan rahasia alternatif, defaultnya adalah "testing123".
Sebagai contoh:
periksa proses radiusd dengan pidfile /var/run/radiusd.pid
mulai program = "/etc/init.d/freeradius start"
hentikan program = "/etc/init.d/freeradius stop"
jika gagal
host 127.0.0.1 port 1812 jenis radius protokol udp
pingpong rahasia
lalu waspada
MYSQL
sintaks:
PROTOKOL MYSQL [string NAMA PENGGUNA PASSWORD string]
USERNAME Nama pengguna MySQL (maksimal 16 karakter).
PASSWORD Kata sandi MySQL (karakter khusus dapat digunakan, tetapi untuk non-alfanumerik:
kata sandi harus dikutip).
Kredensial adalah opsional. Jika tidak ada kredensial yang disetel, Monit akan melakukan pengujian menggunakan
login anonim. Itu dapat menyebabkan kesalahan otentikasi untuk dicatat di log MySQL Anda untuk
tingkat log MySQL yang lebih tinggi.
Jika kredensial diatur, Monit akan masuk dan melakukan ping MySQL. Monit tidak memerlukan apa pun
hak istimewa basis data, hanya perlu pengguna basis data, kami sarankan untuk membuat pengguna mandiri
untuk pengujian Monit, misalnya:
BUAT PENGGUNA 'monit'@'host_from_which_monit_performs_testing' DIIDENTIFIKASI DENGAN 'mysecretpassword';
FLUSH PRIVILEGES;
Sebagai contoh:
periksa proses mysql dengan pidfile /var/run/mysqld/mysqld.pid
mulai program = "/sbin/mulai mysql"
hentikan program = "/sbin/berhenti mysql"
jika gagal
pelabuhan 3306
protokol nama pengguna mysql "foo" kata sandi "bar"
lalu waspada
atau dengan perintah start/stop unix-socket dan OS X
periksa proses mysql dengan pidfile /var/run/mysqld/mysqld.pid
mulai program = "/usr/local/mysql/support-files/mysql.server start"
hentikan program = "/usr/local/mysql/support-files/mysql.server berhenti"
jika gagal
unixsocket /tmp/mysql.sock
protokol nama pengguna mysql "foo" kata sandi "bar"
lalu waspada
SOCKET WEBSITE
sintaks:
PROTOKOL WEBSOCKET
[string PERMINTAAN]
[Rangkaian HOST]
[string ASAL]
[nomor VERSI]
HOST Anda dapat menentukan header Host alternatif
REQUEST anda dapat menentukan permintaan alternatif, defaultnya adalah "/"
ASAL anda dapat menentukan asal alternatif, defaultnya adalah "http://www.mmonit.com"
VERSION anda dapat menentukan versi alternatif, defaultnya adalah "0"
Sebagai contoh:
periksa host websocket.org dengan alamat "echo.websocket.org"
jika gagal
soket web protokol port 80
host "echo.websocket.org"
meminta "/"
asal 'http://websocket.com'
versi 13
lalu waspada
KONFIGURASI CONTOH
Bentuk paling sederhana hanyalah pernyataan cek. Dalam contoh ini kami memeriksa untuk melihat apakah web kami
server sedang berjalan dan mencatat pesan jika tidak:
periksa proses nginx dengan pidfile /var/run/nginx.pid
Agar Monit memulai server jika tidak berjalan, tambahkan pernyataan mulai:
periksa proses nginx dengan pidfile /var/run/nginx.pid
mulai program = "/etc/init.d/nginx start"
Berikut adalah contoh lanjutan untuk memantau server web Apache yang mendengarkan di
nomor port default untuk HTTP dan HTTPS. Dalam contoh ini Monit akan me-restart Apache jika itu
tidak menerima koneksi di nomor port. Metode yang digunakan Monit untuk memulai ulang adalah dengan
pertama jalankan program berhenti, lalu tunggu (hingga 30 detik) hingga proses berhenti dan kemudian
jalankan program awal dan tunggu (30 detik) untuk memulai. Lama waktu mulai atau berhenti menunggu
dapat diganti menggunakan opsi 'batas waktu'. Jika Monit tidak dapat menghentikan atau memulai
layanan pesan peringatan yang gagal akan dikirim jika Anda telah meminta pesan peringatan untuk menjadi
dikirim.
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai program = "/etc/init.d/httpd start" dengan batas waktu 60 detik
hentikan program = "/etc/init.d/httpd stop"
jika gagal port 80 untuk 2 siklus kemudian restart
jika gagal port 443 untuk 2 siklus kemudian restart
Contoh ini menunjukkan bagaimana Anda dapat menjalankan program sebagai pengguna tertentu (uid) dan dengan a
kelompok tertentu (gid). Banyak program daemon dapat melakukan uid dan gid switch sendiri,
tetapi untuk program yang tidak (misalnya program Java), kemampuan monit untuk memulai a
program sebagai pengguna tertentu bisa sangat berguna. Dalam contoh ini kita memulai Tomcat Java
Mesin Servlet sebagai standar tak seorangpun pengguna dan grup. Harap dicatat bahwa Monit hanya bisa
ganti uid dan gid untuk program jika pengguna super menjalankan Monit, jika tidak Monit
akan mengabaikan permintaan untuk mengubah uid dan gid.
periksa proses Tomcat dengan pidfile /var/run/Tomcat.pid
mulai program = "/etc/init.d/tomcat start"
sebagai uid siapa-siapa dan gid siapa-siapa
stop program = "/etc/init.d/tomcat stop"
# Anda juga dapat menggunakan nomor id dan menulis:
sebagai uid 99 dan dengan gid 99
jika gagal port 8080 maka waspada
Dalam contoh ini kami menggunakan udp untuk pengujian koneksi untuk memeriksa apakah server nama sedang berjalan:
periksa proses bernama dengan pidfile /var/run/named.pid
start program = "/etc/init.d/named start"
stop program = "/etc/init.d/named stop"
jika port 53 gagal gunakan protokol udp dns kemudian restart
Contoh berikut mengilustrasikan cara memeriksa apakah layanan 'sophie' menjawab
koneksi pada soket domain Unix-nya:
periksa proses sophie dengan pidfile /var/run/sophie.pid
mulai program = "/etc/init.d/sophie start"
hentikan program = "/etc/init.d/sophie stop"
jika gagal unix /var/run/sophie kemudian restart
Dalam contoh ini kami memeriksa server web Apache yang berjalan di localhost yang menjawab:
beberapa host virtual atau vhost berbasis IP, maka pernyataan host sebelum port:
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai "/etc/init.d/httpd start"
hentikan "/etc/init.d/httpd stop"
jika gagal host www.sol.no port 80 maka waspada
jika host shop.sol.no port 443 gagal maka waspada
jika gagal host chat.sol.no port 80 maka waspada
Untuk memastikan bahwa Monit berkomunikasi dengan server HTTP, tes protokol dapat ditambahkan:
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai "/etc/init.d/httpd start"
hentikan "/etc/init.d/httpd stop"
jika gagal
host www.sol.no port 80 protokol http
lalu waspada
Contoh ini menunjukkan cara yang berbeda untuk memeriksa server web menggunakan send/expect
mekanisme:
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai "/etc/init.d/httpd start"
hentikan "/etc/init.d/httpd stop"
jika gagal
host www.sol.no port 80 dan
kirim "GET / HTTP/1.1\r\nHost: www.sol.no\r\n\r\n"
mengharapkan "HTTP/[0-9\.]{3} 200.*"
lalu waspada
Di sini kami melakukan ping ke host jarak jauh untuk memeriksa apakah sudah aktif dan jika tidak, kirim peringatan:
cek host www.tildeslash.com dengan alamat www.tildeslash.com
jika gagal ping maka waspada
Dalam contoh berikut, kami meminta Monit untuk menghitung dan memverifikasi checksum untuk
biner apache yang mendasari digunakan oleh program start dan stop. Jika tes checksum seharusnya
gagal, pemantauan akan dinonaktifkan untuk mencegah kemungkinan memulai ulang biner yang disusupi:
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai program = "/etc/init.d/httpd start"
hentikan program = "/etc/init.d/httpd stop"
jika gagal host www.tildeslash.com port 80 kemudian restart
tergantung pada Apache_bin
periksa file apache_bin dengan path /usr/local/apache/bin/httpd
jika checksum gagal maka hapus monitor
Dalam contoh ini kami meminta Monit untuk menguji checksum dokumen di server jauh. jika
checksum telah diubah, kami mengirim peringatan:
periksa host mmonit.com dengan alamat mmonit.com
jika gagal
port 80 protokol http dan
permintaan "/monit/dist/monit-5.7.tar.gz"
with checksum f9d26b8393736b5dfad837bb13780786
lalu waspada
Berikut adalah beberapa tes untuk beberapa server komunikasi populer, menggunakan protokol SIP.
Pertama kami menguji server FreeSWITCH dan kemudian server Asterisk
periksa proses freeswitch
dengan pidfile /usr/local/freeswitch/log/freeswitch.pid
mulai program = "/usr/local/freeswitch/bin/freeswitch -nc -hp"
hentikan program = "/usr/local/freeswitch/bin/freeswitch -stop"
jika total memori > 1000.0 MB selama 5 siklus maka waspada
jika total memori > 1500.0 MB selama 5 siklus maka waspada
jika total memori> 2000.0 MB selama 5 siklus kemudian restart
jika cpu > 60% untuk 5 siklus maka waspada
jika gagal
port 5060 jenis protokol udp SIP
target [email dilindungi] dan maju 10
lalu mulai ulang
periksa proses asterisk
dengan pidfile /var/run/asterisk/asterisk.pid
mulai program = "/usr/sbin/asterisk"
hentikan program = "/usr/sbin/asterisk -r -x 'shutdown now'"
jika total memori > 1000.0 MB selama 5 siklus maka waspada
jika total memori > 1500.0 MB selama 5 siklus maka waspada
jika total memori> 2000.0 MB selama 5 siklus kemudian restart
jika cpu > 60% untuk 5 siklus maka waspada
jika gagal
port 5060 jenis protokol udp SIP
dan target [email dilindungi] maju maksimal 10
lalu mulai ulang
Beberapa server adalah starter yang lambat, seperti misalnya Server Aplikasi berbasis Java. Jika kita
ingin menjaga siklus polling tetap rendah (yaitu <60 detik) tetapi mengizinkan beberapa layanan mengambilnya
waktu untuk memulai, setiap pernyataan berguna:
periksa dinamo proses dengan pidfile /etc/dynamo.pid setiap 2 siklus
start program = "/etc/init.d/dynamo start"
hentikan program = "/etc/init.d/dynamo stop"
jika gagal port 8840 maka waspada
Berikut adalah contoh di mana kami mengelompokkan dua entri basis data sehingga Anda dapat mengelolanya
bersama-sama, misalnya; 'Monit -g database mulai semua'. Pernyataan mode juga diilustrasikan dalam
entri pertama dan memiliki efek bahwa Monit tidak akan mencoba (kembali) memulai layanan ini jika
itu tidak berjalan:
periksa proses sybase dengan pidfile /var/run/sybase.pid
mulai = "/etc/init.d/sybase mulai"
stop = "/etc/init.d/sybase stop"
modus pasif
basis data grup
periksa proses Oracle dengan pidfile /var/run/Oracle.pid
mulai program = "/etc/init.d/oracle start"
hentikan program = "/etc/init.d/Oracle stop"
jika gagal
port 9001 protokol tns
lalu mulai ulang
basis data grup
Contoh pemeriksaan sumber daya ini akan mengirimkan peringatan jika penggunaan CPU dari daemon HTTP Apache
dan proses anaknya melampaui 60% untuk dua siklus. Apache di-restart jika CPU
penggunaan lebih dari 80% untuk lima siklus atau penggunaan memori lebih dari 100Mb untuk lima siklus atau jika
rata-rata beban mesin lebih dari 10 untuk 8 siklus:
periksa proses apache dengan pidfile /var/run/httpd.pid
mulai program = "/etc/init.d/httpd start"
hentikan program = "/etc/init.d/httpd stop"
jika cpu > 40% untuk 2 siklus maka waspada
jika total cpu > 60% untuk 2 siklus maka waspada
jika total cpu> 80% untuk 5 siklus kemudian restart
jika mem > 100 MB selama 5 siklus maka hentikan
if beban rata-rata(5 menit) lebih besar dari 10.0 selama 8 siklus lalu berhenti
Contoh ini menunjukkan pernyataan cap waktu dengan exec dan bagaimana Anda dapat memulai ulang Apache
jika file konfigurasinya diubah.
periksa file httpd.conf dengan path /etc/httpd/httpd.conf
jika diubah stempel waktu
lalu exec "/etc/init.d/httpd anggun"
Dalam contoh ini kami mendemonstrasikan penggunaan pernyataan peringatan yang diperluas dan pemeriksaan file
ketergantungan:
periksa proses apache dengan pidfile /var/run/httpd.pid
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
beri tahu admin@bar pada {tidak ada, waktu habis}
dengan format surat {
dari: bofh@$HOST
subjek: apache $EVENT - $ACTION
pesan: Peristiwa ini terjadi pada $HOST pada $DATE.
Karyawan Anda yang setia,
monit
}
jika gagal host www.tildeslash.com port 80 kemudian restart
tergantung httpd_bin
grup apache
periksa file httpd_bin dengan path /usr/local/Apache/bin/httpd
peringatan security@bar di {checksum, timestamp,
izin, uid, gid}
dengan format surat {subjek: Alaaarrm! di $HOST}
jika gagal checksum
and expect 8f7f419955cefa0b33a2ba316cba3659
lalu hapus monitor
jika izin gagal 755 maka hapus monitor
jika root uid gagal maka unmonitor
jika gagal gid root maka unmonitor
jika mengubah stempel waktu maka waspada
grup apache
Dalam contoh ini, kami mendemonstrasikan penggunaan pernyataan depend. Dalam hal ini, kami ingin
mulai oracle dan apache. Namun, kami telah menyiapkan Apache untuk menggunakan Oracle sebagai back-end, dan jika
Oracle di-restart, apache harus di-restart juga.
periksa proses apache dengan pidfile /var/run/httpd.pid
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
tergantung oracle
periksa proses Oracle dengan pidfile /var/run/Oracle.pid
start = "/etc/init.d/Oracle start"
stop = "/etc/init.d/Oracle stop"
jika gagal port 9001 untuk 5 siklus kemudian restart
Selanjutnya, kami memiliki 2 layanan, oracle-import dan oracle-export yang perlu di-restart jika
Oracle dimulai ulang, tetapi tidak tergantung satu sama lain.
periksa proses Oracle dengan pidfile /var/run/Oracle.pid
start = "/etc/init.d/Oracle start"
stop = "/etc/init.d/Oracle stop"
jika gagal port 9001 untuk 3 siklus kemudian restart
periksa proses oracle-import
dengan pidfile /var/run/Oracle-import.pid
start = "/etc/init.d/Oracle-import start"
stop = "/etc/init.d/Oracle-import stop"
tergantung oracle
periksa proses ekspor oracle
dengan pidfile /var/run/Oracle-export.pid
start = "/etc/init.d/Oracle-export start"
stop = "/etc/init.d/Oracle-export stop"
tergantung oracle
Gunakan monit online menggunakan layanan onworks.net