在我的Openshift帐户上,我已经在安装了MySql和PHPAdmin盒式磁带的DIY应用程序上设置了Tomcat 8和JDK 8。
我的war文件指向所有内容,并且在任何日志中启动时都没有错误。但是,当我尝试转到我的OpenShift URL时,我在浏览器中收到此502 Proxy Error
。我使用的是Chrome。
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
可能导致此问题的原因是什么?
答案 0 :(得分:4)
@Graham那里的乐趣在哪里?因此,我将分享我的经验,以防其他任何人来到这里。我认为在我的实例中,我达到了我的“免费”的授权CPU /内存使用量的上限。齿轮。没有什么能真正跳出来并且大喊大叫#34;你达到了极限"但很明显有些事情是错的。我对结果非常满意,很高兴我坚持了下来。我已经学到很多关于使用微薄的$$资源部署到在线服务器上的知识。
常规故障排除说明开始here.
首先,我使用$rhc app-force-stop <app_name>
严格关闭服务器之后,我能够再次启动系统,它可以正常工作。在我的情况下,我试图做太多与我支付的服务器的大小(免费!)免费服务器包括512Mb Ram和1 Gig存储。我试图在那里运行Node,MongoDB和Cron盒式磁带。另外,我有很多异步输入/输出,并且构建了相当大的堆栈。在后面看,不聪明。
错误检测并不容易。我没有从日志文件中学到任何东西。通常当出现问题时,他们只是停止记录任何东西。
有11项测试要做。首先通过SSH和命令行工具登录服务器。注意,没有魔法&#34;你搞砸了这里的消息&#34;您必须查看您的使用情况,并将其与您的授权使用级别进行比较。所以,是的,这花了我一段时间,但我记录了这个为我自己的笔记。这是一个与他人分享的好地方。我通过这项练习学到了很多东西。祝好运。 (哦,在我的情况下,我删除了cron墨盒和mongodb墨盒。我在mlab.com上托管数据库,可以从我的其他项目访问。对我来说很成功。)
1)内存失败计数:(结果应为零......)
oo-cgroup-read memory.failcnt // my results --> 160031
oo-cgroup-read memory.memsw.failcnt // my resluts --> 8572
2)检查磁盘配额
[xyz-abc.rhcloud.com 5xxx3]\> quota -s
Disk quotas for user 5xxx3 (uid 3488):
Filesystem blocks quota limit grace files quota limit grace
/dev/mapper/EBSStore01-user_home01
608M 0 1024M 12664 0 80000
3)检查您的实际磁盘使用情况。 (du =磁盘使用情况 人类可读格式的目录总数(-s)(-h:Byte,Kilobyte,Megabyte,Gigabyte,Terabyte和Petabyte):)
du -sh ~
du: cannot read directory `/var/lib/openshift/5xxx3/.tmp': Permission denied
du: cannot read directory `/var/lib/openshift/5xxx3/.sandbox': Permission denied
du: cannot read directory `/var/lib/openshift/5xxx3/.ssh': Permission denied
du: cannot read directory `/var/lib/openshift/5xxx3/.gearstats': Permission denied
607M /var/lib/openshift/5xxx3/
4)列出打开的文件(lsof是一个命令含义&#34;列出打开的文件&#34;,它在许多类Unix系统中用于报告所有打开的列表 文件和打开它们的进程。 -n不解析主机名(无DNS)。 -P不解析端口 名称(列出端口号而不是其名称)。 )
lsof -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 471639 3488 11u IPv4 423798423 0t0 TCP 127.x.y.z:27017 (LISTEN)
node 475151 3488 10u IPv4 423815802 0t0 TCP 127.x.y.z:8080 (LISTEN)
5)显示CPU密集型流程(top)提供有关当前运行的CPU密集型流程的信息(经常刷新)。 需要包括 - 之前的选项。 -b以批处理模式运行;不接受命令行输入。对发送很有用 输出到另一个命令或文件。 -n num更新显示num次,然后退出。)
top -b -n 1
top - 00:48:37 up 13 days, 23:52, 0 users, load average: 2.91, 2.27, 2.09
Tasks: 13 total, 1 running, 12 sleeping, 0 stopped, 0 zombie
Cpu(s): 11.6%us, 10.0%sy, 0.1%ni, 77.5%id, 0.5%wa, 0.0%hi, 0.2%si, 0.1%st
Mem: 15297608k total, 14537912k used, 759696k free, 36456k buffers
Swap: 52428792k total, 16372136k used, 36056656k free, 2720680k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
60898 3488 20 0 12800 968 744 R 1.9 0.0 0:00.02 top
55776 3488 20 0 106m 2740 808 S 0.0 0.0 0:00.00 sshd
55779 3488 20 0 104m 2260 1432 S 0.0 0.0 0:00.09 bash
432471 3488 20 0 106m 888 884 S 0.0 0.0 0:00.00 sshd
432475 3488 20 0 55144 1540 1536 S 0.0 0.0 0:00.11 sftp-server
471611 3488 20 0 9508 412 404 S 0.0 0.0 0:00.00 control
471612 3488 20 0 181m 2152 1720 S 0.0 0.0 0:00.01 logshifter
471624 3488 20 0 4072 456 448 S 0.0 0.0 0:00.00 scl
471625 3488 20 0 9236 812 808 S 0.0 0.0 0:00.00 bash
471639 3488 20 0 373m 14m 13m S 0.0 0.1 0:03.53 mongod
475123 3488 20 0 778m 5264 5172 S 0.0 0.0 0:00.08 node
475124 3488 20 0 117m 2148 1708 S 0.0 0.0 0:00.00 logshifter
475151 3488 20 0 863m 114m 6776 S 0.0 0.8 0:04.10 node
6)查看内存使用情况。 (免费 - 显示有关内存使用情况的统计信息:内核使用的总空闲,使用,物理,交换,共享和缓冲区。 选项:-b以字节为单位计算内存。 -k默认。以千字节为单位计算内存。 -m以兆字节为单位计算内存。)
free
total used free shared buffers cached
Mem: 15297608 14767896 529712 766468 36484 2746820
-/+ buffers/cache: 11984592 3313016
Swap: 52428792 16334312 36094480
这是我误入歧途的地方。还有一点点的自由空间,但是当我进行密集的I / O时,我不会花太多时间来解决这个问题。当发生这种情况时,我根本没有看到任何错误日志/消息。事情就这样停止了。
7)检查你的插座。 (ss - 套接字统计信息。输出将包含所有tcp,udp和unix套接字连接详细信息。)
ss
State Recv-Q Send-Q Local Address:Port Peer Address:Port
(在这种情况下,没有打开的套接字..上面的行只是列标题..)
8)检查VMstat。 (vmstat - 内存,进程,分页等的摘要信息。免费 - 空闲/空闲内存空间量。 si - 在Kilo Bytes中每隔一秒从磁盘中切换一次。所以 - 在Kilo Bytes中每隔一秒切换到磁盘。 )
vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 16248996 425248 33476 2946912 88 90 321 247 4 3 12 10 78 0 0
9)检查I / O统计数据。 (iostat - 设备和分区的中央处理单元(CPU)统计信息和输入/输出统计信息。)
iostat
Linux 2.6.32-573.12.1.el6.x86_64 (ex-std-node842.prod.rhcloud.com) 03/14/2016 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
11.60 0.12 10.21 0.49 0.06 77.52
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
xvda 6.56 197.23 147.83 238703267 178916836
xvdf 15.08 337.29 347.44 408209376 420504392
xvdg 15.13 337.45 347.44 408413143 420502512
xvdp 65.18 1603.17 1060.59 1940282568 1283607613
dm-0 7.97 108.87 33.25 131768290 40238544
dm-1 70.00 1574.18 1060.36 1905191416 1283329611
dm-2 3.48 87.89 114.58 106366791 138678084
10)(mpstat - 与报告处理器相关的统计数据。)
mpstat
Linux 2.6.32-573.12.1.el6.x86_64 (ex-std-node842.prod.rhcloud.com) 03/14/2016 _x86_64_ (4 CPU)
01:10:59 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
01:10:59 AM all 11.60 0.12 10.01 0.49 0.00 0.21 0.06 0.00 77.52
11)用户限制(ulimit用户限制 - 限制系统范围资源的使用。-a报告所有当前限制。)
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 59663
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 350
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited