2016-03-03 44 views
2

獵戶座不能夠到達天鵝座,並給出以下警告(我已經隱藏IP的):獵戶座不會通知天鵝(超時錯誤)出現

[email protected]:33:21 AlarmManager.cpp[303]: Raising alarm NotificationError Y.Y.Y.Y:5050/notify: (curl_easy_perform failed: Timeout was reached) 

我首先創建一個實體,然後做訂閱,並隨後更新實體。有關信息,這裏是從contextBroker啓動的整個調試日誌記錄:

[email protected]:31:51 contextBroker.cpp[1808]: Startup completed 
[email protected]:32:51 connectionOperations.cpp[626]: Database Operation Successful (command: { listDatabases: 1 }) 
[email protected]:32:51 connectionOperations.cpp[79]: Database Operation Successful (query: { conditions.type: "ONCHANGE" }) 
[email protected]:33:16 logMsg.h[1803]: Starting transaction from X.X.X.X:45738/v1/updateContext 
[email protected]:33:16 connectionOperations.cpp[79]: Database Operation Successful (query: { _id.id: "1", _id.type: "auto", _id.servicePath: /^\/$/ }) 
[email protected]:33:16 connectionOperations.cpp[401]: Database Operation Successful (update: <{ _id.id: "1", _id.type: "auto", _id.servicePath: /\// }, { $set: { attrs.kenteken: { value: "TEST", type: "string", creDate: 1457009737, modDate: 1457011996 }, modDate: 1457011996 }, $unset: { location: 1 } }>) 
[email protected]:33:16 logMsg.h[1803]: Starting transaction to Y.Y.Y.Y:5050/notify 
[email protected]:33:16 logMsg.h[1887]: Transaction ended 
[email protected]:33:20 logMsg.h[1803]: Starting transaction from X.X.X.X:45738/v1/subscribeContext 
[email protected]:33:20 connectionOperations.cpp[153]: Database Operation Successful (query: { query: { $or: [ { _id.id: "1", _id.type: "auto" } ], _id.servicePath: { $in: [ null, /^$/, /^/.*/ ] }, attrNames: { $in: [ "kenteken", "timestamp" ] } }, orderby: { creDate: 1 } }) 
[email protected]:33:20 connectionOperations.cpp[153]: Database Operation Successful (query: { query: { $or: [ { _id.id: "1", _id.type: "auto" } ], _id.servicePath: { $in: [ null, /^$/, /^/.*/ ] } }, orderby: { creDate: 1 } }) 
[email protected]:33:20 logMsg.h[1803]: Starting transaction to Y.Y.Y.Y:5050/notify 
[email protected]:33:20 connectionOperations.cpp[336]: Database Operation Successful (insert: { _id: ObjectId('56d83d2070c15b679240ebd6'), expiration: 1459604000, reference: "http://Y.Y.Y.Y:5050/notify", throttling: 1, servicePath: "/#", entities: [ { id: "1", type: "auto", isPattern: "false" } ], attrs: [ "kenteken", "timestamp" ], conditions: [ { type: "ONCHANGE", value: [ "kenteken" ] } ], expression: { q: "", geometry: "", coords: "", georel: "" }, lastNotification: 1457012000, count: 1, format: "JSON" }) 
[email protected]:33:20 logMsg.h[1887]: Transaction ended 
[email protected]:33:21 AlarmManager.cpp[303]: Raising alarm NotificationError Y.Y.Y.Y:5050/notify: (curl_easy_perform failed: Timeout was reached) 
[email protected]:33:21 logMsg.h[1887]: Transaction ended 
[email protected]:33:25 logMsg.h[1887]: Transaction ended 
[email protected]:33:32 logMsg.h[1803]: Starting transaction from X.X.X.X:45738/v1/updateContext 
[email protected]:33:32 connectionOperations.cpp[79]: Database Operation Successful (query: { _id.id: "1", _id.type: "auto", _id.servicePath: /^\/$/ }) 
[email protected]:33:32 connectionOperations.cpp[401]: Database Operation Successful (update: <{ _id.id: "1", _id.type: "auto", _id.servicePath: /\// }, { $set: { attrs.kenteken: { value: "93XBV4", type: "string", creDate: 1457009737, modDate: 1457012012 }, modDate: 1457012012 }, $unset: { location: 1 } }>) 
[email protected]:33:32 logMsg.h[1803]: Starting transaction to Y.Y.Y.Y:5050/notify 
[email protected]:33:32 logMsg.h[1887]: Transaction ended 
[email protected]:33:32 logMsg.h[1803]: Starting transaction to Y.Y.Y.Y:5050/notify 
[email protected]:33:37 logMsg.h[1887]: Transaction ended 

什麼可能是超時的原因?

N.B .:我可以看到在MongoDB(Orion的dbhost)中創建的實體,因此認爲請求是正確的。官方文件使用相同格式的事實證實了這一點。 Cygnus也根據官方文檔進行配置,並且似乎按照它的工作方式工作(記錄中沒有錯誤,只是沒有接收來自Orion的數據)。

+0

是安全組的Y.Y.Y.Y VM的端口5050打開?該虛擬機中運行的防火牆是否阻止了該流量(通常,您可以執行快速測試,運行'iptables -F'來清除所有防火牆規則)? – fgalan

回答

0

不知道這個問題的原因,因爲我需要更多關於Y.Y.Y.Y中安全組配置的信息(正如問題的評論中所述)。

不過,這個問題使用的最可能的原因是:

  • 天鵝未在Y.Y.Y.Y主機啓動。
  • Cygnus在Y.Y.Y.Y主機上啓動,但在端口不同於5050時
  • Y.Y.Y.Y主機中的某些內容(例如防火牆或安全組)阻止傳入的通知。
  • Orion正在運行的東西(例如防火牆)阻止了外出通知。
  • 還有一些其他網絡問題導致連接問題。
0

我正面臨同樣的問題,但與Orion - >質子溝通。我的Proton實例未收到Orion通知。

由於我爲Orion和Proton使用Docker,因此我解決了在訂閱中插入Proton docker IP的問題。

找到您的集裝箱碼頭IP與sudo docker network inspect bridge。我的Proton容器IP是172.17.0.4

然後,當您訂閱上下文時,請在contextSubscription有效內容中使用該IP。就我而言,這是"reference": "http://172.17.0.4:8080/ProtonOnWebServer/rest/events",

在你的情況下,使用天鵝,應該像"reference": "http://<cygnus_docker_ip>:5050/notify",