首页 帮助中心 听云Server 常见问题

常见问题

查看日志

如果系统工作不正常或者没有数据,通常可以从日志里获取更多的信息来定位问题.

日志默认路径: /var/log/networkbench/
汇总进程日志: /var/log/networkbench/daemon.log
php扩展日志:/var/log/networkbench/php-agent.log

运行

ll /var/log/networkbench

正常情况下会存在2个日志( daemon.log 和php-agent.log)
1)如果php-agent.log不存在说明PHP扩展有问题, 请检查php扩展模块
2)如果daemon.log不存在说明汇总进程有问题, 请检查汇总进程

如果2个日志都存在说明安装没有问题,请运行

grep -E 'CRITICAL|ERROR|error' /var/log/networkbench/php-agent.log

如果php-agent输出有ERROR信息,说明PHP扩展运行时有错误

grep -E 'CRITICAL|ERROR|error' /var/log/networkbench/daemon.log

如果daemon输出有ERROR信息,说明可能和服务器通信有问题

默认情况,日志级别为info, 审计模式是关闭的,这种情况得到的信息量比较小.
通过修改日志级别为debug,开启审计模式,让汇总进程和php扩展输出更多日志信息,通过日志得到的信息定位问题.

检查php扩展模块

将info.php放在网站某个目录下

echo "<?php phpinfo(); ?>" > /path/to/info.php
  1. 通过浏览器访问info.php
  • 查找页面内是否存在networkbench扩展

    正常情况下的信息和以下截图类似

    . 若没有networkbench模块信息,请重新安装扩展模块。
    重新安装后, 如果仍未出现networkbench模块信息,则很有可能您的php版本不符合安装条件.

检查汇总进程

  1. 确认汇总进程文件是否存在

    ll /usr/bin/networkbench
    

    如果 /usr/bin/networkbench 不存在,说明被误删了,请重新安装探针

    . 确认汇总进程在运行:

    ps -e | grep networkbench
    

    正常情况下的信息和以下截图类似:

    如果networkbench进程不存在,请重启web server

    sudo service httpd restart
    

    sudo service php-fpm restart
    

    然后再次运行 ps -e | grep networkbench, 查看输出结果

安装失败

  1. 安装RPM包时,出现 error: Failed dependencies 提示

    [nb@localhost tmp]$ rpm -Uvh tingyun-agent-php-1.0.3.x86_64.rpm 
    error: Failed dependencies:
    	ld-linux-x86-64.so.2()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libc.so.6()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libc.so.6(GLIBC_2.2.5)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libc.so.6(GLIBC_2.3)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libc.so.6(GLIBC_2.3.2)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libc.so.6(GLIBC_2.4)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libdl.so.2()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libdl.so.2(GLIBC_2.2.5)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libgcc_s.so.1()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libgcc_s.so.1(GCC_3.0)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libgcc_s.so.1(GCC_3.3)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libgcc_s.so.1(GCC_4.2.0)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libm.so.6()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libpthread.so.0()(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    	libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by tingyun-agent-php-1.0.3-1.x86_64
    

    出现此提示的原因是您的操作系统为32位,但您尝试安装64位的RPM包,请更换为32位的RPM包。

    . 安装安装BIN包时,提示 permission denied

    error:unpacking of archive failed on file /usr/bin/networkbench: cpio:rename failed - permission denied 
    

    一般这种报错跟权限有关,大多是因为防火墙或一些安全类的软件,可以把相关安全软件关闭,再进行安装

    . 运行networkbench-install.sh时,出现 PHP install path not found, please enter the path. 提示

    PHP install path not found, please enter the path.
    

    出现此提示的原因是在系统环境变量里面找不到php的安装路径,需要手工指定php的安装路径

    录入php所在的文件夹路径,例如: php的位置是/opt/php5/bin/php,就录入/opt/php5/bin

    . 运行networkbench-install.sh时,出现“The Networkbench agent is not installed.”提示

    The Networkbench agent is not installed
    

    PHP环境中缺少探针安装相关的必要信息,导致无法自动安装PHP扩展。
    解决方法请参见:手动安装PHP扩展

    . 运行networkbench-install.sh时,PHP版本选择步骤中,没有用户期望的PHP路径

    Below is a list of the directories in which we found a copy of PHP
    

    在系统环境变量里面找不到用户期望的PHP安装路径 解决方法:将此php的安装路径加入到PATH环境变量中,然后重新运行安装脚本

安装成功但无数据

  1. 初次安装后需要一段时间才能看到数据,通常需要5分钟或更长时间,请多等一段时间

    . 有的用户浏览器缓存有问题,即使有数据如果不强制刷新也可能看不到,请尝试清空缓存或强制刷新或更换浏览器

    . 探针安装成功后,必须重启apache或php-fpm,否则探针不生效

    . 请确认授权码是否正确

    . 请确认web服务器有没有用户访问 探针数据是基于http请求的性能,如果没有访问,就不会有性能数据。
    如果没有用户访问,请使用浏览器访问相应的应用,再过5分钟后查看报表

其他问题

  1. PHP探针都能采集哪些数据?

    目前,探针可以采集php运行时的性能数据和错误信息。

    性能数据包括:

    • HTTP请求的总响应时间
    • 从负载均衡服务器到web服务器的排队时间
    • 数据库耗时
    • NOSQL耗时
    • web service耗时
    • 超过阈值的性能瓶颈函数
    • 慢sql语句及调用堆栈

    错误信息包括:

    • 数据库连接错误
    • sql语法错误
    • php语法错误
    • php运行时未捕获的异常
    • http状态码为4xx 5xx的错误

    . PHP探针都支持哪些组件的监控?

    类型支持的组件说明
    HTTPcurl
    HTTPfile_get_contents
    HTTPfopen
    HTTPHttpRequest
    HTTPSnoopy
    HTTPdrupal_http_request
    HTTPZend_HTTP_Client
    RPC thriftthrift client端不支持thrift server端
    DatabaseMySQL old native driver
    DatabaseMySQLi Extension
    DatabaseOracle(oci8)
    DatabasePDO
    DatabasePostgres(pgsql )
    DatabaseMongoDB
    DatabaseMongo
    DatabaseSQLite
    DatabaseSQLite3
    CacheMemcache
    CacheMemcached
    CacheRedis
    CachePredis
    Web ServiceSOAPClient
    Web ServiceNuSOAP
    FrameworkDrupal
    FrameworkWordPress
    FrameworkZend
    FrameworkCodeIgniter
    FrameworkCakePHP
    FrameworkJoomla
    FrameworkYii
    FrameworkPHPWind
    FrameworkThinkPHP
    FrameworkLaravel
    FrameworkDiscuz
    ProtocolRabbitMQ client端不支持server端
    ProtocolActiveMQ client端不支持server端

    . 我在多台服务器上部署了应用探针,报表查看时,如何将不同的应用区分开?

    默认数据汇总在同一个应用,如果需要分开看,把配置文件内的 nbs.app_name 改为不同名称就可以了。

    . 我在一台服务器上部署了多个Virtual Host,报表查看时,如何将不同的应用区分开?

    把配置文件内的 nbs.auto_app_naming 修改为1或2 即可自动命名不同Virtual Host下的应用

    . 服务器权限要求比较严格,无法在/usr下安装探针,怎么办?

    可以使用BIN安装包指定安装路径, 假设您有 /home/tingyun 权限

    ./tingyun-agent-php-2.5.0.x86_64.bin -prefix=/home/tingyun