溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Logstash收集PHP相關(guān)日志

發(fā)布時間:2021-08-02 15:23:54 來源:億速云 閱讀:211 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何使用Logstash收集PHP相關(guān)日志”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

這里收集三種日志

PHP的錯誤日志,PHP-FPM的錯誤日志和慢查詢?nèi)罩?/p>

在php.ini中設(shè)置

error_log = /data/app_data/php/logs/php_errors.log

在php-fpm.conf中設(shè)置

error_log = /data/app_data/php/logs/php-fpm_error.log

slowlog = /data/app_data/php/logs/php-fpm_slow.log

PHP錯誤日志如下:

[29-Jan-2015 07:37:44 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/data/app_platform/php/lib/php/exte
nsions/no-debug-non-zts-20100525/redis.so' - /data/app_platform/php/lib/php/extensions/no-debug-non-zts-20100525/redis.so
: cannot open shared object file: No such file or directory in Unknown on line 0
[29-Jan-2015 07:37:44 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/data/app_platform/php/lib/php/exte
nsions/no-debug-non-zts-20100525/apc.so' - /data/app_platform/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so: ca
nnot open shared object file: No such file or directory in Unknown on line 0
[29-Jan-2015 07:37:44 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/data/app_platform/php/lib/php/exte
nsions/no-debug-non-zts-20100525/mongo.so' - /data/app_platform/php/lib/php/extensions/no-debug-non-zts-20100525/mongo.so
: cannot open shared object file: No such file or directory in Unknown on line 0

PHP-FPM錯誤日志如下:

[30-Jan-2015 10:32:25] ERROR: unable to read what child say: Bad file descriptor (9)
[30-Jan-2015 10:32:25] ERROR: unable to read what child say: Bad file descriptor (9)
[30-Jan-2015 10:32:25] ERROR: unable to read what child say: Bad file descriptor (9)
[30-Jan-2015 10:32:25] ERROR: unable to read what child say: Bad file descriptor (9)
[30-Jan-2015 10:32:25] ERROR: unable to read what child say: Bad file descriptor (9)
[10-Mar-2015 17:37:11] ERROR: unable to read what child say: Bad file descriptor (9)
[10-Mar-2015 17:37:11] ERROR: unable to read what child say: Bad file descriptor (9)
[10-Mar-2015 21:31:48] ERROR: unable to read what child say: Bad file descriptor (9)

PHP-FPM的慢查詢?nèi)罩救缦拢?/p>

[11-Mar-2015 16:54:17]  [pool www] pid 12873
script_filename = /data//index.php
[0x00007f497fa5b620] curl_exec() /data//Account.php:221
[0x00007f497fa5a4e0] call() /data/gintama_app/jidong/game_code/app/controllers/Game.php:31
[0x00007fff29eea180] load() unknown:0
[0x00007f497fa59e18] call_user_func_array() /data/library/BaseCtrl.php:20
[0x00007fff29eea470] handoutAction() unknown:0
[0x00007f497fa59400] run() /data//index.php:30

[11-Mar-2015 16:56:46]  [pool www] pid 12881
script_filename = /data/index.php
[0x00007f497fa5b620] curl_exec() /data//Account.php:221
[0x00007f497fa5a4e0] call() /data/Game.php:31
[0x00007fff29eea180] load() unknown:0
[0x00007f497fa59e18] call_user_func_array() /data/library/BaseCtrl.php:20
[0x00007fff29eea470] handoutAction() unknown:0
[0x00007f497fa59400] run() /data/index.php:30

添加Logstash的配置文件shipper_php-fpm.conf 

input {
   
   file {
          type => "php_errors"
          path => "/data/app_data/php/logs/php_errors.log"
          sincedb_path => "/dev/null"
#          start_position => "beginning"
         }
   file {
          type => "php-fpm_error"
          path => "/data/app_data/php/logs/php-fpm_error.log"
          sincedb_path => "/dev/null"
#          start_position => "beginning"
        }
   file {
          type => "php-fpm_slow"
          path => "/data/app_data/php/logs/php-fpm_slow.log"
          sincedb_path => "/dev/null"
#          start_position => "beginning"
        }

      }

filter {
   if [type] == "php_errors" {
      mutate {
              add_tag => ["zabbix-sender"]
              add_field => [
                "zabbix_host","%{host}",
                "zabbix_item","php.errors"
#                "send_field","%{message}"
                           ]
              }
 

                             }
   if [type] == "php-fpm_errors"{
      mutate {
              add_tag => ["zabbix-sender"]
              add_field => [
                "zabbix_host","%{host}",
                "zabbix_item","php-fpm.error"
#                "send_field","%{message}"
                           ]
              }
      

                                }
   if [type] == "php-fpm_slow" {
      multiline {
             pattern => "^(\[0x|$|script_filename)"
             what    => "previous"
                }  

      mutate {
              add_tag => ["zabbix-sender"]
              add_field => [
                "zabbix_host","%{host}",
                "zabbix_item","php-fpm.slow"
#                "send_field","%{message}"
                           ]
              }

                               }

       }


output {
  
   stdout {
     codec => "rubydebug"
   
          }

   zabbix {
    tags => "zabbix-sender"
    host => "10.4.1.125"
    port => "10051"
    zabbix_sender => "/usr/local/zabbix/bin/zabbix_sender"
 
          }

   redis {
     host => "10.4.29.162"
     data_type => "list"
     key => "logstash"
         }


       }

同理添加zabbixb報警模板

“如何使用Logstash收集PHP相關(guān)日志”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI