配置

配置文件位置

配置文件路径:/opt/tingyun-php/conf/php.conf

应用命名

  • 自动命名

    auto_app_naming = 0
    

    数据类型:整型

    0 - 禁用自动命名,默认禁用。

    1 - 启动自动命名,命名规则:虚拟主机名(SERVER_NAME) + 端口(SERVER_PORT)

    2 - 启动自动命名,命名规则:tingyun_app_name + 端口(SERVER_PORT)

    3 - 启用自动命名:命名规则:域名(HTTP_HOST)

    当您在同一台服务器上部署多个应用,建议按照域名(HTTP_HOST)或虚拟主机(SERVER_NAME)命名

  • 应用名称

    tingyun_app_name = "PHP Application"
    

    如果您想通过环境变量命名应用,需要将指定的环境变量写入到PHP启动脚本内,并且禁用自动命名auto_app_naming = 0,然后将环境变量名称用${}引起来,例如tingyun_app_name = "${PHP_APP_NAME}"。仅3.1.1及以上版本的PHP探针支持。

    如果通过自动命名的方式获取的应用名称不满足您的要求,您需要禁用自动命名,将auto_app_naming设置为0,然后通过修改Apache或php-fpm或Nginx的配置文件来区分不同的应用。

  • Apache 方式:

    修改 httpd.conf 或 .htaccess。

    说明:这需要有 AllowOverride OptionsAllowOverride All 权限。

    对每个 VirtualHost 增加 php_value tingyun_app_name "my app" ,例如:

    <VirtualHost 192.168.1.2>
          ServerName www.test.com
          DocumentRoot "/path/to/vhost/"
          ... 
          <IfModule PHP_MODULE>
            php_value tingyun_app_name "my app name"
          </IfModule>
        </VirtualHost>
    
    <VirtualHost 192.168.1.3>
          ServerName www.test2.com
          DocumentRoot "/path/to/vhost2/" 
          ...
          <IfModule PHP_MODULE> 
            php_value tingyun_app_name "another app"
          </IfModule>
        </VirtualHost>
    

    注意IfModule 语句中的 PHP_MODULE 应该和引入PHP模块时的名称一致,例如您加载PHP时使用 LoadModule php5_module modules/libphp5.so,则对应语句应该修改为 <IfModule php5_module>

  • Nginx方式:

    修改nginx.conf,对每个站点内增加配置参数即可,例如:

    server {
      listen 80;
      server_name www.web.com;
      location ~ /.php$ {
        fastcgi_param PHP_VALUE "tingyun_app_name=www.web.com";
        ...
      }
    }
    
    server {
      listen 80;
      server_name bbs.web.com;
      location ~ /.php$ {
        fastcgi_param PHP_VALUE "tingyun_app_name=bbs.web.com";
        ...
      }
    }
    

    或对按路径区分的站点,例如:

    location /app1 { 
      fastcgi_param PHP_VALUE "tingyun_app_name=my app name";
      ... 
    }
    
    location /app2{
      fastcgi_param PHP_VALUE "tingyun_app_name=another app";
      ... 
    }
    
  • php-fpm方式:

    修改php-fpm.conf。

    [app1]
    listen=/tmp/pool-app1.sock 
    php_value[tingyun_app_name] = "my app name"
    
    [app2] 
    listen=/tmp/pool-app2.sock
    php_value[tingyun_app_name] = "another app"
    

对特定应用禁用探针

默认情况下,当您想临时禁用所有应用的性能数据采集时,应该通过基调听云报表内的开关来临时禁用和启用探针。

当需要禁用特定应用的性能数据时,可以通过下述配置来禁用其中某一虚拟主机的性能数据。

  • Apache 方式:

    修改 httpd.conf 或 .htaccess

    说明:这需要有 AllowOverride OptionsAllowOverride All 权限。

    对需要禁用的 VirtualHost 增加 php_flag tingyun_agent_enabled off,例如:

    <VirtualHost 192.168.1.3>
      ServerName www.test2.com
      DocumentRoot "/path/to/vhost2/" 
      ...
      <IfModule PHP_MODULE> 
        php_flag tingyun_agent_enabled off
      </IfModule>
    </VirtualHost>
    

    注意IfModule 语句中的 PHP_MODULE 应该和引入php模块时的名称一致,例如您加载PHP时使用 LoadModule php5_module modules/libphp5.so, 则对应语句应该修改为 <IfModule php5_module>

  • php-fpm方式:

    修改php-fpm.conf

    [app] 
    listen=/tmp/pool-app2.sock
    php_flag[tingyun_agent_enabled] = off
    
  • Nginx方式:

    修改nginx.conf

    location /app1{
      fastcgi_param PHP_VALUE "tingyun_agent_enabled=false"; 
      ... 
    }
    

日志管理

PHP探针有两个模块:PHP扩展和汇总进程。每个模块都有单独的日志开关。

  • PHP扩展日志:

    • 日志级别

      agent_log_level = "info"
      

      取值: "OFF", "CRITICAL", "ERROR", "WARNING", "INFO", "VERBOSE", "DEBUG" 。

      说明: 本选项是控制日志数据写入日志文件的级别。 "DEBUG"是最低级,允许所有日志信息写入日志文件。 "OFF"是最高级,禁止所有日志信息写入日志文件。

  • 汇总进程日志:

    • 日志级别

      daemon_log_level = "info"
      

      取值: "OFF", "CRITICAL", "ERROR", "WARNING", "INFO", "VERBOSE", "DEBUG" 。

      说明: 本选项是控制日志数据写入日志文件的级别。 "DEBUG"是最低级,允许所有日志信息写入日志文件。"OFF"是最高级,禁止所有日志信息写入日志文件。

  • 审计模式

    audit_mode = false
    

    取值: true / false。

    说明: 本选项设定是否在日志文件中写入所有向基调听云平台上传和下载的数据内容。

CLI模式数据开关

控制是否采集CLI性能数据的开关如下:

cli_enabled = false

取值:true 或false。

说明:

  • false: 不采集CLI性能数据。默认值为false。
  • true: 采集CLI性能数据。如果设置为true,CLI的性能数据将会在后台任务区展示。

注意:当CLI的PHP进程永不退出时,开启此开关可能会导致性能数据的累积,内存占用越来越大。

URI黑名单

仅PHP探针3.5.4.0及以上版本支持

探针端是否禁止采集某些请求的数据,降低数据量,减少带宽损耗

uri区分大小写,部分匹配即可,多个URI以英文逗号分隔

uri_blacklist = /black1,/black2,/black3

results matching ""

    No results matching ""