文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用Logstash收集PHP相关日志

2024-04-02 19:55

关注

本篇内容介绍了“如何使用Logstash收集PHP相关日志”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

这里收集三种日志

PHP的错误日志,PHP-FPM的错误日志和慢查询日志

在php.ini中设置

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

在php-fpm.conf中设置

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的慢查询日志如下:

[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相关日志”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯