# 问题排查自助
# 1 网络问题排查
# 1.1 服务器外网排查
1.1.1 执行命令ping open.y.iqiyi.com查看是否正常。
1.1.2 执行curl open.y.iqiyi.com查看返回值是否正常。
# 1.2 服务器、终端内部网络排查
1.2.1 确保服务器防火墙已经关闭,终端有adb权限,获取终端ip地址。
1.2.2 执行命令ping “终端ip”,若不通,则需排查内部网络问题。
1.2.3 执行命令arp “终端ip”查看mac地址是否一致,若不一致则说明终端ip冲突
1.2.4 使用adb工具连接终端,检查终端网络,方法如下:
1.2.4.1 输入adb connect “终端ip”连接终端
1.2.4.2 执行命令adb shell。
1.2.4.3 执行命令ping open.y.iqiyi.com ping pic3.qiyipic.com看是否能ping通,若不通则检查外网。
1.2.4.4 执行命令ping 服务器ip ,若出现丢包情况,可能会导致播放影片卡顿,请排查内部网络问题。
1.2.4.5 输入curl “服务器ip:9091”,查看返回值是否正常,若显示拒绝连接则排查服务问题,详见 2.2。 若显示无法解析,请检查内部网络问题。
# 2 服务器排查
# 2.1 服务器问题排查
2.1.1 使用df –h命令查看根目录剩余空间,若占满则清理日志,方法如下:
2.1.1.1 执行命令cd /data/logs/进入data/logs/文件夹
2.1.1.2 依次进入需要清理的目录。使用命令rm –rf *.log.*清理归档日志。
2.1.2 查看/etc/hosts是否添加本机hostname,若未添加,则加入以下字段 127.0.0.1 {hostname}
2.1.3 查看/data/storage/storage.conf配置文件里networkInterface项是否是目前使用的网卡,若不是则手动修改为当前网卡名。
2.1.4 进入/mnt/{uuid}下查看是否创建moviebar_storage文件夹。若未创建,则执行命令mkdir moviebar_storage进行创建。
2.1.5 检查数据盘是否正常读写,方法如下:
2.1.5.1 执行命令cd /mnt/”UUID”进入数据盘
2.1.5.2 执行命令ll看是否正常列出详细信息。
2.1.5.3 执行命令vim test.log看是否能正常创建并读写。若显示无法创建则检查硬盘问题。
2.1.6 使用top命令查看系统资源占用,若CPU占用超过90%,内存占用超过95%且已开始占用交换分区内存,则停掉占用过高的非爱奇艺进程再测试。
2.1.7 若停用其他服务后仍资源占用过高建议查看服务器是否达到要求配置。
# 2.2 爱奇艺服务排查
2.2.1将check_list.sh脚本上传至服务器,并执行命令 bash check_list.sh 查看服务运行状态,红色为服务器未启动,请手动启动该服务后再次运行脚本。(服务路径/etc/init.d/)

2.2.2 查看日志,是否正常。(日志目录/data/logs/)
2.2.3 使用命令ps –ef |grep 服务名 查看服务进程状态。
2.2.3.1 Nginx服务可能存在启动多个,需要停掉多余nginx进程,可直接kill PID来杀死进程。
2.2.4 使用curl命令判断进程是否假死,若出现进程假死,保留现场并反馈爱奇艺技术。判断方法如下:
2.2.4.1 moviebar的接口:curl 127.0.0.1:9092/goodsType/saler/allList
2.2.4.2 moviebar-local-play的接口:curl 127.0.0.1:9091/bar
2.2.4.3 storage_node的接口:curl 127.0.0.1:8009/version
2.2.4.4 storage_scheduler的接口:curl 127.0.0.1:8008/version
2.2.4.5 nginx的接口:curl 127.0.0.1:8271
2.2.5 使用netstat –nlp命令查看端口占用情况,爱奇艺服务需要的端口有:8000,8008,8009,8271,9091,9092,9096.
2.2.6 若出现服务假死情况请保留现场并联系爱奇艺客服
# 3 终端问题排查
3.1 请先排查终端与服务器网络是否可以正常通信。详见1.2
3.2 执行命令adb connect 终端ip 连接终端设备。
3.3 执行adb shell后输入df 查看终端存储占用。
3.4 排查终端日志,日志路径为: /sdcard/MovieBarLogs 查看日志里服务器ip是否与目前服务器网卡ip一致,若不一致说明后台传入ip错误。
3.5 排查终端与SDK兼容问题。
3.5.1 先排查网络问题,详见文档1
3.5.2 排查当前不能播放活播放卡顿的终端的型号,机芯,配置是否一致。
3.5.3 查看终端配置是否符合要求,若低于要求则需要更换设备。
3.5.4 由于市场Android碎片化严重,播放器只能保证大部分设备的播放能力。因此在集成测试阶段,渠道方应该使用DEMO程序在即将部署的店面设备上充分测试,在确保播放功能及稳定性后,再进行店面部署。推荐先使用BP播放器进行播放测试;
3.5.5 如果存在问题,切换YB播放器进行播放测试。demo示例中(3—>YB播放器)为调用系统播放器方式,兼容性更好,但启动切换较慢。demo示例中(4—>BP播放器)为调用ffmpeg播放器方式,流畅度更佳。推荐使用。
3.5.6 若切换播放器后播放依然卡顿则可能是设备不兼容,建议更换设备后进行测试。
# 4 常见问题解及脚本使用
# 4.1 服务器安装完成后没有下载影片
4.1.1 检测网络是否能ping通open.y.iqiyi.com
4.1.2 查看网卡名称是否为eth0,如果不是,则需要需要在storage.conf配置文件中添加,方法如下: vim /data/storage/storage.conf,在配置文件头部添加 NetworkInterface=网卡名,重启存储服务 bash /data/storage/storage.sh
4.1.3 进行初始化操作,方法如下:
执行命令:
wget -O serverInit.json http://127.0.0.1/api/device/serverInit?agentCode=注册码 wget -O serverInit.json http://127.0.0.1 /api/store/device/serverInit?agentCode=注册码
# 4.2 服务器ip更改
4.2.1 将修改change_ip脚本上传至服务器
4.2.2 在网卡配置文件中把要使用的新IP设置为静态,步骤如下。
4.2.2.1 vim /etc/sysconfig/network-scripts/{网卡配置文件}
4.2.2.2 修改配置文件中的IPADDR(ip)、NETMASK(子网掩码)、GATEWAY(网关)。
4.2.2.3 执行命令 service network restart重启网卡。
4.2.3 修改change_ip.sh脚本中的两行字段,old_IP=之前使用的旧ip ,new_IP=使用的新IP
4.2.4 然后执行脚本:bash change_ip.sh