1.8.1-1.JPのスクリーン内のグラフについて

Forumではいろいろお世話になっております。

また、自己では中々解決出来ない事項が出てきましたので質問致します。っていうか、仕様だとは思いますが一応お聞きします。
トラブルではありません。(只、某案件運用に使用します。)

監視ホストに対してグラフを作成しました。
そのグラフをスクリーンに貼って他のオブジェクトと共に確認できるようにしました。

そこで、このスクリーン上のグラフのデータ部以外の部分をクリックしてしまうと、スクリーンがこのグラフのみの画面に入れ替わってしまいます。
元々、はじめのスクリーンは最大化(FullScreen)で表示させていて、このグラフの画面も最大化で表示され元画面に戻るナビが表示されれば何も問題なかったのですが、最大化ではなくナビもありません。(ヒストリは存在しますが、思うような動きをしません。最大化で戻らないですし。)ブラウザの戻るボタンのみです。極力、上部のメニューを表示させない仕様を目指しているのでいろいろ工夫してみました。
未だいい方法が見つかっていません。

そこで、すでにこのバージョンのzabbixを使用されてる方で、見落としている設定や、回避策などがありましたらお教えください。
機能をdisableにするのが一番いいのかもしれませんね。

よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

fineさん

そこで、すでにこのバージョンのzabbixを使用されてる方で、見落としている設定や、回避策などがありましたらお教えください。
機能をdisableにするのが一番いいのかもしれませんね。

一番最初にスクリーン開いた人が、最大化する運用なのでしょうか?

常時最大化にしておくモードはちょっと分からないです。
また、フルスクリーンの状態で戻る方法も通常ではないかと。

私の調べた限りでは回避策はなさそうです。

機能をdisableにするのが一番いいのかもしれませんね。

ちょっとめんどくさいところなのでdisableにするのは難しい様な…A(^^;

ユーザー fine の写真

KAZさん
お世話になります。

要は、
スクリーンで表示させたグラフのデータ部以外の場所をクリックすることによるグラフ詳細表示をdisabledにしたいのと。
或いは、このクリックで指定されるURLを別のものに置き換えたかった。
ということです。

はじめから仕様だと思っていましたがあえて投稿してみました。

ありがとうございました。

ユーザー kodai の写真

こんにちは。

仕様といってしまえばそうなのですが、オープンソースですからソースを修正してしまえば良いという考え方もあると思います。

要は、
スクリーンで表示させたグラフのデータ部以外の場所をクリックすることによるグラフ詳細表示をdisabledにしたいのと。
或いは、このクリックで指定されるURLを別のものに置き換えたかった。
ということです。

調べてみたところ、Webインターフェースのinclude/screens.phpの929行目

<code>if($editmode == 0) $action = 'charts.php?graphid='.$resourceid.url_param('period').url_param('stime');</code>

の部分を

<code>if($editmode == 0) //$action = 'charts.php?graphid='.$resourceid.url_param('period').url_param('stime');</code>

と$actionの前に"//"を入れればグラフがクリックで拡大されないようにすることができました。

その他のところに影響が出るかどうかまでは試していないのですがご参考ください。

ユーザー KAZ の写真

kodaiさん

調べてみたところ、Webインターフェースのinclude/screens.phpの929行目

流石!

ブラウザの要素検証でみたらjavascriptが自動生成してるっぽかったのでどうしようかと思ってました。A(^^;

ユーザー fine の写真

Kodaiさん
KAZさん
お世話になります。

include/screens.inc.php
の該当箇所をコメントアウトしてみました。

確かに、
「監視データ」⇒「スクリーン」のグラフが、クリックに反応しなくなりました。

ただ自分の環境(1.8.1-1.jp)では、
「設定」⇒「スクリーン」では以下エラーが出るようです。

Undefined variable: dom_graph_id[/usr/share/zabbix/include/screens.inc.php:993]
Undefined variable: dom_graph_id[/usr/share/zabbix/include/screens.inc.php:1060]

やはり未知の影響が出てるようです。
少し考え直して表示を工夫してみます。

いろいろありがとうございました。

ユーザー TNK の写真

変更を入れた部分は、中括弧でくくられたif文ではないので、
<code>
if($editmode == 0) //$action = 'charts.php?graphid='.$resourceid.url_param('period').url_param('stime');
</code>
ではなく、
<code>
//if($editmode == 0) $action = 'charts.php?graphid='.$resourceid.url_param('period').url_param('stime');
</code>
と1行丸ごとコメントアウトすればよいのではないでしょうか?

恐らく、「if($editmode == 0)」が生き残って、次の処理文とくっついてしまい、
<code>
if($editmode == 0) $dom_graph_id = 'graph_'.$screenitemid.'_'.$resourceid;
</code>
となり、編集モード時に「dom_graph_id」が設定されていない状態になってしまったのだと思われます。

ユーザー kodai の写真

すいません、初歩的なミスでした :-(

TNKさん、フォローありがとうございます。

ユーザー fine の写真

Kodaiさん、KAZさん、TNKさん
お世話になります。

上記修正で使い勝手がかなりよくなりました。
いろいろ動作確認しましたが今のところ問題は
出ていません。

ありがとうございました。