2014年2月13日木曜日

Zabbix 2.2.2 リリースノート(勝手翻訳版)

※私が勝手に翻訳したものですので、内容の保証は行いません。

Zabbix 2.2.2 リリースノート(勝手翻訳版)

12 February 2014

Zabbix SIAはZabbix 2.2.2のリリースをアナウンスすることを光栄に思います。

Zabbixはオープンソースで配布されるエンタープライズモニタリングソリューションです。ZabbixはGPLライセンスの元で配布されているため、商用、非商用を問わず無償で利用することができます。ライセンスの詳細については、http://www.gnu.org/copyleft/gpl.txtを参照してください。

このドキュメントはZabbix 2.2.2のリリースノートを含みます。ダウンロードはこちらから行えます。http://www.zabbix.com/download.php.

このリリースにはZabbix 2.2.xのいくつかの修正と新機能の紹介が含まれます。新機能の概要はhttps://www.zabbix.com/documentation/2.2/manual/introduction/whatsnew222から参照することができます。

このリリースはCVE-2014-1685、CVE-2014-1682とCVE-2013-5572のセキュリティフィックスが含まれます。より詳細な情報については以下をお読みください。

以下にリリースの詳細を示します。これは最新の情報を提供し、主要なドキュメントの補足となります。

Zabbix 2.2.2の変更点

:: セキュリティフィックス

  • [ZBX-7703] HTTP認証利用時に適切な資格なしにユーザーを切り替えできてしまうのを修正; 参照 CVE-2014-1682
  • [ZBX-6721] LDAP認証を修正; 参照 CVE-2013-5572
  • [ZBX-7693] Zabbix管理者が他のユーザーのメディアを更新できてしまうのを修正; 参照 CVE-2014-1685

:: 翻訳の更新

アメリカ英語、チェコ語、フランス語、ギリシャ語、ハンガリー語、イタリア語、日本語、ロシア語、スロバキア語、トルコ語、ウクライナ語翻訳を更新しました。

:: Zabbix 2.2.2に含まれる改善の一覧

  • [ZBX-7649] アイテムのインターフェイス上でICMPに基づいたチェックを同期。これによって多くの場合にfpingの起動回数を削減
  • [ZBXNEXT-2069] 内部のトリガーによる通知とトリガー名や説明でのHOST.PORTマクロのサポートを追加
  • [ZBX-1357] アメリカ英語、チェコ語、フランス語、ギリシア語、ハンガリー語、イタリア語、日本語、ロシア語、スロバキア語、トルコ語、ウクライナ語翻訳を更新; Zabbix翻訳者に感謝

:: Zabbix 2.2.2に含まれるすべてのバグフィックスと改善の一覧

  • [ZBX-6296] シンプルグラフのタイトル内でアイテム名内のマクロが展開できていなかった問題を修正
  • [ZBX-7743] PHP gettextが有効でなかった場合にユーザー情報やプロファイルを保存できなかった問題を修正
  • [ZBX-7693] ユーザーメディアのバリデーションを修正
  • [ZBX-7693] Zabbix管理者が他のユーザーのメディアを更新できてしまうのを修正
  • [ZBX-7711] vmware collectorのメモリリークを修正
  • [ZBX-7649] アイテムのインターフェイス上でICMPに基づいたチェックを同期。これによって多くの場合にfpingの起動回数を削減
  • [ZBXNEXT-2069] 内部のトリガーによる通知とトリガー名や説明でのHOST.PORTマクロのサポートを追加
  • [ZBX-1357] アメリカ英語、チェコ語、フランス語、ギリシア語、ハンガリー語、イタリア語、日本語、ロシア語、スロバキア語、トルコ語、ウクライナ語翻訳を更新; Zabbix翻訳者に感謝
  • [ZBX-7586] IE10利用時のトリガーのログの条件式保存時の処理を修正
  • [ZBX-7609] フロントエンドメッセージのミュート/ミュートを解除のメッセージを修正
  • [ZBX-6721] LDAP認証を修正
  • [ZBX-7600] Apache 2.4との互換性のために.htaccessファイルを更新
  • [ZBX-7668] zabbix_senderを利用してファイルから読み込む際に空の値を送信してしまうのを修正
  • [ZBX-7571] JSON内で\177 (U+007F) の制御文字列を処理できなかったのを修正
  • [ZBX-7726] フロントエンドの最大表示可能日数を修正
  • [ZBX-7690] ダイナミックなSNMPインデックスを利用していない時のキャッシュを修正
  • [ZBX-7610] セットアップ時にデータベースホストが空だと設定できなかったのを修正
  • [ZBX-7168] configure.acテンプレートが正しくすべてのコンポーネントに独立してリンクするよう修正
  • [ZBX-7671] 1.8から依存性を持つ既存のトリガーをインポートする際のエラーを修正
  • [ZBX-7703] HTTP認証利用時に適切な資格なしにユーザーを切り替えできてしまうのを修正
  • [ZBX-7648] net.dnsアイテム利用時の名前解決を修正
  • [ZBX-6315] ローレベルディスカバリルールによってなくなったトリガーの削除を修正
  • [ZBX-7109] ローレベルディスカバリによって発見されたトリガーの処理パフォーマンスを改善
  • [ZBX-7608] グローバルスクリプトでタイムアウトが発生した際の異常終了を修正
  • [ZBX-7561] MySQL利用時にホストのプロトタイプを処理する際のSQLエラーを修正
  • [ZBX-7688] ディスカバリアイテムのインポートを修正
  • [ZBX-4218] mbstring.func_overloadオプション上の独立性のためアイテムキーの構文解析ソースコードを書き直し
  • [ZBX-7687] Solaris上でアイテムのsystem.swap.in[]とsystem.swap.out[]が無限ループになってしまうのを修正
  • [ZBX-7647] ソート項目やソート順が指定された場合にtrigger.getが"lastchange"で降順にソートするよう修正
  • [ZBX-7686] Oracleから完全にフェッチされていないUTF-8文字列を修正
  • [ZBX-7653] logやlogrtアイテムのeventlogに依存する要素であるITEM.LOG.*マクロの展開を修正
  • [ZBX-7661] 設定のパーサーに2GBキャッシュを確保(以前は2GB-1に制限)
  • [ZBX-7639] ホストの一括更新画面でホストグループを変更と新しいホストグループを追加同時にしようとした際のエラーを修正
  • [ZBX-7458] デーモン起動時にsource IPのバリデーションを追加
  • [ZBX-7660] "templateids"パラメーターを利用しなくてもhost.getで"templates"プロパティが返却されるよう修正
  • [ZBX-6790] ファイル読み込み処理中に/proc/net/(tcp|udp)(6)ファイルが更新されデータの損失を防ぐためにnet.tcp.listenとnet.udp.listenキーの読み込みを変更
  • [ZBX-7587] ORA-01012とORA-02396エラー発生後に正しいサーバのステータス(down)を設定
  • [ZBX-7515] 64ビットシステムでwevtapi.dllの不足していた遅延読み込みオプションを追加
  • [ZBX-7481] OpenBSD v5.4やより新しいバージョンでコンパイルエラーを避けるためswapins/swapouts uvmexpのフィールドを削除するようOpenBSDのバージョンチェックを追加
  • [ZBX-7576] ブロードキャストアドレスにpingした際の他のアドレスからの応答を無視する
  • [ZBX-7632] 無効なホストからのお気に入りのグラフへの追加を許可
  • [ZBX-7634] 監視データ->トリガー 内のトリガーURLからsidを削除
  • [ZBX-5526] PostgreSQL 8.1よりも新しいサポートバージョンでPostgreSQLサーバーのバージョンチェックを削除して標準ではないエスケープ文字列を無効化
  • [ZBX-7414] UserParameterやエイリアスでサポートしていないことをHostnameItemに説明追加
  • [ZBX-7590] ホストの表示名が空ではない時にグラフ名内の表示機能を修正
  • [ZBX-7591] ホストにリンクされたテンプレート上のWebシナリオ削除を修正
  • [ZBX-7508] ローレベルディスカバリのトリガーを持つマップのインポートを修正
  • [ZBX-7518] 期間で"すべて"をクリックしてページのリフレッシュオプションなしでグラフのスクロールバーのオーバーフローを修正
  • [ZBX-7578] グラフのアイテムのバリデーションを修正
  • [ZBX-7616] ホスト編集画面内の"新規グループ作成"項目の緑の背景色を修正
  • [ZBX-7567] services[]キーで第3引数が指定されなかった際の処理を修正
  • [ZBX-7573] 柔軟な更新間隔を利用している際のアイテムの誤ったチェック時刻を修正
  • [ZBX-6545] PostgreSQL 8.2以降をバックエンドとして同期として設定している場合にSQLアラーが発生する可能性を修正
  • [ZBX-7452] 子ノードから受信したイベントの処理を修正
  • [ZBXNEXT-1256] UserParameterのサンプルのCPU利用率取得処理の引数引き渡しを修正
  • [ZBXNEXT-1256] UserParameterのサンプルのディレクトリサイズ取得の引数引き渡しを修正
  • [ZBX-7484] OKやPROBLEMの複数のイベントが連続して発生してエスカレーションが停止できなくなる問題を修正
  • [ZBX-7521] 新しいアイテムをキャッシュに追加する際に値キャッシュが低メモリモードに入って異常終了しないよう修正
  • [ZBX-7521] メモリが少ない状態でのメモリ割り当てrealloc()関数のバグを修正
  • [ZBX-4243] Zabbixのsyslogに出力するアプリケーション名を修正(RFC 5424 APP-NAME)
  • [ZBX-3855] トルコ語環境での作業時のフロントエンドのバグを防ぐよう修正
  • [ZBX-7483] ユーザーグループ削除時のバリデーションを修正
  • [ZBX-6296] 最新データ内のマクロの展開を最適化
  • [ZBX-6296] ユーザーマクロ展開処理を書き直し
  • [ZBX-6296] 関数引数内のマクロ展開を書き直し
  • [ZBX-6348] ゼロのみを含むような名前をもつホストグループとその他のすべての既存の要素の更新ができてしまう可能性を修正
  • [ZBX-7288] サーバーとプロキシ間の通信のエラーロギングを改善
  • [ZBX-7407] 既存のアクションのイベントソースを変更できてしまうのを修正
  • [ZBX-7392] gnuregex.c内のメモリリークを修正
  • [ZBX-7397] 値キャッシュメモリの利用率を削減
  • [ZBX-7516] SQLクエリ内のタイプミスを修正: "impi_disable_until"から"ipmi_disable_until"に変更
  • [ZBX-7509] triggers API内の"value_flag"から適切な名前の"value_flags"に変更
  • [ZBX-7489] URL内の"filter_set"を指定することでSIDパラメーター指定を必要ないように変更
  • [ZBX-7486] IE利用時にplaceholderがデフォルト値として設定されてしまうのを修正
  • [ZBX-7438] フロントエンドのオブジェクト状態更新メッセージの一貫性を向上
  • [ZBX-7445] フロントエンドの冗長なヒストリ呼び出しを修正
  • [ZBX-7227] autoconfの起動を近代化して"configure.in"から"configure.ac"に名前を変更; Dmitry Smirnovに感謝
  • [ZBX-7443] ダッシュボードからスクリーンをお気に入りに追加できるよう修正
  • [ZBX-7490] 設定内のアイテムのプロトタイプを含むグラフの表示を修正
  • [ZBX-7454] "inventory_mode"パラメーターが設定されていないホストが更新された時にホストのインベントリモードを"自動"から"マニュアル"に変更するよう修正
  • [ZBX-7417] マップ要素のラベルとグラフ名で引数の指定の無いlast()関数を展開
  • [ZBX-7338] スクリーンアイテムのバリデーションを修正
  • [ZBX-7427] ホストグループと他の要素の間に要素のリンクを表示しないよう修正

インストールとアップグレード方法

インストール

詳細はZabbixマニュアルを参照してください。

アップグレード

ZabbixバイナリのリコンパイルとWebインターフェイスのPHPファイルのアップデートが必要です。Zabbix 1.8.xからマイグレーションする場合はデータベースのパッチ適用を行ってください。詳細なアップグレード手順はZabbixマニュアルを参照してください。

リリース前のテスト

Zabbixサーバ

Zabbixサーバは以下のプラットフォームでテストを行っています。

  • Ubuntu Linux, AMD64, kernel 2.6.11, MySQL 5.x
  • Ubuntu Linux, Intel, kernel 2.6.15, MySQL 5.0.22, PostgreSQL 8.3
  • RedHat EL 5.3, Intel, kernel 2.6.18, Oracle 11gR2
  • Slackware Linux, x86, kernel 2.6.29.6, MySQL 5.1.x

Zabbixエージェント

Zabbixエージェントは以下のプラットフォームでコンパイルとテストを行っています。

  • AIX 5.2
  • FreeBSD 4.x, 5.x, 6.x
  • HP-UX 10.x, 11.x
  • Linux 2.4.x, 2.6.x
  • Linux CentOS
  • NetBSD 2.0
  • OS/X 10.2
  • Solaris 8, 9, 10
  • Tru64 5.1B
  • Windows XP, 2000, 2003, 2008, Vista

一部のプラットフォームとバージョンに限られますが、コンパイル済のエージェントをhttp://www.zabbix.com/download.phpからダウンロードすることができます。

商用サポート

Zabbix SIAはプロフェッショナルサービスを全面的に提供しています。We also provide trouble-free upgrade service for easy migration from earlier versions to Zabbix 2.2.x. 価格やより詳細な情報については営業までお問い合わせください。

参考

2013年10月3日木曜日

Zabbix 1.8.17-2とZabbix 2.0.8-2について

夕べ、Twitterで、Zabbixの重要なセキュリティフィックスに対応
した、1.8.18rc1と2.0.9rc1をリリースしたということと、Zabbix
オフィシャルリポジトリの1.8.17-2、2.0.8-2パッケージには修正
を含めて公開したとのつぶやきがありましたが、2013/10/03 11:30
現在で公開されているオフィシャルパッケージには適用できていな
いようです。

1.8.17-2、2.0.8-2両方とも、zabbix.specに「cve-2013-5743.patch」
は追加しているのですが、patchコマンドを実行していないようで
す。
zabbix.spec内のpatchコマンドを実行している箇所で、

%patch2 -p0

を追加すればいける、はず。

rpmのビルドに自信がない方は、オフィシャルが修正されるまで
待ちましょう。

2013年4月16日火曜日

Zabbixでイベントログ監視

最近で躓きやすそうなのは、Windows上のイベントログを監視しようとして、1.8の感覚で2.0をインストールすると、監視できないということです。
リリースノートとか、寺島さんとか鈴木さんのブログとかスライドをご覧になられている方はご存じとは思いますが、1.8の頃と比較して、設定の追加が必要です。

具体的には、「ServerActive」という設定項目です。

この項目は、2.0から「Zabbixエージェント(アクティブ)」のアイテムを利用する場合が設定が必須となっています。
1.8.12の頃から用意されている機能ですが、1.8.xのときは設定されていなければ、Serverの値が利用されますが、2.0からは、この項目が設定されていないと、「Zabbixエージェント(アクティブ)」を必要とするログ監視やイベントログ監視ができなくなりますのでご注意ください。

応用方法として、ServerActiveには複数カンマ区切りで指定できますので、1.8から2.0への移行を行う際に、並行運用を行うために、1.8系と2.0系の両方サーバを登録しておくという方法も実現できます。
1.8系から2.0系への移行を躊躇されている方は、この方法をご活用ください。
※ただし、Agentが1.8.12以上である必要があります。

ZabbixのWebインターフェイスについて

Zabbix SIAの公式版パッケージでは、日本語に対応する為に、

 ・zabbix-web
 ・zabbix-web-japanese

の2つをインストールすることが必要です。
2つめは、フォントを入れ替える(alternatives用)だけのパッケージです。

また、公式版を利用する場合は、パッケージ自体を様々な国でも利用できるよう、PHPのtimezoneの値を指定してません。
そのままですと警告になるので、/etc/httpd/conf.d/zabbix.confのdate.timezoneの設定を、日本なら、

 php_value date.timezone Asia/Tokyo

と設定してください。

これは、標準のApache(httpd)を利用した場合であって、Nginxや他のバージョンのApacheを利用される場合は、参考にしてそれぞれの環境に合わせた設定を行ってください。

どこかで、Zabbixの標準として日本語フォントを組み込んで欲しいとのご意見も聞かれましたが、Zabbixは日本のためだけのものではありませんので、必要であれば、日本語で表示可能でお好きなフォントに変更してください。
同梱してリリースするとサイズが大きくなってしまったり、ライセンス上不明確になったりすると思いますので、日本語だけ組み込まれるというようなことはないと思います。

ZabbixとSELinuxについて

CentOSの標準で用意されているポリシーだけでは、SELinuxを有効にしたままでZabbixを稼働することができません。
例えば、Web UIのセットアップ時に設定ファイルを保存できなかったり、サーバの状態が起動していないと判断されたりするという問題で表面化します。

SELinuxを無効化して利用するか、Permissiveでログを確認してポリシーを追加してからSELinuxを有効化するようにしてください。

どのフェーズからSELinuxを有効化するかにも依存しますが、例えば、以下のようなポリシーなどが必要となります。

 ・/etc/zabbix以下に設定ファイルをapacheユーザが書き込めるようにする
 ・httpd上のプロセスからDBMSに接続を許可する
 ・httpd上のプロセスからソケット通信でzabbix_sererとの通信を行う
 ・SNMPのTrap処理(バージョンや設定内容に注意)

詳細は、以下のURLをご参照ください。
Zabbix 2.0からはSNMPTTと組み合わせるなど構成が異なりますのでご注意ください。
SELinuxに対する十分な理解が無いうちは、ログを出力させて、そのログからポリシーを生成する方法で対応すればよいと思います。

ご参考:
 「Zabbixのスクリプト実行時エラー対処方法」
  http://d.hatena.ne.jp/ike-dai/20110719/1311079676
 「「Zabbixサーバの起動」がサーバが起動しているにも関わらず「いいえ」になる件について」
  http://blog.livedoor.jp/tani_masaru/archives/51726525.html
 「SELinuxを有効にしたサーバ上のZabbixでsnmptrapを受信しアイテムに取り込む」
  http://blog.livedoor.jp/tani_masaru/archives/51766630.html

Zabbixのパフォーマンスチューニングについて

Zabbixのチューニングで一番影響が大きいのは、DBMSのチューニングです。
CentOSなどのデフォルトの設定では、サーバに搭載(用意)されたメモリを有効に活用できる設定にはなっていません。

例えば、MySQLを利用する場合は、innodb_buffer_pool_sizeなどの調整が必要です。

他にも色々と設定項目がありますので、以下に添付するURLにあるスライドなどをご確認ください。

ご参考:
 「Zabbixのパフォーマンスチューニング&インストール時の注意点」
  http://www.slideshare.net/KodaiTerashima/zabbix-12061530

2013年4月9日火曜日

古い情報を参照しないようにしましょう

某サイトのログを確認させてもらっていたら、5年以上の昔の情報
を参照している方がいらっしゃるようです。

OSSの場合、1年程度しかもたない場合も多いので、常に新しい情報
にアクセスするようにすることを強くお勧めします。

あと、yum-updatesdなどで更新情報を自動的に最新に更新してはい
るようですが、その内容を確認されていますか?
404エラーとかでたまま放置しているサイトもあるようです。

こちらもログやその内容を確認し、ちゃんと新しい情報に更新する
ようにしましょう。