2016-02-13 44 views
1

在我的Openshift帳戶上,我已經在安裝了MySql和PHPAdmin盒式磁帶的DIY應用程序上設置了Tomcat 8和JDK 8。來自OpenShift DIY項目的502代理錯誤

我的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 /. 

什麼可能導致此問題?

+1

今天我看到完全一樣的東西。他們的服務器系統可能正在發生什麼? – zipzit

+0

我有一個要求:你會RHC進入你的裝備,然後運行:'oo-cgroup-read memory.failcnt'然後是'oo-cgroup-read memory.memsw.failcnt'並報告結果。兩者的結果應該爲零。如果非零表示您正在記憶+交換限制。 – zipzit

回答

4

@格拉漢姆那裏的樂趣在哪裏?所以我會分享我的經驗,以防其他人到達這裏。我想我的例子是我的'免費'設備達到了授權CPU /內存使用的上限。什麼都沒有真正跳出來,並大喊「你達到了極限」,但很明顯,有些事情是錯誤的。我對結果非常滿意,很高興我堅持下來。我已經學到了很多關於使用微薄的$$資源部署到在線服務器的信息。

一般故障說明開始here.

首先,我很難關閉服務器與$rhc app-force-stop <app_name>之後,我能夠重新啓動系統,它會正常工作。在我的情況下,我試圖做太多與我支付的服務器的大小(免費!)免費服務器包括512Mb公羊和1千兆存儲。我試圖在那裏運行Node,一個MongoDB和一個Cron盒式磁帶。另外,我有大量的異步輸入/輸出,並建立了相當大的堆棧。後視,不聰明。

錯誤檢測並不容易。我沒有從日誌文件中學到任何東西。通常,當出現問題時,他們只是停止錄音。

有11項測試要做。首先通過SSH和您的命令行工具登錄到服務器。請注意,沒有什麼神奇的「你搞砸了這裏的消息」你必須看看你的使用情況,並將其與你的授權使用水平進行比較。所以是的,這花了我一段時間,但我記錄了我的筆記。這裏是與他人分享的好地方。這次練習我學到了很多東西。祝你好運。 (哦,在我的情況下,我刪除了cron墨盒和mongodb墨盒,我在mlab.com上託管數據庫,從我的其他項目中可以訪問該數據庫。)對我有利。 (結果應該是零......)

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的=磁盤使用 薩姆:字節,千字節,兆字節,技嘉,TB的和拍字節):)

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的是一個含有「列表打開文件」的命令,在許多類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密集型進程(上提供(經常刷新)當前正在運行的大部分CPU密集型進程。你不需要在 包括一個 - 之前的選項。 -b以批處理模式運行;不要接受命令行輸入。用於將 輸出發送到其他命令或文件。 -n 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)查看內存使用情況。 (free - 顯示關於內存使用情況的統計信息:內核使用的全部空閒,已用,物理,交換,共享和緩衝區 選項:-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 - 以千字節爲單位從磁盤每隔一秒鐘刷新一次 - 所以 - 以秒爲單位每秒刷新到磁盤)

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