InsightIQ "HTTP-Anfrage timed out" oder leer beim Generieren von FSA-Berichten
Summary: Die InsightIQ-Benutzeroberfläche kann einen Dateisystemanalysebericht (File System Analytics, FSA) nicht ganz oder teilweise laden, wenn das Timeout der OneFS-API (Application Programming Interface) zu niedrig ist. ...
Symptoms
In InsightIQ 4.0 bis 4.2 und OneFS 8.0.x (oder neueren Versionen) erfasst die OneFS RESTful API FSA-Berichtsdaten. Wenn InsightIQ diese Daten nicht erfassen kann, wird der FSA-Bericht möglicherweise nicht oder nur teilweise geladen oder ermöglicht es Nutzern nicht, in den Verzeichnissen zu navigieren.
Cause
Das Problem tritt auf, wenn der InsightIQ-Server den API-Aufruf an OneFS zu früh beendet.
Um diese Ursache zu validieren, führen Sie den folgenden Befehl aus (ersetzen Sie CLUSTER_GUID mit dem richtigen Verzeichnis):
$ grep "HTTP request timed out" /var/log/insightiq_clusters/CLUSTER_GUID/api_connection.log
Es erscheint eine Ausgabe ähnlich der folgenden:
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
Der definierte Timeout-Wert wird angezeigt, wenn Sie diesen Befehl ausführen:
$ grep 'read timeout=' /var/log/insightiq.log
Die Ausgabe sieht wie folgt aus. In dieser Beispielausgabe beträgt das Timeout 20 Sekunden:
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
Um das Problem zu beheben, erhöhen Sie das Standard-Timeout für API-Aufrufe an OneFS, indem Sie das api.py zu verwenden.
Führen Sie diesen Befehl aus, um InsightIQ zu bearbeiten api.py Datei:
$ sudo vi /usr/share/isilon/lib/python2.7/site-packages/insightiq/lib/api_connection/api.py
Ändern Sie in Zeile 35 TIMEOUT = 20 an TIMEOUT = 300.
Starten Sie dann den InsightIQ-Server neu:
$ sudo service insightiq restart
Für InsightIQ 4.2 lautet der Pfad /usr/share/isilon/lib/python3.10/site-packages/insightiq/lib/api_connection/api.py.