1.6.8-1JPでマップのコネクタの色を変更することが出来なくなりました

Forumにはいつもお世話になっております。

1.4.6-1JPでマップを作成し、機器間をコネクタのlinkで結び、トリガーによる色と線種変更を行っていました。

1.6.8-1JPにアップグレード後に設定を確認したところ、次のような問題がありました。
・コネクタ設定画面で、色(正常)欄にプルダウンが無い
・状態識別用トリガーの色欄に、色名または色が表示されない
・状態識別用トリガーの設定画面で、色(障害)欄にプルダウンが無い
・色(正常)欄と色(障害)欄に文字や数字を入力しても、色が変更できない
 保存後の欄には、入力した文字や数字が登録されています。

線種の設定は、タイプ(正常)とタイプ(障害)のどちらでもプルダウンで変更することが出来ました。

言語を英語にしても、状態は変りませんでした。

何か情報がありましたら、教えていただけますか。
宜しく御願致します。

コメント表示オプション

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

情報を追加いたします。

色の変更に関しては、色を選択する欄が色名欄の右にあったのですが、背景と同じ色でまぎれて見えていませんでした。
この色欄があると思われる位置をクリックすると色一覧が表示され、設定する色をクリックすることで色を変更することが出来ました。

色を変更して保存後に再度コネクタを開くと、色欄に色が表示されるようになり、色名欄には色のコード番号が表示されるようになりました。

バージョンアップ前は、正常を「黒」で障害を「赤」に設定してあり、バージョンアップ後に色を変更する前には、色名欄はこの名前が表示されており、色欄に色が表示されません。

宜しく御願致します。

ユーザー KAZ の写真

mikoさん

質問を見落とししていました。すません。m(__)m
1.6.8-1ですか、確認してみます。

ちょっと色々忙しいので時間がかかると思いますが、御容赦下さい。

ユーザー miko の写真

御回答頂き有難うございます。

1.4.6-1JPから1.6.8-1JPに移行した時に、コネクタの色指定データを変換していないため、1.6.8-1JPの設定画面で色が出ないようです。

色が出ないときに枠が見えれば判ったのですが、枠が背景と同じ色だったのか見えませんでした。
ただ、枠が表示される時もあり、そこで気づいて色設定をすることが出来ました。

宜しく御願致します。

ユーザー KAZ の写真

mikoさん

確認しました。

1.4.6-1JPから1.6.8-1JPに移行した時に、コネクタの色指定データを変換していないため、1.6.8-1JPの設定画面で色が出ないようです。

これ日本語化の問題みたいです。A(^^;

色が「緑」「赤」となってますが、「Green」「Red」じゃないとダメですね。

スタッフに展開しておきます。

後、枠ですが私の環境では全部ありました。
※:データ量の差でしょうか…(監視ホストが1ケタなので…)

ユーザー miko の写真

御回答頂き有難うございました。

これ日本語化の問題みたいです。A(^^;

色が「緑」「赤」となってますが、「Green」「Red」じゃないとダメですね。

スタッフに展開しておきます。

後、枠ですが私の環境では全部ありました。
※:データ量の差でしょうか…(監視ホストが1ケタなので…)

日本語データの問題でしたか、了解しました。

枠に関しては、表示されない時と表示される時があります。
こちらはもう少しチェックしてみます。

有難うございました。

ユーザー miko の写真

テスト環境にてバージョンアップを行い、枠の表示に関して検証したところ、
SeaMonkey2.0.2:枠有り
IE8:枠無し
IE6:枠無し
という状態になりました。

IE8の互換表示機能にZABBIXサーバーのIPを登録しましたが、状況は変りませんでした。

宜しく御願致します。

ユーザー KAZ の写真

mikoさん

私の環境(1.6.8-1)でですが、下記の様な現象が起きました。

■Google Chrome 4.0.249.78
 greenで設定画面は緑、link線も緑

■IE8
 greenで設定画面は背景色、link線は緑

■FireFox3.5.7
 greenで設定画面は背景色、link線は緑

"009900"と入れると全てで正しく表示されますので、色的にはgreenとかの文字列はやめた方が良いようです。

枠については、私のIE8やFireFoxでは全て表示されています。
バージョンアップした順は1.4.6-1 → 1.6.6-1 → 1.6.8-1の順でした。

問題点は2つ
1)今迄使用していたgreen、red等のカラー指定が使えない
→カラーコード:00ff00とか使用すれば回避可能。

2)枠が表示されない。
→再現できない環境がある。

※:枠の問題ですが、実は私の本業が現在開発の納期だったりしていて、私が腰を据えて調査ができなかったりしてます。A(^^;

2月末になれば時間が取れると思いますので、少々お待ち下さい。

ユーザー miko の写真

御回答頂き有難うございます。

KAZさんは書きました:

■Google Chrome 4.0.249.78
 greenで設定画面は緑、link線も緑

■IE8
 greenで設定画面は背景色、link線は緑

■FireFox3.5.7
 greenで設定画面は背景色、link線は緑

どの環境でも枠が表示されたのですか、自分の環境に問題があるのかもしれないですね。
また検証してみます。

"009900"と入れると全てで正しく表示されますので、色的にはgreenとかの文字列はやめた方が良いようです。

枠については、私のIE8やFireFoxでは全て表示されています。
バージョンアップした順は1.4.6-1 → 1.6.6-1 → 1.6.8-1の順でした。

問題点は2つ
1)今迄使用していたgreen、red等のカラー指定が使えない
→カラーコード:00ff00とか使用すれば回避可能。

2)枠が表示されない。
→再現できない環境がある。

1)に関しては、バージョンアップ時に実行するSQLパッチでデータ変換が出来れば、ユーザーが個別に設定を変更しなくて済むのですが、可能なのでしょうか。

2)に関しては、クライアント側の問題もありますから、そこまで重要ではないと思います。
こちらでも調べてみます。

宜しく御願致します。

ユーザー KAZ の写真

mikoさん

1)に関しては、バージョンアップ時に実行するSQLパッチでデータ変換が出来れば、ユーザーが個別に設定を変更しなくて済むのですが、可能なのでしょうか。

検証しました。下記の2つのテーブルのcolorカラムです。
・sysmaps_link_triggers
・sysmaps_links

下記の様な感じで変換すれば良いかと。

1.どの色が使われているか確認
<code>
mysql> select * from sysmaps_links;
+--------+----------+-------------+-------------+----------+--------+
| linkid | sysmapid | selementid1 | selementid2 | drawtype | color |
+--------+----------+-------------+-------------+----------+--------+
| 1 | 2 | 1 | 2 | 0 | 緑 |
| 2 | 2 | 1 | 3 | 0 | 00FF00 |
| 3 | 2 | 1 | 4 | 0 | 00FF00 |
| 4 | 2 | 1 | 5 | 0 | 00FF00 |
+--------+----------+-------------+-------------+----------+--------+
4 rows in set (0.01 sec)

mysql> select * from sysmaps_link_triggers;
+---------------+--------+-----------+----------+--------+
| linktriggerid | linkid | triggerid | drawtype | color |
+---------------+--------+-----------+----------+--------+
| 12 | 3 | 12888 | 0 | FF0000 |
| 13 | 4 | 12860 | 0 | FF0000 |
| 15 | 2 | 12881 | 0 | FF0000 |
| 18 | 1 | 12874 | 0 | 赤 |
+---------------+--------+-----------+----------+--------+
4 rows in set (0.00 sec)
</code>

2.該当の色をカラーコードに変換
<code>
mysql> update sysmaps_links set color='00FF00' where color='緑';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update sysmaps_link_triggers set color='FF0000' where color='赤';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
</code>

3.念の為、確認(笑)
<code>
mysql> select * from sysmaps_links;
+--------+----------+-------------+-------------+----------+--------+
| linkid | sysmapid | selementid1 | selementid2 | drawtype | color |
+--------+----------+-------------+-------------+----------+--------+
| 1 | 2 | 1 | 2 | 0 | 00FF00 |
| 2 | 2 | 1 | 3 | 0 | 00FF00 |
| 3 | 2 | 1 | 4 | 0 | 00FF00 |
| 4 | 2 | 1 | 5 | 0 | 00FF00 |
+--------+----------+-------------+-------------+----------+--------+
4 rows in set (0.00 sec)

mysql> select * from sysmaps_link_triggers;
+---------------+--------+-----------+----------+--------+
| linktriggerid | linkid | triggerid | drawtype | color |
+---------------+--------+-----------+----------+--------+
| 12 | 3 | 12888 | 0 | FF0000 |
| 13 | 4 | 12860 | 0 | FF0000 |
| 15 | 2 | 12881 | 0 | FF0000 |
| 18 | 1 | 12874 | 0 | FF0000 |
+---------------+--------+-----------+----------+--------+
4 rows in set (0.00 sec)
</code>

色とカラーパターンの対応は下記を参考に願いたく。
<code>
'FF0000' 'Red';
'960000' 'Dark Red';
'00FF00' 'Green';
'009600' 'Dark Green';
'0000FF' 'Blue';
'000096' 'Dark Blue';
'FFFF00' 'Yellow';
'969600' 'Dark Yellow';
'00FFFF' 'Cyan';
'000000' 'Black';
'969696' 'Gray';
'FFFFFF' 'White';
</code>

これは日本語化した為にpatch.sqlが291-314行目がうまく動かなくなり、発生した現象のようです。

ユーザー miko の写真

御回答頂き有難うございました。

KAZさんは書きました:

検証しました。下記の2つのテーブルのcolorカラムです。
・sysmaps_link_triggers
・sysmaps_links

提示して頂きました方法で sysmaps_links と sysmaps_link_triggers を更新することで、問題なく変換することが出来ました。

これは日本語化した為にpatch.sqlが291-314行目がうまく動かなくなり、発生した現象のようです。

パッチを確認しました。
色変換を行うようになっているのですが、変換元の色名が英語の色名のみを対象としていたので、変換されなかったためなのですね。

宜しく御願致します。

ユーザー miko の写真

linkの設定画面で色指定の枠が表示されないのは、IE8で互換表示機能が有効の場合のようです。

互換表示設定でサイトにZABBIXサーバーを追加していなかったのですが、互換表示でイントラネットサイトを表示にチェックが入っておりました。
このチェックを外したところ、枠が表示されました。

またこのチェックを外した状態でサイトを追加したところ、同じように枠が表示されなくなりました。

宜しく御願致します。

ユーザー KAZ の写真

mikoさん

情報提供ありがとうございます。

FireFoxでもIEのレンダリングエンジンを使用すると枠が消えました。どうやら枠の問題はIEのレンダリングエンジンとの相性のようです。

styleの指定方法がIEに合っていないようなので回避できないか少々調べてみます。

ユーザー KAZ の写真

mikoさん

原因が分かりました。
枠ですがstyleのoutlineがIEの互換表示に対応していないようです。A(^^;

outlineではなくboderを使えば問題ないのですが…

どこを直せば他に影響なく修正できるか調査してみますので少々お待ち下さい。

ユーザー KAZ の写真

mikoさん

原因判明しました。
また、枠以外にNew connectorの右側の線が消えると言う事象も発見し、その現象の原因も判明しました。

1)枠が消える
枠をスタイル要素「outline」で描画していた。
outlineをborderに変えることで、枠が出るようになります。

2)New connectorの右側の線が消える
New connectorの表示幅(width)が奇数の値の場合、発生します。

New connectorはtable構成で2つのtdタグから作られていてtdタグの幅はwidth:50%;となっていました。

これが、原因で例えばNew connectorのwidthが715pxの場合、tdタグはpaddingが左右5px付いていたので…

715px * 50%(切り捨て) = 357px (5px + 347px +5px)

tdタグは2つありますので、714pxで表示できそうなのですが、左のtdタグには左にborderが、右のtdタグにも右にborderがあります。borderはそれぞれ1pxでした。

つまり、714px+2pxで716pxになり、New connectorのwidthを超え、表示できなくなっていました。

…IE8の互換表示の方が正しい動きですね、これ…A(^^;

と言う訳で、width:50px;をwidth:49px;に変えれば線が消えなくなりました。

現在、パッチを作成しzabbix-jp内に展開中です。
確認取れたら公開します。

※1:outlineを使っているのは2ファイルしかなく、2ファイルとも修正なので、frontend/php配下のファイルを全検索してoutlineをborderに置き換えれば枠は直ります。

※2:width:50%;すが、frontends/php/styles/table.cssに3か所50%の記述があるので、全部49%に変更すればOKです。

ユーザー miko の写真

御回答頂き有難うございます。

KAZさんは書きました:
mikoさん

原因判明しました。
また、枠以外にNew connectorの右側の線が消えると言う事象も発見し、その現象の原因も判明しました。

1)枠が消える
枠をスタイル要素「outline」で描画していた。
outlineをborderに変えることで、枠が出るようになります。

2)New connectorの右側の線が消える
New connectorの表示幅(width)が奇数の値の場合、発生します。

現在、パッチを作成しzabbix-jp内に展開中です。
確認取れたら公開します。

原因を調査していただき有難うございました。
パッチのリリースを待たせていただきます。

今後とも宜しく御願致します。

ユーザー kodai の写真

こんにちは。

まだ検証ができていないのですが、先行して情報を公開しておきます。

枠が表示されない問題については、KAZさん作のパッチを以下で公開しました。

http://sourceforge.jp/projects/zabbix/svn/view/trunk/1.6.8/zabbix-1.6.8-map_color_frame.patch?revision=119&root=zabbix

1.4から1.6へのアップグレード時にリンクの色が正常に引き継がれない件については、以下のSQLを実行することで解決できると思います。

<code>update graphs_items set color='FF0000' where color='赤';
update graphs_items set color='960000' where color='濃い赤';
update graphs_items set color='00FF00' where color='緑';
update graphs_items set color='009600' where color='濃い緑';
update graphs_items set color='0000FF' where color='青';
update graphs_items set color='000096' where color='濃い青';
update graphs_items set color='FFFF00' where color='黄';
update graphs_items set color='969600' where color='濃い黄';
update graphs_items set color='00FFFF' where color='シアン';
update graphs_items set color='000000' where color='黒';
update graphs_items set color='969696' where color='グレイ';
update graphs_items set color='FFFFFF' where color='白';
update sysmaps_links set color_on='FF0000' where color_on='赤';
update sysmaps_links set color_on='960000' where color_on='濃い赤';
update sysmaps_links set color_on='00FF00' where color_on='緑';
update sysmaps_links set color_on='009600' where color_on='濃い緑';
update sysmaps_links set color_on='0000FF' where color_on='青';
update sysmaps_links set color_on='000096' where color_on='濃い青';
update sysmaps_links set color_on='FFFF00' where color_on='黄';
update sysmaps_links set color_on='969600' where color_on='濃い黄';
update sysmaps_links set color_on='00FFFF' where color_on='シアン';
update sysmaps_links set color_on='000000' where color_on='黒';
update sysmaps_links set color_on='969696' where color_on='グレイ';
update sysmaps_links set color_on='FFFFFF' where color_on='白';
update sysmaps_links set color_off='FF0000' where color_off='赤';
update sysmaps_links set color_off='960000' where color_off='濃い赤';
update sysmaps_links set color_off='00FF00' where color_off='緑';
update sysmaps_links set color_off='009600' where color_off='濃い緑';
update sysmaps_links set color_off='0000FF' where color_off='青';
update sysmaps_links set color_off='000096' where color_off='濃い青';
update sysmaps_links set color_off='FFFF00' where color_off='黄';
update sysmaps_links set color_off='969600' where color_off='濃い黄';
update sysmaps_links set color_off='00FFFF' where color_off='シアン';
update sysmaps_links set color_off='000000' where color_off='黒';
update sysmaps_links set color_off='969696' where color_off='グレイ';
update sysmaps_links set color_off='FFFFFF' where color_off='白';</code>

上記のSQLは1.6.8-2.JPパッケージに含まれるアップグレードスクリプトに含めて提供予定です。

ユーザー miko の写真

パッチ情報を提示していただき、有難うございました。

自分の環境では、黒と赤しか使っていなかったので容易に修正できましたが、多くの色を使っている環境でも容易に修正できるようになりますね。

今後とも宜しく御願致します。

ユーザー miko の写真

提示していただきましたSQLを1.6.8-1JPで実行したところ、エラーとなりました。

先に提示していただきましたのは、下記の2テーブルに対して、colorという列のデータを変更する方法でした。
update sysmaps_links set color='FF0000' where color='赤';
update sysmaps_link_triggers set color='FF0000' where color='赤';

今回提示していただいたSQLでは列名が違いますが、1.6.8-2JP用なのでしょうか?
そうなると、1.6.8-1JPと1.6.8-2JPでは、データベースに変更があるということなのでしょうか?

宜しく御願致します。

ユーザー kodai の写真

こんにちは。

1.4と1.6ではデータベースのテーブルやカラムの定義が変わってますね。列名が違うのはそのせいです。

私が貼り付けたSQLは1.4のデータベースの定義を利用してましたので、1.6にアップグレードされた後では利用できませんでした。また後日確認してアップするようにします。

ユーザー miko の写真

御回答頂き有難うございました。

kodaiさんは書きました:
こんにちは。

1.4と1.6ではデータベースのテーブルやカラムの定義が変わってますね。列名が違うのはそのせいです。

私が貼り付けたSQLは1.4のデータベースの定義を利用してましたので、1.6にアップグレードされた後では利用できませんでした。また後日確認してアップするようにします。

なるほど、1.4のDBで使用するものだったのですね。
色指定がカラーコードになっていたので、1.6のDBになってから変更するものと思いました。

有難うございました。