2010年12月15日水曜日

サーバ証明書の有効期限日までの日数をもとめよ

某所でサーバ証明書の有効期限切れを監視できるといいのにね~という話があがっていたので、ちょっと作ってみた。

----- ここから -----
#!/usr/bin/perl
use Date::Parse;
use Net::SSLeay qw{ sslcat };

$host = "ホスト名";
$port = 443;
$request = "";

($reply, $err, $server_cert) = sslcat($host, $port, $request);
$asn1_utctime = Net::SSLeay::X509_get_notAfter($server_cert);
$date_string = Net::SSLeay::P_ASN1_UTCTIME_put2string($asn1_utctime);
$cert_notafter_time = Date::Parse::str2time($date_string);
$time_diff = $cert_notafter_time - time;
print $time_diff / (60 * 60 * 24) . "\n";
----- ここまで -----

エラー処理していないのでよしなに。
ホスト名とかポート番号とかを引数で指定できるようにすれば汎用的になります。

で、Zabbixと組み合わせてサービスとして売る。(爆)

2010年11月27日土曜日

CentOS 5.5 + MySQL 5.1.53 + Zabbix 1.8.3

CentOS 5.5上にMySQL 5.1.53をインストールし、さらにそのサーバ上でZabbix 1.8.3を稼働させます。

CentOS 5.5標準のMySQLではバージョンが古いため、新しいバージョンで実装された機能を利用することができません。
ZABBIX-JPのフォーラムを見ていて、MySQL 5.1.53でInnoDB Pluginを利用した環境を構築したいという要望が挙っていたので、どうすれば簡単に構築できるか検証してみました。
極力標準のRPMそのままか、共存できることを意識して構築を進めることとします。

InnoDB Pluginを利用するメリットに関しては、検索すればすぐ出てくるので検索してみてください。

ただし、以下の手順は十分な試験を行っていませんので、ご自身で責任を持ってトライしてください。

----------
1.MySQL 5.1.53のインストール

MySQLのパッケージを
 http://dev.mysql.com/downloads/mysql/
からダウンロードします。

ダウンロードするのは、

 MySQL-server-community-5.1.53-1.rhel5.x86_64.rpm
 MySQL-client-community-5.1.53-1.rhel5.x86_64.rpm
 MySQL-devel-community-5.1.53-1.rhel5.x86_64.rpm

です。
この後の手順で、MySQLのライブラリを利用したコンパイルを行うので、develパッケージも必要です。

ダウンロードしたら、これらのパッケージをインストールします。

 # rpm -ivh MySQL-server-community-5.1.53-1.rhel5.x86_64.rpm MySQL-client-community-5.1.53-1.rhel5.x86_64.rpm MySQL-devel-community-5.1.53-1.rhel5.x86_64.rpm

インストール後、MySQLの設定を変更するため、一度サービスを停止します。

 # service mysql stop

InnoDBのエンジンとしてInnoDB Pluginを利用するため、ベースとなる設定ファイルに変更します。

 # cp /usr/share/mysql/my-small.cnf /etc/my.cnf

/etc/my.cnfのmysqldセクションに、以下のような設定を追加します。

---
[mysqld]
...
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so
default-character-set=utf8
innodb_file_per_table
...
---

設定追加後、サービスを起動します。

 # service mysql start

確認方法は、mysqlコマンドで接続してshow pluginsコマンドを実行すると以下のように表示されます。

---
mysql> show plugins;
+------------+----------+----------------+---------------------+---------+
| Name | Status | Type | Library | License |
+------------+----------+----------------+---------------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
| ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb_plugin.so | GPL |
+------------+----------+----------------+---------------------+---------+
10 rows in set (0.01 sec)

mysql>
---


----------
2.phpパッケージの作成

事前に、MySQLのライブラリを利用したビルドができるよう、リンクを作成しておきます。

 # ln -s /usr/bin/mysql_config /usr/lib64/mysql/

RPM作成用のアカウントを作成して、そのアカウントでRPMを作成するためのディレクトリを作成します。

 $ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

次に、~/.rpmmacrosを作成して、以下の記述を行います。

---
%_topdir /home/ユーザー名/rpm
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
---

CentOSのミラーサイトから、phpのSRPMをダウンロードし、RPM作成用のアカウントでインストールします。

 $ rpm -ivh php-5.1.6-27.el5.src.rpm

そのままでは、コンパイル時にエラーとなってしまうので、ソースのtarball内のソースの一部を書き換えて、またもとのtarballに作成し直して置き換えます。

 $ cd ~/rpm/SOURCES/
 $ tar zxvf php-5.1.6.tar.gz
 $ cd php-5.1.6/ext/mysqli

mysqli_api.c内の「gtpr」を「char*」に変更します。

 $ cd ~/rpm/SOURCES/
 $ mv php-5.1.6.tar.gz php-5.1.6.tar.gz.org
 $ tar zcvf php-5.1.6.tar.gz php-5.1.6

置き換えたら、RPMのビルドを実行します。
足らないビルド用のRPMが不足していたら随時インストールします。

 # yum install bzip2-devel curl-devel db4-devel expat-devel gmp-devel aspell-devel httpd-devel libjpeg-devel libpng-devel pam-devel openssl-devel sqlite-devel zlib-devel pcre-devel krb5-devel libc-client-devel cyrus-sasl-devel openldap-devel postgresql-devel unixODBC-devel libxml2-devel net-snmp-devel libxslt-devel libxml2-devel ncurses-devel gd-devel freetype-devel

 $ cd ~/rpm/SPECS/
 $ rpmbuild -bb --define 'dist .el5' php.spec


----------
3.Zabbixパッケージの作成

Zabbixのパッケージを作成するために必要なパッケージをインストールします。

 # yum install gnutls-devel OpenIPMI-devel

以下のパッケージに関しては、ZABBIX-JPが公開しているRPMをダウンロードしてインストールしておきます。

 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/fping-2.4b2-16.el5.JP.x86_64.rpm
 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/iksemel-1.2-13.el5.JP.x86_64.rpm
 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/iksemel-devel-1.2-13.el5.JP.x86_64.rpm
 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/libssh2-1.2.5-1.el5.JP.x86_64.rpm
 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/libssh2-devel-1.2.5-1.el5.JP.x86_64.rpm
 # rpm -ivh fping-2.4b2-16.el5.JP.x86_64.rpm iksemel-1.2-13.el5.JP.x86_64.rpm iksemel-devel-1.2-13.el5.JP.x86_64.rpm libssh2-1.2.5-1.el5.JP.x86_64.rpm libssh2-devel-1.2.5-1.el5.JP.x86_64.rpm

RPM作成用のユーザでZabbixのSRPMをインストールしてビルドを実行します。

 $ rpm -ivh zabbix-1.8.3-1.el5.JP.src.rpm
 $ cd ~/rpm/SPECS/
 $ rpmbuild -bb --define 'dist .el5' zabbix.spec


----------
4.Zabbixのインストール

Zabbixをインストールするために必要なパッケージを事前にインストールします。

 # yum install php php-bcmath php-gd php-mbstring php-xml php-common php-pdo

独自に作成したphp-mysqlをインストールします。

 # cd ~RPM作成用ユーザ/rpm/RPMS/x86_64/
 # rpm -ivh php-mysql-5.1.6-27.el5.x86_64.rpm

Zabbixをインストールします。

 # rpm -ivh zabbix-1.8.3-1.el5.x86_64.rpm zabbix-agent-1.8.3-1.el5.x86_64.rpm zabbix-server-1.8.3-1.el5.x86_64.rpm zabbix-server-mysql-1.8.3-1.el5.x86_64.rpm zabbix-web-1.8.3-1.el5.x86_64.rpm zabbix-web-mysql-1.8.3-1.el5.x86_64.rpm

以降、DBの作成などは通常のZabbixのインストールと同様です。

----------

2010年11月3日水曜日

Zabbix 1.8.4rc2リリースノート(てきと~訳)






1November 2010




Zabbix SIAはZabbix 1.8.4rc2 (Second Release Candidate)のリリースをアナウンスすることを光栄に思います。




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




このドキュメントは、Zabbix 1.8.4rc2のリリースノートです。ここからダウンロードしてください。http://www.zabbix.com/download.php




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




このリリースは正式バージョンではありません。これは、リリース候補です!




Zabbix 1.8でノード構成の分散監視を利用している場合、以下のSQLパッチを実行してください。設定の同期のパフォーマンスが大幅に改善されます。




MySQL:
DROP INDEX node_cksum_cksum_1 ON node_cksum;
CREATE INDEX node_cksum_1 on node_cksum (nodeid,cksumtype,tablename,recordid);

ORACLE:
DROP INDEX node_cksum_cksum_1;
CREATE INDEX node_cksum_1 on node_cksum (nodeid,cksumtype,tablename,recordid);

PostgeSQL:
DROP INDEX node_cksum_cksum_1;
CREATE INDEX node_cksum_1 on node_cksum (nodeid,cksumtype,tablename,recordid);




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



Zabbix 1.8.4の変更点



:: Zabbix APIの一貫性向上



Zabbix APIはメソッド名やパラメータのハンドリングに関して一貫性を向上する改善を行いました。Zabbix APIのドキュメントを大幅に改善しました。詳細はhttp://www.zabbix.com/documentation/1.8/apiを参照してください。




:: DB2のサポート



ZabbixのバックエンドデータベースとしてDB2をサポートしました。よって、Zabbixユーザは以下の5つのデータベースエンジンから現在選択することができます: Oracle, DB2, PostgreSQL, MySQL, SQLiteDB2を利用する際のインストール手順はドキュメントを参照してください。




:: Web監視のためのNTLM認証



ZabbixのWeb監視は、NTLM認証をサポートします。




:: Ez Textingサービスを利用してSMS通知を送信します



SMSメッセージを送信する新しい方法をZabbixに追加しました。アメリカとカナダにおいて、より信頼性の高い商用SMSサービスを利用することができます。




:: ユーザマクロの改善



ユーザマクロをトリガーやアイテム名に利用できるよう拡張しました。




:: Zabbix 1.8.4rc2でのバグフィックスと改善




  • [ZBXNEXT-538] IBM DB2のサポート追加

  • [ZBX-1362] 通知パフォーマンスの最適化

  • [ZBX-2852] スライドショー内の更新されないマップを修正

  • [ZBX-1346] Windows用のZabbixエージェントデーモンの設定ファイルのサンプルをZabbixのマニュアルにあるパラメータとともに更新

  • [ZBX-2984] グラフ内の誤ったトリガーラインを修正線の描画のためにトリガーアイテムではない最初のアイテムの軸を使用していた

  • [ZBX-3059] ポップアップメニューのタイトルをデータ型に依存して変更

  • [ZBX-2861] 複数のユーザをユーザグループに追加する際のエラーを修正

  • [ZBX-1492] マクロ削除時の確認ダイアログを追加

  • [ZBX-3135] zabbix_senderのマニュアル内に標準入力を利用する際のサンプルを追加

  • [ZBX-2616] バンドルしていたDejaVuフォントを2.31から2.32に更新

  • [ZBX-2630] ユーザ属性に合わせてフロントエンド内のさまざまな文字列を翻訳できるよう修正

  • [ZBX-3091] proxyを更新する際のエラーを修正

  • [ZBX-3120] 新しいマップの作成時のエラーを修正

  • [ZBX-3042] submitParentフィールドのエラーを修正

  • [ZBX-1038] last(), prev(), diff(), change(), abschange()が長いテキスト値に対して正常に機能しない場合があったのを修正

  • [ZBXNEXT-532] zabbix_senderのマニュアルとヘルプの出力内のタイムスタンプのフォーマット指定について、zabbix_senderのマニュアル内に必要なアイテムの設定のヒントを記載

  • [ZBX-3103] フランス語翻訳を改善; Alixenに感謝

  • [ZBX-3095] アクション内の'ホストテンプレート'のコンディションの処理を修正

  • [ZBX-2981] マップの権限チェック内の不要なクエリを削除

  • [ZBX-3080] ブラウザによってJavaScriptがキャッシュされなかったのを修正

  • [ZBX-2661] 設定内のディスカバリチェックの表示を改善

  • [ZBX-3086] ホストグループのホストやテンプレートへのリンクを編集する際のエラーを修正

  • [ZBX-3025] 到達不可確認プロセスとStartPollersUnreachableパラメータを復活

  • [ZBX-2351] サーバがデータベース内に重複したイベントIDでインサートしようとするのを修正

  • [ZBX-3069] グラフ表示のコンボボックスの"全て"を"未選択"に変更





:: すべての改善とバグフィックスの一覧




  • [ZBX-3070] イベントの日付フォーマットの矛盾を修正

  • [ZBX-2872] APIメソッドの一貫性を大幅改善

  • [ZBX-3068] 受動的Proxyの処理中にサーバがクラッシュする可能性を修正

  • [ZBX-3068] 受動的Proxyの処理中のサーバのメモリリークを修正

  • [ZBX-2749] web.page.regexp[]の長さパラメータが無視されていたのを修正

  • [ZBX-2749] web.page.regexp[]の中でとても長い断片に一致する際のエージェントのクラッシュを修正

  • [ZBX-2913] web.page.*チェックのためにエージェントが応答しなくなるのを修正

  • [ZBXNEXT-430] Linuxにおいてnet.tcp.listenとnet.udp.listenのサポートを追加

  • [ZBX-453] --disable-staticを指定して静的コンパイルになっていたのを修正

  • [ZBX-2992] 障害対応コメントを無効にした時にイベント詳細画面で障害対応コメントを表示しない

  • [ZBX-3050] 既存のテンプレートと同じ名前のホストを登録できるよう修正

  • [ZBX-3019] DM設定内で発見されたホストにテンプレートのグラフをコピーしていなかったのを修正; Alexander Ignatyevに感謝

  • [ZBX-2860] ユーザグループの名前変更を修正

  • [ZBX-3027] popup_trexpr.php内にavg, delta, max, min, sum関数がタイムシフト入力を持つようにした, これでGUIを通して指定できるようになった

  • [ZBX-2827] メンテナンス期間を追加や更新する際のチェックを追加, これで重複した名前が追加できないようにした

  • [ZBX-2978] アイテムにY軸が設定されたグラフのインポートを修正

  • [ZBX-2507] グラフの最小サイズを20ピクセルに設定

  • [ZBX-2665] グラフ上のWebシナリオのステップの表示順序を修正

  • [ZBX-2995] zbx_mem_realloc()内でクラッシュするのを修正, 設定されたキャッシュ内でメモリ使用量とメモリのフラグメンテーションを削減

  • [ZBX-3024] トリガーの条件式選択用ポップアップ内でアイテムの型に依存して条件式をフィルタリング

  • [ZBX-3023] メンテナンス期間後に通知レポートが繰り返されたのを修正

  • [ZBX-3017] ホストにリンクされているテンプレートのトリガーへの依存関係を追加しようとしたときのエラーを修正

  • [ZBX-3008] 複数のアイテムのためのトリガーのためにサーバが複数の不明イベントを生成するのを修正

  • [ZBX-3011] メディアタイプ編集時のHTML内でパスワードの表示が短かった

  • [ZBXNEXT-510] Ez Textingを利用したSMSメッセージの送信をZabbixに統合

  • [ZBX-1425] ホストグループの追加と編集時にホストグループのドロップダウンに「全て」のオプションを追加

  • [ZBX-1675] マップの要素がドラッグされた後にマップの要素の座標が更新されなかったのを修正

  • [ZBX-1292] トリガーの説明ポップアップ内で別のホストから呼び出されたときにアイテム名はホスト名のプレフィックスがついて表示される

  • [ZBX-2844] 監視表示でスクリーン名のHTMLエスケープを追加

  • [ZBXNEXT-373] Web監視でNTLM認証のサポートを追加

  • [ZBX-1486] 複数のマップの要素が選択されているときに編集画面の「削除」を押したら選択していた全ての要素を削除

  • [ZBX-1442] マップ編集時にオブジェクトのリンクを張る際に「適用」を押してもフォームをクローズしない

  • [ZBX-2986] イベントの障害対応コメントを無効にしたら障害対応コメントは最新20件の障害内で表示されない

  • [ZBX-2988] 監視データ/イベントのスクリーン内でマクロ{ITEM.VALUE}を修正

  • [ZBX-2974] テンプレートのアプリケーションを削除してしまう可能性を修正

  • [ZBX-1172] 監査のリソースのドロップダウンにソートを追加

  • [ZBX-2982] ダッシュボードの「Zabbixサーバの状態」にZabbixサーバのIPアドレスとポート番号を追加

  • [ZBX-2964] システムでIPv6が有効ではない場合にプロセスのスタートが失敗するのを修正

  • [ZBX-2977] node_cksumテーブル内の利用していないレコードを削除; Łukasz Reszkaに感謝

  • [ZBX-2946] libexecinfoがインストールされた環境でFreeBSDのportsからビルドできるよう修正; Dmitry Yakovlevに感謝

  • [ZBX-2957] ダウンロードできる言語ファイルのMIMEタイプを変更

  • [ZBX-2493] デフォルトで廃止されたマクロを利用していたのを修正; デフォルトのアクションメッセージのために別のサブジェクトとメッセージを利用開始

  • [ZBX-2976] DebugLevel=4にしていてzabbix[items_unsupported]を処理する際、サーバがクラッシュするのを修正

  • [ZBX-2950] マップのアイコンのためのポップアップメニューを追加

  • [ZBX-2967] ホスト設定画面のためのフィルタを追加

  • [ZBX-2962] テンプレートのマクロの更新を修正

  • [ZBX-2572] zapcat互換モードのための設定定義を追加

  • [ZBX-2690] screens xmlの検証を追加

  • [ZBX-2942] ICMP pingの最小間隔を20msに延長; nelsonabに感謝

  • [ZBX-2945] メール送信する際、SMTPサーバから複数行の応答が返却されるのをハンドリング

  • [ZBXNEXT-360] zabbix_senderで入力ファイル内の"-"をデフォルトのホスト名とする; Dennis Jacobfeuerbornに感謝

  • [ZBX-1908] 子プロセスでファイルやソケットのデスクリプタのリークを修正; Dan Horakに感謝

  • [ZBX-2960] エージェントのuserparameterを分離しincludeで読み込めるようにした, そしてMySQLのサンプルも追加した

  • [ZBXNEXT-458] 例えば{$MACRO}のようなユーザマクロをアイテムやトリガーの説明に利用できるようにした

  • [ZBX-2959] 翻訳をダウンロードした際に末尾の空白文字や改行文字が消えてしまうのを修正

  • [ZBX-2910] Windows上で'strerror_from_system undefined'とコンパイル時の警告がでるのを修正; Takanori Suzukiに感謝

  • [ZBX-2902] Windows上でsystem.cpu.load[]とsystem.cpu.util[]がやや誇張された値になってしまうのを修正; Kodai Terashimaに感謝

  • [ZBX-2954] テンプレート削除ポップアップ内の翻訳を修正

  • [ZBX-2938] マップ上でメンテナンス中のホストの障害が表示されないのを修正

  • [ZBXNEXT-238] zabbix_senderで送信する前にできるだけ多くのデータを収集できるようにした

  • [ZBX-2948] トリガーの依存関係のエクスポートを修正

  • [ZBX-2949] テンプレートスクリーンで'削除'アクションとなっていたのを修正

  • [ZBX-2934] 新しい設定を追加 丸め誤差の設定定数

  • [ZBX-2907] 別のノードからトリガーが発生したアクション状態のエラーを修正

  • [ZBX-2928] トリガー情報の不明な数を修正, 分類されていないトリガー数を追加

  • [ZBX-2914] Gentoo用のinitscriptを綺麗にした

  • [ZBX-2914] Fedora用のinitscript内の誤った参照を修正

  • [ZBX-2925] 翻訳のための値が空だと結果ファイルに書き込めない

  • [ZBX-2933] IEで印刷ボタンを押したときのjsエラーを修正

  • [ZBX-2937] IE用のスタイルファイルがなかったのを修正

  • [ZBX-2864] プリントボタンで複数のsidのurlパラメータを生成するよう修正

  • [ZBX-2899] Zabbix 1.8.2からのアップグレード後、スライドショーの間隔設定がこわれてしまうのを修正

  • [ZBX-2923] 障害の発生しているトリガーに依存してマップ上の障害として表示するのを修正

  • [ZBX-2683] ラトビア語翻訳の小さな更新

  • [ZBX-2916] 監視マップ内の親マップへのリンクの重複を修正

  • [ZBX-2905] 1つしかトリガーが設定されていないホストのネットワークマップ上でのトリガー名の展開を修正

  • [ZBX-2914] Debianの起動スクリプトのサンプルと統一されたpidファイルのパスにしたサンプルの設定ファイルを用意

  • [ZBX-886] 重複していた言語設定用文字列「S_ACTIONS_BIG」を削除

  • [ZBX-633] IPMIデバイスが切断された際にサーバがクラッシュするのを修正

  • [ZBX-2904] いくつかの不明なトリガーがトリガー画面で表示されなかったのを修正

  • [ZBX-2900] メールヘッダの"From:"と"To:"にスペースを追加

  • [ZBX-2894] マップラベル内の同じ行の複数の参照を修正

  • [ZBX-2888] ホストのプロファイルのエクスポートを修正

  • [ZBX-2890] トリガーの条件式内の負の値の構文解析を修正

  • [ZBX-2798] 不明なノードのノード間の通信チェックを追加

  • [ZBX-2716] Daemonのパスであるsbinに全てのinitscriptのサンプルを作成




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



インストール


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




アップグレード


Zabbixのバイナリプログラムをリコンパイルし、WebインターフェースのPHPファイルを更新します。Zabbix 1.6.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はプロフェッショナルサービスを全面的に提供しています。私たちはトラブルフリーで簡単にZabbix 1.8以前のバージョンから移行するためのアップグレードサービスも提供しています。価格やより詳細な情報については営業までお問い合わせください。



参考







2010年10月22日金曜日

一般ユーザでrpmbuild(AWS)

EC2上でZabbix動かしてみるか。
簡単にインストールするならZABBIX-JPのRPMでっしょ。

と思い立ち、そのままRHEL5用のRPMをインストールしようとしたら、色々と依存関係にひっかかってインストールできませんでした。

SRPMからなら行けるだろうと思って、いつものテキトーな方法でrpmbuildしようとSRPMの展開で失敗。

お行儀良くrpmbuildするなら、ちゃんと設定しないといけなかったのねん。
ということで、

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/952rpmbuild.html

を参考に、ビルド用のユーザを作成して、以下のようにフォルダと設定ファイルを作成してからSRPMをインストールすればよかった模様。

$ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

 次に、~/.rpmmacrosを作成して、以下の記述を行う。
-----
%_topdir /home/ユーザー名/rpm
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
-----

あとは、fping、iksemel、iksemel-develのRPMはRHEL5用をZABBIX-JPから持ってきて、他のビルドに必要な*-develパッケージをインストールすれば、あとは、rpmbuild -bb zabbix.specだけっす。

2010年10月3日日曜日

Opsview 3.9.0の日本語化

Opsview 3.9.0の一部を日本語化してみました。
内部のNagiosも日本語化すると以下のようになります。

でも、OpsviewからNagiosを呼び出す部分に問題があって、最初に開いたときにNagiosの部分が文字化けしてしまいます。
画面によっては、リフレッシュを実行できるのですが、リフレッシュを実行すれば正常に表示できるようになります。

く~、あともうちょっとなのに~。
こんなレベルでもパッチが欲しい人いるかな?

Nagiosのパッチは、以下のURLで公開されていたものを参考にしました。
http://www.momo-i.org/chapter5/nagios-3x.html
ありがとうございました。



2010年9月30日木曜日

Opsviewのインストールメモ

Zabbixと比較してあーだこーだ言うためにも、触ってみるかってことでインストールしてみました。
ま、RPMでならインストールは簡単ですな。

以下、詳細です。

1.OSのインストール
2.ユーザとグループの作成
 nagiosユーザを作成し、nagiosグループとnagcmdグループに所属させる。
 # useradd nagios
 # groupadd nagcmd
 # usermod -G nagcmd nagios
3.必要パッケージのインストール
 mysql-server
 java-1.6.0-openjdk
4.MySQL設定の追加
 /etc/my.cnfに以下の設定を追加する。下の2行は推奨ではあるが特に
 最後のinnodb_buffer_pool_sizeは、稼動させるサーバ上の実メモリ
 サイズを考慮して指定すること。
---
default-character-set=utf8
skip-character-set-client-handshake
innodb_file_per_table
# innodb_flush_log_at_trx_commit=2
# innodb_buffer_pool_size=1G
---
5.rpmforgeリポジトリの追加
6.Opsviewリポジトリの追加
--- /etc/yum.repos.d/opsview.repo
[opsview]
name = Opsview
baseurl = http://downloads.opsera.com/opsview/yum/community/centos/5/$basearch
enabled = 1
protect = 0
gpgcheck = 0
---
7.Opsviewのインストール
 # yum install opsview
8.MySQLサーバの起動
 # service mysqld start
 # chkconfig mysqld on
9.nagiosアカウントの環境用設定を追加
 ~nagios/.bash_profileに以下を追加。
 ---
 test -f /usr/local/nagios/bin/profile && . /usr/local/nagios/bin/profile
 ---
10.nagiosユーザに切り替え
 # su - nagios
11.DBアカウントのパスワード変更
 /usr/local/nagios/etc/opsview.conf 内の「changeme」となっている
 パスワードを変更する。
12.
 $ /usr/local/nagios/bin/db_mysql -u root -p password
 $ /usr/local/nagios/bin/db_opsview db_install
 $ /usr/local/nagios/bin/db_runtime db_install
 $ /usr/local/nagios/bin/db_odw db_install
 $ /usr/local/nagios/bin/db_reports db_install
 $ /usr/local/nagios/bin/rc.opsview gen_config

 $ /etc/init.d/opsview-web start

http://IPアドレス:3000/

13.Apache経由でアクセス可能に設定
 # cd /etc/httpd/conf.d
 # cp /usr/local/nagios/installer/apache_proxy.conf opsview.conf
 # vi opsview.conf

 DocumentRootをコメントアウト
 # vi /etc/httpd/conf/httpd.conf

 # usermod -G nagcmd apache

username: admin
password: initial

14.ConfigurationのReload
 画面上部の「Configuration status」が黄色の場合は、設定が反映
 されていないので、クリックして「Reload Configuration」ボタン
 をクリックして反映する。

おまけ:
 メッセージの日本語化は、RPMでインストールした場合は、
  /usr/local/opsview-web/lib/Opsview/Web/I18N/
 ディレクトリに各言語用のファイルが配置される。
 日本語版の言語ファイルは無いので、i_default.poをコピーして
 ja.poを作成し、各メッセージを翻訳する。文字コードはUTF-8。
 変更したら、
  /etc/init.d/opsview-web restart
 を実行すること。


マルチランゲージ対応と聞いていたから期待していたのに、内部はNagiosそのままだから、Nagiosは別途日本語化しないと駄目。
ま、これは「マルチランゲージ対応とは言えない」が私の結論。

でもまぁ、素のNagios使うよりはよさそう。ichingaとも比較してみないとね。

2010年9月27日月曜日

Zabbix Install for English speaker(from source)

This domeument for install zebbix with MySQL on CentOS 5.
But, this document is supprt in Japanese only.

文法がとかいう私の英語力に対するつっこみは受け付けません。

At first, Please read offical manuals.
http://www.zabbix.com/documentation/1.8/manual/installation

---
1. Install OS
---

First, CentOS 5 or RHEL 5 install to box with develop environment.

---
2. Install depends libraries
---

Install from install DVD or official repositry.
mysql-devel, net-snmp-devel, curl-devel

Download and Install from rpmforge.
iksemel-devel
http://packages.sw.be/iksemel/

---
3. Download Zabbix tarball
---

Download from offical site.
http://www.zabbix.com/download.php

File name is 'zabbix-1.8.3.tar.gz'.

---
4. Expand that tarball
---

# tar zxvf zabbix-1.8.3.tar.gz

---
5. Create database
---

# cd zabbix-1.8.3
# service mysqld start
# mysql -uroot
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> flush privileges;
mysql> quit
# mysql -uzabbix -ppassword zabbix < create/schema/mysql.sql
# mysql -uzabbix -ppassword zabbix < create/data/data.sql
# mysql -uzabbix -ppassword zabbix < create/data/images_mysql.sql


---
6. Configure sources & make install
---

# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl
# make
# make install

---
7. Create config files
---

# cd /etc
# mkdir zabbix

zabbix_server.conf and zabbix_agentd.conf copy to /etc/zabbix.

# cd zabbix-1.8.3
# cp misc/conf/zabbix_agentd.conf misc/conf/zabbix_server.conf /etc/zabbix

Edit config files.
zabbix_server.conf:
'DBUser' and 'DBPassword' must change to your database for zabbix in zabbix_server.conf.
zabbix_agentd.conf:
'Server' must change to zabbix server's IP Address.
'Hostname' must change to hostname that zabbix_agentd running.
This hostname use on host infomation of Web frontend.

---
8. Create start/stop script for init
---

Sample file are under misc/init.d/redhat/8.0.
Copy to /etc/init.d and edit if you want.
progdir="/usr/local/zabbix/bin/" to progdir="/usr/local/sbin/"

# chmod +x /etc/init.d/zabbix*

---
9. Start Server and Agent
---

# useradd -s /sbin/nologin zabbix
# service zabbix_server start
# service zabbix_agentd start


---
10. Web frontend setting
---
Install from install DVD or official repositry.
httpd, php, php-bcmath, php-gd, php-mbstring, php-xml, php-mysql

# cd zabbix-1.8.3/frontends
# cp -r php /var/www/html/zabbix
# cd /var/www/html/zabbix
# chown -R apache:apache conf
# chmod 775 conf

some php setting change in /etc/php.ini.
ex.
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_execution_time = 300
max_input_time = 300
mbstring.func_overload = 6
date.timezone = Asia/Tokyo

# service httpd start

Access to http://ip-addr/zabbix/

2010年8月17日火曜日

Zabbix 1.8.3について

Zabbix 1.8.3がリリースされましたね。
http://www.zabbix.com/rn1.8.3.php

RC版からちょこちょこ検証していたので、今回は1.8.3正式後、すぐにRPMを作成して検証環境に導入してみました。

あまり細かな検証ができる環境ではなかったのですが、特に問題が無さそうだったので、一部の監視環境を1.8.2から1.8.3に更新してみました。

大きな改善点としては、以下のものが挙げられるでしょう。

 ●Webインターフェイスでどの画面を開いていてもアラートが通知される
 ●アラートのサウンドを障害のレベルに合わせて変更できる
 ●設定時、ホストとテンプレートがメニューレベルで分離されアクセスしやすい
 ●マップ作成時、自動整列できる
 ●各所の日付や時刻の表示形式が日本人になじみの書式に近づいた
  (多くの箇所でカスタマイズ可になった)
 ●グラフのトリガーの閾値ラインが強調される

新機能も追加され、それらの概要に関しては、以下のURLをご確認下さい。
http://www.zabbix.com/documentation/1.8/manual/about/what_s_new_1.8.3

あと、以前書いた「大量に送受信を行うネットワークのnet.if.in[]やnet.if.out[]の値がある程度以上超えるとzabbix-server側で保存しなくなります。」という問題に関しては改善されていて、iSCSIで多くの通信量が発生するネットワークの利用状況を把握できるようになりました。

よかったよかった。

2010年8月14日土曜日

Zenoss Core 3.0をCentOS 5.5にインストール

Pandoraと比べたら、こちらは簡単。

手順は、以下の通り。

1.必要なパッケージを事前にインストール

 yum -y install mysql-server net-snmp net-snmp-utils gmp libgomp libgcj liberation-fonts

2.MySQLを起動

 MySQLのrootのパスワードを一時的に空にしておく。

3.パッケージのインストール

 rpm -ivh zenoss-3.0.1.el5.x86_64.rpm

4.zenossの起動

 service zenoss start

5.ZenPacksのインストール

 rpm -ivh zenoss-core-zenpacks-3.0.1.el5.x86_64.rpm

6.WebUIへの接続

  http://IPアドレス:8080/

 管理者のパスワードと別のアカウントのアカウント名とパスワードなどを入力。
 その後、とりあえずホストは登録せずにUIへ。


注意点:
 /etc/hostsファイル内のlocalhostと通常のFQDNのホスト名との対応を分けて設定すること。


あとは、さらに監視対象の登録や項目の変更なのですが、PandoraもZenossもユーザビリティが悪いので、マニュアル見ないと設定できません。
暇をみて調べてみようとは思いますが、このあたりはZabbixの方がはるかに優れてますね。

とはいえ、ZenPacksに色々気になるのが入ってる~。AWSとかXenとか。
このへんの中身は別途参考になるかも。

Pandora FMS 3.1をCentOS 5.5へインストール

Pandora FMSを利用した運用監視サービスをするというニュースを見て、使ってみたことがなかったので、インストールしてみました。

本家は↓です。
http://pandorafms.org/

サイト上は、CentOS/RedHatのRPMも公開したと書かれていますが、以下のURLにある「RPM (RHEL5, CentOS5, Fedora11)」と「依存ファイルとその他ツール (linux)」の両方にあるCentOS/RedHat用のRPM全てを利用してもインストールできないのでご注意ください。

http://pandorafms.org/index.php?sec=project&sec2=downloads&lng=jp

具体的には、

 ●標準のリポジトリやrpmforgeから以下のパッケージのインストールが必要

  標準:
   perl-HTML-Parser
   net-snmp-utils
  rpmforge:
   perl-IO-Interface-1.05-1.el5.rf.x86_64.rpm
   perl-Mail-Sendmail-0.79-1.2.el5.rf.noarch.rpm
   perl-NetAddr-IP-4.027-1.el5.rf.x86_64.rpm
   xprobe2-0.3-1.el5.rf.x86_64.rpm
   graphviz-2.22.0-4.el5.rf.x86_64.rpm

 ●標準のRPMと一部のファイルが競合しているパッケージがある

   php-pear-xml_rpc-1.5.3-0.rhel5.noarch.rpm

 ●一部、PHP 5.2以降にしかない関数を利用している

です。
2番目の競合は、無理やり上書きでRPMをインストールしました。
3番目は、CentOS 5標準のPHP 5.1でも動くよう、htmlentities()を呼び出している部分の引数を変更したり、json_encode()を探して対応しました。

今回は、1台のサーバに「Server」「Agent」「Console」全てをインストールしました。
インストールの手順の流れは以下の通りです。

1.必要なRPMを事前にインストール

2.エージェントのインストール

  rpm -ivh pandorafms_agent_unix-3.1-1.rhel5.noarch.rpm

3.サーバのインストール

  rpm -ivh pandorafms_server-3.1-1.rhel5.noarch.rpm

4.コンソールのインストール

  rpm -ivh pandorafms_console-3.1-2.rhel5.noarch.rpm

 インストール後に、PHP 5.1用の修正を行う。

5.MySQLの起動
 必要に応じて/etc/my.cnfを設定後MySQLを起動して、DB上のrootユーザのパスワードを設定する。

  service mysqld start
  mysqladmin -uroot password パスワード

6.Webサーバの起動

  service httpd start

7.初期設定用URLにアクセス
 ライセンスの確認したりDB接続用のアカウントやパスワードの設定する。
 途中PHPが5.1であることに警告が表示されるが強制的にインストールを選択する。

  http://IPアドレス/pandora_console/install.php

 設定が終わると、サーバに設定するパスワードが表示されるのでメモしておく。

8.サーバの設定

 /etc/pandora/pandora_server.conf内のdbpassを先ほど表示されたパスワードに変更する。

9.サーバを起動

  service pandora_server start
  service tentacle_serverd start

10.エージェントの起動

  service pandora_agent_daemon start


ということで、RPMの依存関係がちゃんと設定されていなかったり、標準では対応していない関数を利用していたり、手でソースを直さないとCentOS 5では動かないのでご注意を。

2010年6月15日火曜日

八王子バイパスも無料化

高速の無料化で、以前から挙がっていた通り、八王子バイパスも無料になるみたいですね。
八王子近辺の車の流れが変わるだろうな~。
http://www.yomiuri.co.jp/atmoney/news/20100615-OYT1T00462.htm?from=main6

2010年6月12日土曜日

植村花菜さん

かなり昔に、首都圏の深夜番組でピックアップされていた「植村花菜さん」。
関西ローカル番組では色々と出演されていたようですが、関東ではなかなかその活動が見えなかったんですよね。

某SNS見ていて、もしかしたら紅白に!なんて話も挙がっているようです。

もし、まだ植村花菜さんをご存じない方は、ぜひ聞いてみてください。





2010年5月31日月曜日

電子書籍

ちょっと前だと、色々な障害があって日本では普及しなかった電子書籍ですが、iPadのおかげで普及してきそうですね。

でも、iPadがでるまで、どうして日本は動かなかったんでしょうね。
やはり、iPadの操作性のおかげで、出版社や版権を持っている人が、より多くの人に利用してもらえそうと思ったんでしょうか?
タブレットPCや専用端末よりも安い早いうまい?

まだiPadの実物は触っていませんが、友人いわく「iPhoneのでかいの」とのことですので、あの感じの操作性なのでしょう。
さて、ビジネスとしてもどこまで広げていけるかな。

2010年4月21日水曜日

Zabbix 1.8.2の罠

Zabbix 1.8.2で色々と検証していたら問題発覚。

大量に送受信を行うネットワークのnet.if.in[]やnet.if.out[]の値がある程度以上超えるとzabbix-server側で保存しなくなります。
以前から、PostgreSQL版ではあった問題のようですが、1.8.2でMySQL版にも同様の制限が入ってしまったようです。

さて、パッチを作成するか、タイミングを見計らってネットワークインターフェイスのリセットをするかとかの対策を考えなければ。

なんてこったい。 orz

2010年4月13日火曜日

Zabbix 1.8.2のRPMを作成してみました。

ZABBIX-JPの1.8.1のSRPMを参考にして、1.8.2のRPMを作成してみました。

graph_font.patchとpowered_by_zabbixjp.patchを1.8.2用に作成し直すぐらいでとりあえず動いているっぽい。
graph_font.patchの方は、フォントの指定を変更する部分を2箇所に変更し、日本語表示のためのトリッキーなサイズ指定の修正の部分を削除します。
powered_by...の方は、修正する行がかなりずれているようなので、内容を参考にして手動パッチをあてて動作確認を行ったものを利用してpatchを作成しました。

でも、大元の不具合なのか、スクリーンでスライダを動かすとWeb画面の下の方にエラーが。 orz
Pre-1.8.3使ってみようかなぁ。

2010年3月31日水曜日

Zabbix 1.8.2リリース

Zabbix 1.8.2がリリースされました。
今回も修正点が多いようですが、これで本番環境に導入できるくらいになったことを期待しています。
http://www.zabbix.com/rn1.8.2.php

さて、ソースから導入しようかな、ZABBIX-JPのRPMを待とうかな。

2010年3月30日火曜日

ブログリストの2件目

私のマイブログリストに登録させて頂いた2件目は、Microsoftの高添さんです。

元々は、Windowsの仮想化関連の話題を中心に書かれているころからチェックさせて頂いています。
最近は、Office 2010やPowerShell関連の話題が多いように感じます。

一度、いや二度ほどセミナーなどでお見かけしているのですが、まだごあいさつできないままとなってます。
今度お会いしたときには、きちんとごあいさつできればと思ってます。

Windows Server 2008 R2は、かなり使えるようになってきているようなので、ちょっと真面目に使ってみようかと考え中です。
色々と書籍を買って、少しずつ検証したりしているので、TIPS的なものを今後公開できればと思っています。

ブログリストの1件目

私のマイブログリストに登録させて頂いた1件目は、ZABBIX-JP代表の寺島さんのブログです。

OSSの運用管理ツールを色々検証してきましたが、監視やリソース管理に関して単体で一番優れていると私が思うのは、Zabbixです。
あとは、

  • 構成管理、リリース管理

  • ジョブ管理

  • バックアップ

  • インシデント管理


あたりをフォローできるようなものと組み合わせて連携できると良いのですが.....。

興味のある方は、Zabbixのアンオフィシャルサイトにアクセスしてみてください。
Red Hat Enterprise LinuxやCentOSであれば、日本語対応のRPMも公開しているようですので、簡単に導入することができます。

設定方法については、様々なサイトで寺島さんなどが解説されていますし、Software Design誌にも特集が組まれています。
また、来週には、寺島さんが執筆されたZabbixの書籍が出版されます。


私も購入予定です。

2010年3月29日月曜日

最初に

色々と情報発信をしていく場として作成してみました。