ヒストリの削除について

はじめまして。

アイテムのヒストリ削除をおこなったところ下記のメッセージが表示され削除できません。

pg_query() [<a href='function.pg-query'>function.pg-query</a>]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xe58e2e HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".[/usr/share/zabbix/include/db.inc.php:474]

Error in query [INSERT INTO auditlog (auditid,userid,clock,action,resourcetype,details) values (4753,1,1264124790,1,15,'アイテム [log[/var/log/messages,error]] [22676] ホスト [test] ヒストリが消&#65533;...')] [ERROR: invalid byte sequence for encoding "UTF8": 0xe58e2e HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".]

[プラットフォーム]
zabbix-1.6.6

お手数ですが、よろしくお願いします。

コメント表示オプション

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

hogeさん

返信遅くなりました。

使っているのはPostgreSQLの様ですが、postgresql.confのclient_encodingはUTF8ですか?

ユーザー hoge の写真

確認ありがとうございます。

> 使っているのはPostgreSQLの様ですが、postgresql.confのclient_encodingはUTF8ですか?

 postgresql.conf
 client_encoding=UTF-8

php.iniも同様の設定でUTF-8で統一しております。
マルチバイトmbstringもサポートしております。

対象ファイルは /var/log/messagesになります。

参考までですがヒストリを参照したところ、半角英数128文字以上の行もあるようです。

以上、よろしくおねがいします。

ユーザー KAZ の写真

hogeさん

<code>
pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xe58e2e HINT:
This error can also happen if the byte sequence does not match the encoding expected by the server,
which is controlled by "client_encoding".[/usr/share/zabbix/include/db.inc.php:474]

Error in query [INSERT INTO auditlog (auditid,userid,clock,action,resourcetype,details)
values (4753,1,1264124790,1,15,'アイテム [log[/var/log/messages,error]] [22676] ホスト [test] ヒストリが消&#65533;...')]
[ERROR: invalid byte sequence for encoding "UTF8": 0xe58e2e HINT:
This error can also happen if the byte sequence does not match the encoding expected by the server,
which is controlled by "client_encoding".]
</code>
auditlogテーブルに消した情報を書き込もうとしてエラーを起こしているみたいです。
消す情報ですが、[監視データ]-[最新データ]で表示文字数制限で下記になってませんでしょうか?
[qoute]
[22676] ホスト [test] ヒストリが消&#65533;...
[/qoute]
最後が文字化けしていますので、それが影響しているかと。

根本原因はバグですが、表示が文字化けしていない状態ならば消せると思います。/var/log/messagesに文字化けしない文字列のみにしてやれば消せませんでしょうか?

ユーザー hoge の写真

確認ありがとうございます。

> [監視データ]-[最新データ]で表示文字数制限

 エラー表示にてこのような下記の表示がありますが、最新データからは確認できませんでした。
 
> [22676] ホスト [test] ヒストリが消&#65533;...

 マルチバイトを含まないキーワードアイテムも消去できません。

・登録済みアイテム
 log[/var/log/messages]
 log[/var/log/messages,keyword]
 上記の2パターンを同サーバに設定していますが、削除できるものとできないものがあります。

 最新データ>ヒストリから、キーワードのヒストリを確認したところ文字化けやマルチバイト文字は含まれておりませんでした。

 また、監視対象サーバの文字コードもUTF-8になります。

> /var/log/messagesに文字化けしない文字列のみにしてやれば消せませんでしょうか?

 上記については直接的に監視対象サーバのログを編集するといったことでしょうか。

よろしくお願いいたします。

ユーザー KAZ の写真

hogeさん

実際にhistory消去を行って監査ログを取ってみました。

下記がアイテムのhistory消去で監査ログに出力される内容です。
<code>
アイテム [{アイテムのKEY}]] [{アイテムID}] ホスト [{ホスト名}] ヒストリが消去されました
</code>
「ヒストリが消去されました」は固定メッセージだったようです。
すみません。

試しに言語を英語(GB)に変えてhistoryの削除を試していただけますか?

ユーザー hoge の写真

ご返信ありがとうございます。

言語を英語(GB)に変更したところヒストリの削除が行えました。

可能であれば日本(JP)で利用したいのですが、方法として上記に以外にないものでしょうか。。。

ユーザー KAZ の写真

hogeさん

お使いのzabbixは本家のものでしょうか?
それともzabbix-jpのzabbix1.6.6-1でしょうか?

zabbix-jpのrpmは日本語での動作がうまくいくように色々対応が入っています。本家の物は日本語圏で作られたものではないので、日本語での動作がおかしくなる時があります。

もし、zabbix-jp版を使っていないのでしたら、zabbix-jpの使用をお勧めします。

ユーザー hoge の写真

> お使いのzabbixは本家のものでしょうか?
> それともzabbix-jpのzabbix1.6.6-1でしょうか?

インストール済みのパッケージを調べましたが、
zabbix-jpのパッケージのようです。
 ---------------------------------------
  zabbix-web-1.6.6-1.el5.JP
  zabbix-agent-1.6.6-1.el5.JP
  zabbix-server-pgsql-1.6.6-1.el5.JP
  zabbix-server-1.6.6-1.el5.JP
  zabbix-1.6.6-1.el5.JP
  zabbix-jp-release-5-1
  zabbix-web-pgsql-1.6.6-1.el5.JP
 ---------------------------------------

php.iniやhttpd.confの設定を見直したほうがよろしいでしょうか。基礎設定は行っています。

よろしくおねがいします。

ユーザー KAZ の写真

hogeさん

インストール済みのパッケージを調べましたが、
zabbix-jpのパッケージのようです。

そうですか…

取り敢えず、1.6.8.-1へのバージョンアップをお勧めします。
1.6.7でかなりPostgreSQLのbug-fixが入ってます。

それでだめならソース解析という流れになるかと…