2012年5月31日木曜日

Zabbix SIAのオフィシャルRPMパッケージの事前公開

2013/3/7更新: Zabbix SIAオフィシャルのRPM/Debパッケージリポジトリが公開されました。yumやaptも利用できます。今後はこちらのマニュアルを参考に2.0パッケージのインストールを行ってください。

Zabbix SIAでは現在オフィシャルRPM/Debパッケージを公開するべく作業を進めています。

本当は2.0のリリースにあわせてパッケージを公開できれば良かったのですが、パッケージ公開サーバの準備が遅れているため公開することができませんでした。

とはいえある程度パッケージは完成していますし、できるだけ早めに使い始めてもらいたいということで、会社に許可を得てこのblogで先行してテスト版パッケージを公開できることになりました。

とりあえずRHEL/CentOS向けのRPMのみですが、準備ができ次第Debianパッケージも公開しようと思います。また、テスト版と言っているのはまだGPG署名が入っていないからで、パッケージ構成や基本的な部分はリリース版と変わらないと思います。何か問題や提案があればこのblogにコメントいただくか、Twitterの@kodai74までご連絡ください。

多言語に対応しなければいけないので、これまであったFedora, EPEL, ZABBIX-JPなどのパッケージとは構成が多少異なります。インストールは以下の方法を参考にしてください。

RPMファイル一式のダウンロード

こちら(Zabbix SIAからオフィシャルリポジトリが公開されました。yum/aptリポジトリを利用する方法はこちらを参照してください。)から適切なOS, アーキテクチャのものをダウンロードしてください。Zabbix関連のパッケージはzabbixディレクトリ以下に、Zabbixの動作に必要な関連パッケージはnon-supportedディレクトリ以下に置いてあります。

Zabbixサーバ, Webインターフェース、Zabbixエージェントのインストール

先に必要となるパッケージをインストールします。まずはOSの標準リポジトリから必要なものをインストール

# yum install mysql-server curl net-snmp unixODBC OpenIPMI-libs httpd php php-bcmath php-gd php-mbstring php-mysql php-xml ipa-pgothic-fonts

※RHEL6系の場合はipa-pgothic-fontsの代わりにvlgothic-p-fontsをインストールしてください

次に上記URLからダウンロードした以下のRPMをインストールします。

# rpm -ivh fping-2.4b2-16xxx.rpm \
           iksemel-1.4-2.xxx.rpm \
           libssh2-1.4.0-2xxx.rpm

最後にZabbix関連のパッケージをインストールします。下記はデータベースとしてMySQLを利用する場合です。

# rpm -ivh zabbix-2.0.0-1.xxx.rpm \
           zabbix-agent-2.0.0-1.xxx.rpm \
           zabbix-server-2.0.0-1.xxx.rpm \
           zabbix-server-mysql-2.0.0-1.xxx.rpm \
           zabbix-web-2.0.0-1.xxx.rpm \
           zabbix-web-mysql-2.0.0-1.xxx.rpm \
           zabbix-web-japanese-2.0.0-1.xxx.rpm

zabbix-web-japaneseパッケージがWebインターフェースの日本語フォント設定を行うようになっているので、日本語環境ではこのパッケージを入れないとグラフやマップなどで文字化けが発生します。

インストールが完了したら、続いて初期設定を行います。

データベースの設定と初期データのインポート

初めてMySQLを起動する場合、起動前に/etc/my.cnfには最低限以下のチューニング設定を行っておきましょう。

[mysqld]
...

innodb_file_per_table
innodb_buffer_pool_size=512M # 搭載メモリによって適切な値を設定
innodb_log_file_size=64M  # innodb_buffer_pool_sizeを増やしたらこちらも増やしておく

...
[mysqld_safe]

データベースがZabbix専用であれば、同じく[mysqld]セクションに以下の設定も入れておくとMySQLサーバ全体でエンコードをUTF-8にできるのでトラブルが少なくなると思います。

default-character-set=utf8

MySQLを起動して、データベースの作成とユーザの作成、初期データの登録を行います。ここではデータベース名は「zabbix」、接続ユーザ名も「zabbix」、パスワードは「zabbixpass」で設定しています。

# service mysqld start
# mysql -uroot
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpass';
mysql> exit
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.0/create/schema.sql
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.0/create/images.sql
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.0/create/data.sql

my.cnfでdefault-character-setを設定していない場合は、データベース作成時のcharacter setの指定を忘れないようにしてください。忘れるとWebインターフェース上で一部の日本語が文字化けします。

Zabbixサーバとエージェントの設定

/etc/zabbix/zabbix_server.confの以下の箇所を変更します。

DBPassword=zabbixpass

Zabbixエージェントはデフォルト設定のままで問題ありません。ここまでできたらZabbixサーバとエージェントを起動します。

# service zabbix-server start
# service zabbix-agent start

Webインターフェースの設定

/etc/httpd/conf.d/zabbix.confのdate.timezone設定のコメントアウトを外し、以下のように設定します。

php_value date.timezone Asia/Tokyo

httpdを起動します。すでにhttpdが起動していた場合は、上記設定を反映させるためにhttpdを再起動してください。

# service httpd start

ブラウザからWebインターフェースにアクセスします。サーバのIPが192.168.1.10の場合はhttp://192.168.1.10/zabbixのように/zabbixをつけてアクセスしてください。

インストーラが表示されるので、画面の通りに従っていけば問題なく完了するはずです。途中データベースの設定を入力する必要がありますが、ここは上記のMySQL設定の値を入力します。

ちなみに、2.0はインストーラ画面もカッコ良くなっています。

Webインターフェースへのログインと日本語化

Webインストーラが完了したらログインが面が表示されますので、ユーザ名に「Admin」、パスワードに「zabbix」と入力してログインしてください。

最初の画面は英語ですが、右上の「Profile」をクリックして、

Language設定でJapanese(ja_JP)を選択してSaveボタンを押せば、インターフェースが日本語で表示されるようになります。

ローカルホストの監視

設定に問題がなければ、すでに監視が始められる状態になっています。上部メニューの[設定]-[ホスト]をクリックして、ホストリストの「Zabbix server」の「無効」をクリックして有効化するとローカルホストの監視が開始されます。

収集されたデータはメニューの[監視データ]-[最新データ]から確認することができます。

この画面からリストの右にある「グラフ」をクリックすることでグラフを表示することもできます。インターフェースには色々な画面があるので、Zabbix 2.0でどのようなことができるのか、ぜひ一度インストールして試してみてください。

Zabbix SIAのサイトにはZabbix 2.0のその他のページのスクリーンショットも公開されています。こちらもご参考にどうぞ。

2012年5月28日月曜日

Zabbix 2.0がリリースされました

2012/05/21、ついにZabbix 2.0がリリースされました(Zabbix 2.0リリースのスペシャルニュースレター)。1.8から2年6ヶ月、2.0のリリースはいつになるのかという質問をたくさん頂いたので、リリースを待たれていた方も多くいらっしゃるのではと思います。

2.0の主な機能はZabbix SIAのサイトにまとまっているので、ここでは改めて解説はしません。必要に応じて以下のページを参考にして戴ければと思います。(ドキュメントは未翻訳です)

その他には、以下の記事、資料などが参考になると思います。

今回、1.8から2.0までの間に2年半もかかってしまった理由としては、1.8で新機能を追加してしまったことでその追加機能の開発工数やバグフィックスなどで時間が割かれてしまい、2.0の開発に時間が割けなかったからだ、とAlexeiは言っているのですが、個人的には以下の要因もあると思っています。

  • 1.8から大規模なシステムでZabbixが使われ始めていて、パフォーマンス改善のための修正なども多くなってきていること
  • 2.0ではWebインターフェースの一部分を根本的に入れ替えていること。特にJavaScriptのライブラリをprototype.jsからjQueryに変更や、インターフェース翻訳にgettextを使うなど
  • 2.0では多数の新機能が追加されていること

Zabbixサーバやエージェントのコードは早いうちから安定していたものの、Webインターフェースはリリース直前まで修正が行われてたように思います。

第5回 ZABBIX-JP勉強会でAlexeiも話していたのですが、2010年の初めに「2010年の9月に2.0をリリースする。リリースできなければ帽子を食べる(日本で言うと針千本を飲むという感じです)」と話していたものが、同じことをあと2回(2010年9月、2011年5月)言っているので、そのくらい予定から遅れていた、ということになります。

2.0がリリースされたとき(私は日本にいたので参加していないのですが)、Zabbixのオフィスで2.0のリリースパーティでAlexeiが帽子を食べましたという記事があるので、こちらもどうぞ。

Zabbix社では次の2.2に向けての開発がすでに始まっています。クラウドコンピューティングEXPOのセミナーでも発表したのですが、2.0以降は以下のリリースポリシーに変更されます。

  • 9ヶ月ごとにメジャーバージョンをリリース
  • マイナーバージョンではバグフィックスのみ。仕様変更や新機能の追加は行わない

9ヶ月ごとにメジャーバージョンがリリースされることで、新しい機能をより早く使うことができます。ただ、これまで1.8のマイナーバージョンでも仕様変更をともなうバグでも修正が行われてましたが、2.0以降は次のメジャーバージョンを待つことになる場合もあると思います。必要な機能修正/追加要望は早めにお願いします。

また、上記Alexeiの資料にもありますが、Zabbixでは2.0以降の開発の方向性としては以下のことを考えています。

  • より高品質なソフトウェアをリリースするための取り組み
  • WebインターフェースにMVCモデルを
  • Webインターフェースをよりユーザーフレンドリーに
  • プラグインアーキテクチャ
  • HAや冗長化を含む水平方向のスケーラビリティ

近日中に2.2のロードマップを公開予定なので、こちらも期待頂ければと思います。

Zabbix 2.0のソースコードはZabbix SIAのダウンロードページからダウンロード可能です。

2012年5月27日日曜日

第5回 ZABBIX-JP勉強会を開催しました

2012/05/12(土)にフューチャーアーキテクトさんの大崎オフィスで第5回 ZABBIX-JP勉強会を開催しました。

今回は今までにZABBIX-JP単独で開いた勉強会としては最大の170名の申し込みということで、当日どの程度の参加者が集まるのかや、懇親会の費用や食事の用意など手探りのところが多かったのですが、なんとか無事終えることができました。

開場前の受付の様子

http://farm8.staticflickr.com/7083/7275624492_9404df2f60.jpg

本編開始直後の様子

http://farm9.staticflickr.com/8151/7275625150_89760cfdd0.jpg

また、今回はZabbixのお菓子と、ラトビアの有名なお菓子メーカーのLaimaさんからいただいたチョコレートを無料配布しました。

http://farm8.staticflickr.com/7103/7275623582_77a6a9be82.jpg

LaimaさんからいただいたチョコレートはZabbixへのスポンサーという形で無償でいただいたものなので、おいしかったよ!という人はぜひ、LaimaのTwitterアカウントに英語でThanksと言っていただくか、Facebookのアカウントでいいね!ボタンを押してあげてください。

最終的に本編は115人の方に参加いただきました。当日の発表の様子はUstreamでも公開しているので、当日来れなかった方はぜひ録画をご覧ください。

そのあとは1つ下の階に移動して懇親会も行いました。懇親会は61名の参加ということで、当初予想していたよりもかなり多くの方に参加いただきました。用意した食事と飲み物が足りず、何度もコンビニまで往復いただいたスタッフの方々、どうもありがとうございました!

懇親会のLTの様子

http://farm8.staticflickr.com/7224/7275625964_e732e1e253.jpg

懇親会では@udaotokoさんがなんとこの日のためにZabbix銘菓を作ってきていただいていました。最終的には売り切れになってしまい大盛況ということで、こちらも持って行かれた方は@udaotokoさんに一言コメント頂ければと思います。

http://farm8.staticflickr.com/7078/7275626914_bbdf86c498.jpg

当日のアジェンダや資料などはZABBIX-JPのイベントページにまとめてあるので、見逃したという方や、発表資料を再度見たいという方はこちらからアクセス頂ければと思います。

今回は私も他のイベントの準備で気が回らなかったこともあり、本編の時間が遅れてしまったりとか、懇親会の準備に不足があったりなど反省すべき点は多かったのですが、反省点は次回に生かしたいと思います。

当日、会場の貸し出しや設営準備、買い出しなどを手伝っていただいたフーチャーアーキテクトの方々、それから登壇いただいた方々、どうもありがとうございました!ZABBIX-JPスタッフのみなさんもお疲れさまでした!。また次回、勉強会を開催できることを楽しみにしています。