Paket Laravel 5 ini akan memantau kesehatan server dan website Anda secara berkala. Saat ini, ia menyediakan pemberitahuan status kesehatan/alarm untuk Penggunaan Disk, fungsi HTTP Ping untuk memantau kesehatan layanan eksternal, dan monitor validasi/kedaluwarsa untuk Sertifikat SSL.
Setelah terinstal, memantau server Anda sangat mudah. Keluarkan saja perintah artisan ini:
php artisan monitor:run
Anda hanya dapat menjalankan monitor tertentu dalam satu waktu:
php artisan monitor:run HttpPing
php artisan monitor:run SSLCertificate,DiskUsage
Dengan menggunakan file konfigurasi di proyek Anda, sejumlah monitor dapat dikonfigurasi untuk memeriksa masalah dengan pengaturan server Anda.
Ketika perintah monitor:run
artisan dijalankan, baik dari baris perintah atau menggunakan penjadwal perintah Laravel, monitor akan berjalan dan memperingatkan jika ada masalah. Status alarm dapat dikonfigurasi, dan peringatan dapat dikirim ke log, atau melalui email, Pushover, dan Slack.
Monitor penggunaan disk memeriksa persentase ruang penyimpanan yang digunakan pada partisi tertentu, dan memperingatkan jika persentase tersebut melebihi persentase alarm yang dapat dikonfigurasi.
Monitor HTTP Ping melakukan permintaan halaman sederhana dan memperingatkan jika kode status HTTP bukan 200. Mereka secara opsional dapat memeriksa apakah frasa tertentu disertakan dalam sumber halaman.
Pemantau Sertifikat SSL menarik sertifikat SSL untuk URL yang dikonfigurasi dan memastikan valid untuk URL tersebut. Sertifikat wildcard dan multi-domain didukung.
Monitor akan memperingatkan jika sertifikat tidak valid atau kedaluwarsa, dan juga akan memperingatkan ketika tanggal kedaluwarsa semakin dekat. Hari-hari peringatan sebelum masa berlakunya habis juga dapat dikonfigurasi.
Anda dapat menginstal paket ini melalui composer menggunakan:
composer require ericmakesstuff/laravel-server-monitor
Anda harus mendaftarkan ServiceProvider:
// config/app.php
' providers ' => [
// ...
EricMakesStuff ServerMonitor ServerMonitorServiceProvider::class,
];
Untuk mempublikasikan file konfigurasi ke app/config/server-monitor.php, jalankan:
php artisan vendor:publish --provider="EricMakesStuffServerMonitorServerMonitorServiceProvider"
Setelah memublikasikan file konfigurasi, Anda dapat mengedit bagian 'monitors'
di app/config/server-monitor.php.
Konfigurasi monitor default adalah:
' monitors ' => [
/*
* DiskUsage will alert when the free space on the device exceeds the alarmPercentage.
* path is any valid file path, and the monitor will look at the usage of that disk partition.
*
* You may add as many DiskUsage monitors as you require.
*/
' DiskUsage ' => [
[
' path ' => base_path (),
' alarmPercentage ' => 75 ,
],
],
/*
* HttpPing will perform an HTTP request to the configured URL and alert if the response code
* is not 200, or if the optional checkPhrase is not found in the response.
*/
' HttpPing ' => [
[
' url ' => ' http://www.example.com/ ' ,
],
[
' url ' => ' http://www.example.com/ ' ,
' checkPhrase ' => ' Example Domain ' ,
' timeout ' => 10 ,
' allowRedirects ' => false ,
],
],
/*
* SSLCertificate will download the SSL Certificate for the URL and validate that the domain
* is covered and that it is not expired. Additionally, it can warn when the certificate is
* approaching expiration.
*/
' SSLCertificate ' => [
[
' url ' => ' https://www.example.com/ ' ,
],
[
' url ' => ' https://www.example.com/ ' ,
' alarmDaysBeforeExpiration ' => [ 14 , 7 ],
],
],
Peringatan dapat dicatat ke pengendali log default, atau dikirim melalui email, Pushover, atau Slack. Nilai yang diperbolehkan adalah log
, mail
, pushover
, dan slack
.
Konfigurasi peringatan default adalah:
' events ' => [
' whenDiskUsageHealthy ' => [ ' log ' ],
' whenDiskUsageAlarm ' => [ ' log ' , ' mail ' ],
' whenHttpPingUp ' => [ ' log ' ],
' whenHttpPingDown ' => [ ' log ' , ' mail ' ],
' whenSSLCertificateValid ' => [ ' log ' ],
' whenSSLCertificateInvalid ' => [ ' log ' , ' mail ' ],
' whenSSLCertificateExpiring ' => [ ' log ' , ' mail ' ],
],
Setelah Anda melakukan instalasi dasar, Anda dapat mulai menggunakan perintah monitor:run. Dalam kebanyakan kasus, Anda ingin menjadwalkan perintah ini sehingga Anda tidak perlu menjalankan monitor:run secara manual setiap kali Anda ingin mengetahui kesehatan server Anda.
Perintahnya, seperti perintah lainnya, dapat dijadwalkan di kernel konsol Laravel.
// app/Console/Kernel.php
protected function schedule ( Schedule $ schedule )
{
$ schedule -> command ( ' monitor:run ' )-> daily ()-> at ( ' 10:00 ' );
$ schedule -> command ( ' monitor:run HttpPing ' )-> hourly ();
}
Tentu saja jadwal yang digunakan pada kode di atas hanyalah sebuah contoh saja. Sesuaikan dengan preferensi Anda sendiri.
Jalankan tes dengan:
vendor/bin/phpunit
Lebih banyak metrik pemantauan. Jangan ragu untuk mengirimkan ide melalui isu atau permintaan tarik!
Silakan lihat KONTRIBUSI untuk rinciannya.
Jika Anda menemukan masalah apa pun terkait keamanan, silakan kirim email ke [email protected] alih-alih menggunakan pelacak masalah.
Lisensi MIT (MIT). Silakan lihat File Lisensi untuk informasi lebih lanjut.