Back

การส่ง Application Logs (Laravel Framework) ไปยัง Syslog Server (Graylog)

การส่ง Application Logs (Laravel Framework) ไปยัง Syslog Server (Graylog)

      การส่ง Application Logs จาก Laravel Framework ไปยัง Syslog Server (Graylog) นั้นสามารถทำได้อย่างง่ายและไม่ซับซ้อนโดยมีขั้นตอนดังต่อไปนี้
๑. ติดตั้ง Plugin : hedii/laravel-gelf-logger (https://github.com/hedii/laravel-gelf-logger) ตาม Version ของ Laravel ที่ใช้
Run : composer require hedii/laravel-gelf-logger ^6.0

๒. จากนั้นไปที่ Folder config เปิดไฟล์ logging.php ในส่วนของ Channels ให้เพิ่ม config gelf เข้าไป

‘gelf’ => [
     ‘driver’ => ‘custom’,
     ‘via’ => \Hedii\LaravelGelfLogger\GelfLoggerFactory::class,
     ‘processors’ => [
          \Hedii\LaravelGelfLogger\Processors\NullStringProcessor::class,
          \Hedii\LaravelGelfLogger\Processors\RenameIdFieldProcessor::class,
     ],
    ‘level’ => ‘info’,
    ‘name’ => ”,
    ‘system_name’ => env(‘GRAYLOG_SYSTEM_NAME’, ‘ชื่อระบบสารสนเทศ’),
    ‘transport’ => ‘TCP’,
    ‘host’ => env(‘GRAYLOG_HOST’, ‘0.0.0.0’),
    ‘port’ => 12201,
    ‘path’ => null,
    ‘ssl’ => false,
     ‘ssl_options’ => [
     ‘verify_peer’ => true,
     ‘ca_file’ => null,
     ‘ciphers’ => null,
     ‘allow_self_signed’ => false,
    ],
     ‘max_length’ => null,
     ‘context_prefix’ => null,
     ‘extra_prefix’ => null,
     ‘ignore_error’ => true
],

๓. เปิดไฟล์ .env เพิ่ม Config
GRAYLOG_SYSTEM_NAME=”ระบบสารสนเทศ-ทดสอบ”
GRAYLOG_HOST=”10.5.4.37″

๔. จากนั้นให้กลับไปที่ Folder config เปิดไฟล์ logging.php จากนั้นไปที่ประมาณบรรทัดที่ 53 ตรง channels ให้เพิ่ม gelf เข้าไป (*** ตรงนี้จะเป็นการบอกว่า หากระบบมีการ Error ใดๆเกิดขึ้น นอกจาก Error Log File ในระบบแล้วให้ส่ง Log ไปที่ Syslog Server ตามที่เราได้ Config เอาไว้)

๕. ผลการทดสอบ
ตัวอย่าง Log File ของระบบ

ตัวอย่าง Log ที่ส่งไปที่ Syslog Server (Graylog)

๕. ประโยชน์ที่ได้รับ
     ๕.๑. เพื่อเป็นแนวทางในการเก็บ Logs Web Application
     ๕.๒. สามารถ Query Log หรือตรวจสอบ Error ของระบบได้อย่างง่ายดายโดยที่ไม่ต้อง access เข้าไปที่ Server เพื่อดู File Log
     ๕.๓. ง่ายต่อการวิเคราะห์ข้อมูล