Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WebUI] Web timeout setting change #2514

Open
a24-yamaguchi opened this issue Feb 16, 2017 · 6 comments
Open

[WebUI] Web timeout setting change #2514

a24-yamaguchi opened this issue Feb 16, 2017 · 6 comments

Comments

@a24-yamaguchi
Copy link
Contributor

a24-yamaguchi commented Feb 16, 2017

現状デフォルト30秒に設定されているWebUIタイムアウト時間を変更できるようなUIが欲しい。

ネタとしてSNMP監視を上げますが、Zabbixを入れているPCのスペックの問題かもしれません。
最新データ画面でSNMP監視アイテムを持つZabbixサーバを選択すると ほぼなにも表示されず
bootstrapのタイムアウトのダイアログが30秒毎に表示される。
Web側のタイムアウトを延ばせれば解決するケースもあるので、利便性を上げたい。

参考値として、Hatoholの最新データ画面で次のような監視ホスト、アイテムを持つZabbixを
表示する場合、WebUIタイムアウトを100秒程度に設定すると表示されるようになる。
ホスト数: 101
監視アイテム数: 5500
アクティブで監視

比較として、Hatoholの最新データ画面でSNMP監視アイテムを持たない次の監視スペックの
Zabbixを表示させると、10秒かからずに最新データが表示される。
PC上のkvm(1core, mem:1GB, HDD:10GB)
ホスト数: 90
監視アイテム数: 6500
パッシブで監視

jsを直接書き換えることができれば、次の変更で例として120秒に伸ばせる。
ただし、タイムアウトが長いと 画面上でなにか回っていないと使いにくそうではある。

diff -u /usr/libexec/hatohol/client/static/js/latest_view.js.000 /usr/libexec/hatohol/client/static/js/latest_view.js
--- /usr/libexec/hatohol/client/static/js/latest_view.js.000    2017-02-09 14:02:26.000000000 +0900
+++ /usr/libexec/hatohol/client/static/js/latest_view.js    2017-02-15 16:24:27.896587525 +0900
@@ -250,7 +250,7 @@
     if (!isNaN(page)) {
       self.currentPage = page;
     }
-    self.startConnection(getQuery(false, self.currentPage), updateCore);
+    self.startConnection(getQuery(false, self.currentPage), updateCore, undefined, {timeout: 120000});
     self.pager.update({ currentPage: self.currentPage });
     $(document.body).scrollTop(0);
   }

■発生環境、ver/rev
16.12

%%271

@kz0817
Copy link
Member

kz0817 commented Feb 16, 2017

タイムアウトを変更することで、監視可能になるのであれば、そういう機能があったほうがいいんでしょうけど、システムワイドの値にするっていうのも抵抗ありますね。監視サーバごとに設定という感じなのかな。

@kz0817
Copy link
Member

kz0817 commented Feb 16, 2017

比較として、次の監視スペックのzabbixだと10秒かからずに最新データが表示される。

zabbixで閲覧する場合に比べて、10倍近い時間がかかってるってことですよね。
ZABBIX APIの使い方が悪いのかな?むしろ取得方法の効率性についてきちんと
調べたほうがいい気がしています。

@a24-yamaguchi
Copy link
Contributor Author

a24-yamaguchi commented Feb 16, 2017

タイムアウトが起こる画面はだいたい決まっているので、画面ごとでも良いかもしれないですね。

zabbixで閲覧する場合に比べて、10倍近い時間がかかってるってことですよね。

いえ、Hatoholからみた2台のzabbixで、PCだけを監視しているZabbixと、
SNMPの監視アイテムがあるZabbixの比較で書いています。
あとで文面直しておきます。

@a24-yamaguchi
Copy link
Contributor Author

Hatohol16.12の時点でタイムアウトが起こりやすい画面。

  • 最新データの「監視サーバー」をドロップダウンで選んだ後、監視サーバー内のすべての最新データが表示されるまで
  • グラフを追加する際、「監視サーバー」-「グループ」-「ホスト」を選んでプロットするアイテムがドロップダウンリストに出てくるまで

@kz0817
Copy link
Member

kz0817 commented Feb 17, 2017

ただ、待って表示させるより、より高速にデータを取得できるようにクエリやインデックスの見なおしも検討したほうがよいですよね。単純にタイムアウトを長くするのは、根本解決ではないように思います。Zabbixでは、同等の情報をより短い時間で取得できるんですよね?

@masa0612
Copy link
Contributor

時間がかかっているのはプラグイン→ZabbixAPIへのリクエストがほとんどなんですよね。
(もちろんプラグイン,Hatoholサーバー側にも改良の余地は有りますが)

Zabbixが配置されているマシンのスペック依存と言っても問題ないと思います。
そうなった時に各監視サーバーごとにタイムアウトを設定できるようにするのは自然かなぁと。
APIの叩き方を変えると言ってもイマイチ他の案が思いつきませんし…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants