InsightIQ "HTTP request timed timed out" nebo prázdné pole při generování hlášení FSA
Summary: Pokud je časový limit rozhraní API (Application Programming Interface) systému OneFS (Application Programming Interface) systému OneFS příliš nízký, uživatelské rozhraní InsightIQ nenačte celý report nebo jeho část. ...
Symptoms
V softwaru InsightIQ 4.0 až 4.2 a OneFS 8.0.x (nebo novějších verzích) shromažďuje data sestavy FSA rozhraní OneFS RESTful API. Pokud software InsightIQ nemůže tato data shromáždit, zpráva FSA se nemusí načíst, může se načíst částečně nebo nemusí uživatelům umožňovat procházení adresářů.
Cause
K problému dochází, když server InsightIQ příliš brzy vyprší časový limit volání rozhraní API do systému OneFS.
Chcete-li tuto příčinu ověřit, spusťte následující příkaz (nahrazení CLUSTER_GUID se správným adresářem):
$ grep "HTTP request timed out" /var/log/insightiq_clusters/CLUSTER_GUID/api_connection.log
Zobrazí se výstup podobný následujícímu:
2017-06-12 13:07:50,114,114 ERROR [api.py: 187] HTTP request timed out: https://172.22.33.27:8080/platform/3/fsa/results/4505/directories/4321902598 2017-06-12 13:08:13,782,782 ERROR [api.py: 187] HTTP request timed out: https://172.22.33.27:8080/platform/3/fsa/results/4505/directories/4321902598
Definovaná hodnota časového limitu se zobrazí spuštěním tohoto příkazu:
$ grep 'read timeout=' /var/log/insightiq.log
Výstup vypadá takto. V tomto ukázkovém výstupu je časový limit 20 sekund:
2018-04-12 04:18:30,203 WARNI [insightiq.lib.cluster.errors] APITimedOutError: HTTPSConnectionPool(host='10.104.6.138', port=8080): Read timed out. (read timeout=20) URI: https://10.104.6.138:8080/platform/3/statistics/history
Resolution
Chcete-li tento problém vyřešit, zvyšte výchozí časový limit pro volání rozhraní API do systému OneFS úpravou api.py .
Spuštěním tohoto příkazu upravíte software InsightIQ api.py :
$ sudo vi /usr/share/isilon/lib/python2.7/site-packages/insightiq/lib/api_connection/api.py
Na řádku 35 upravte TIMEOUT = 20 na TIMEOUT = 300.
Poté restartujte server InsightIQ:
$ sudo service insightiq restart
V případě softwaru InsightIQ 4.2 je cesta následující: /usr/share/isilon/lib/python3.10/site-packages/insightiq/lib/api_connection/api.py.