ラベル OSS の投稿を表示しています。 すべての投稿を表示
ラベル OSS の投稿を表示しています。 すべての投稿を表示

2015年3月6日金曜日

ZabbixをCentOS 7にインストール

どこのサイトの情報も間違っているとのつぶやきを見かけたのでちょっと書いてみます。

ただし、基本的な流れとポイントのみです。

SELinuxは、disabledです。
firewalldの設定は、もっと厳密にした方が良いでしょう。
DBMSは、CentOS 7ですのでMariaDBとします。
PostgreSQLの方が良い方は、Zabbixのパッケージでパッケージ名のmysqlの部分がpgsqlのパッケージをインストールしてください。

=====
1.OSのインストール
=====
最低限の構成でOSをインストールします。

=====
2.各種パッケージのアップデート
=====
yum updateを利用して、インストールされている各種パッケージをアップデートします。

 # yum update

=====
3.SELinuxのdisabled
=====
手順の説明を簡略化するため、disabledにします。
環境に合わせて適宜設定することをお勧めします。

 # vi /etc/selinux/config

----- ここから -----
SELINUX=disabled
----- ここまで -----

=====
4.OS再起動
=====
SELinuxをdisabledに設定したので、それを反映させるためにOSを再起動しておきます。

 # reboot

=====
5.firewalldの設定
=====
rebootしたら、firewalldの設定を行います。
Zabbixサーバが外部から接続を受けるのは、Zabbixエージェントからのアクセスと、Webインターフェースへのアクセスです。
SNMPトラップや他のアクセスを許可する場合は、それらも許可するようにしてください。

 # firewall-cmd --add-port=10050/tcp --zone=public --permanent
 # firewall-cmd --add-port=10051/tcp --zone=public --permanent
 # firewall-cmd --add-service=http --zone=public --permanent
 # systemctl restart firewalld

Zabbixエージェントへのアクセスが、ローカルのループバックを利用するのであれば、10050をあける必要はありません。
つまり、Zabbixエージェントが外部のIPアドレスからアクセスされる場合には、10050をあけます。
Zabbixサーバが、Zabbixエージェントからのアクセスを外部から受ける時には、10051をあけます。

もっとアクセス可能なゾーンを特定したり、Zabbix用のサービスを定義して登録して、サービス名を利用して設定した方が良いかもしれません。
その手順はまた今度。

=====
6.Zabbix SIAのリポジトリ登録
=====
Zabbix SIAが、RHEL 7用のyumのリポジトリも公開しているので、それを登録します。

 2.2系用:
 # yum install http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm

 2.4系用:
 # yum install http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm

=====
7.Zabbix関連のパッケージインストール
=====
Zabbixサーバの本体、ZabbixサーバのWebインターフェース、自分自身を監視するためにZabbixエージェントをインストールします。
ここでインストールするのは、MySQLまたはMariaDB用です。

 # yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent

zabbix-web-japaneseというパッケージは、Webインターフェースで日本語のフォントを利用できるようにするための設定用パッケージです。

=====
8.MariaDBのインストール
=====
CentOS 7から、標準ではMySQLのサーバのパッケージ(mysql-server)が含まれなくなったので、その代わりにMariaDBのサーバ(mariadb-server)をインストールします。

 # yum install mariadb-server

MariaDB用の設定を行っておきます。

 # vi /etc/my.cnf.d/server.cnf

----- ここから -----
[mysqld]
character-set-server = utf8
collation-server     = utf8_general_ci
skip-character-set-client-handshake
innodb_file_per_table
----- ここまで -----

 # systemctl start mariadb
 # systemctl enable mariadb

=====
9.初期データベースの作成
=====
DBMS上にデータベースとそれにアクセスするためのユーザを作成します。

 # mysql -uroot
 mysql> create database zabbix;
 mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password' ;
 mysql> flush privileges;
 mysql> exit
 #

テーブルを作成して、初期データも投入します。

 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.2.8/create/schema.sql
 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.2.8/create/images.sql
 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.2.8/create/data.sql

パス名は、バージョンごとにバージョン番号をパスに含んでいますので、インストールしたバージョンに合わせてパスを変更してください。

=====
10.Zabbixの設定ファイルの更新
=====
ここまでの設定のままであれば、最低限の設定としては、DBPasswordを設定するだけです。
DB作成時のパスワードをDBPasswordに設定してください。

 # vi /etc/zabbix/zabbix_server.conf

----- ここから -----
DBPassword=password
----- ここまで -----

=====
11.ZabbixのWebインターフェース用設定修正
=====
Zabbixのパッケージのデフォルトでは、PHPのtimezoneの設定がコメントアウトされているので、設定を有効にしてタイムゾーンが日本ならば、Asia/Tokyoに設定します。

 # vi /etc/httpd/conf.d/zabbix.conf

----- ここから -----
php_value date.timezone Asia/Tokyo
----- ここまで -----

=====
12.各種デーモン起動
=====

 # systemctl start zabbix-server
 # systemctl start zabbix-agent
 # systemctl start httpd

 # systemctl enable zabbix-server
 # systemctl enable zabbix-agent
 # systemctl enable httpd

=====
13.Webインターフェースにアクセス
=====
ブラウザを利用して、「http://IPアドレス/zabbix/」にアクセスします。

最初のアクセス時は、Zabbix設定のウィザードが実行されるので、DBへのアクセス情報などを入力して次へ次へと進めてください。
「3. Configure DB connection」では、UserとPasswordを入力して「Test connection」をクリックして接続確認を行うことを忘れずに。

設定が終わるとログイン画面になります。アカウント「Admin」、パスワード「zabbix」でログインしてください。

=====
14.Zabbix serverの監視を有効に設定
=====
ログイン後、まずは日本語画面に切り替えます。

右上のProfileをクリックして、LanguageとしてJapaneseを選択してSaveボタンを押してください。

次に、「設定」 -> 「ホスト」と選択してホスト一覧を表示させ、表示された「Zabbix server」というホストのステータスの「無効」をクリックして「有効」に変更すれば、Zabbixサーバ自体の監視が開始されます。

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エラーとかでたまま放置しているサイトもあるようです。

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

2013年3月1日金曜日

Zabbix公式パッケージ公開開始

Zabbixの開発元であるZabbix SIAから、公式パッケージが公開されました。
# オフィシャルパッケージって書いた方がいいのかな?

RedHat 5/6、CentOS 5/6、Debian 6、Ubuntu 10.04用が公開されたようです。
ダウンロードはこちらから。 → http://www.zabbix.com/jp/download.php

RedHatやCentOSならば、zabbix-releaseパッケージをインストールすれば、yumが利用できます。
例えば、RedHat 6またはCentOS 6で、2.0系を利用するなら、

 zabbix-release-2.0-1.el6.noarch.rpm

をインストールしてください。
あとは、yumコマンドでインストールできます。

例えば、MySQL用の一式をインストールするなら、

 # yum install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-web-japanese

といった感じです。

注意点としては、パッケージ構成がZABBIX-JPのパッケージと若干異なります。
具体的には、zabbix_getとzabbix_senderが、ZABBIX-JPのパッケージでは、zabbix-agentのパッケージに含まれていましたが、それぞれ別パッケージとして分割されています。

あと、グラフやマップで日本語を利用できるようにするには、zabbix-web-japaneseというパッケージもインストールしてください。
ログイン時にデフォルトでは英語になってますが、ログイン後、profileメニューでLanguageとしてJapaneseを選択すれば、メニューなども日本語になります。

あと、パッケージをインストール後、

 /etc/httpd/conf.d/zabbix.conf

のPHPのtimezone設定を、

 php_value date.timezone Asia/Tokyo

と設定しておくと、Webのインストールウィザードを開いたときの警告を出さないようにできます。
設定変更後、Apacheの再起動を忘れずに。
# あ、日本以外なら自分のtimezoneに合わせてくださいね。

DebianとUbuntuも同様にリポジトリを追加して簡単にインストールできるようになったはずですが、詳細な手順は未確認です。

2012年9月27日木曜日

CentOS 6.3にZenoss Core 4.2.0をインストールしてみる

自動スクリプト利用版です。
インストールマニュアルに載っている方法を利用します。

1.CentOS 6.3(x86_64)のインストール

 ベースとかでCentOS 6.3をインストールして、postfixがインス
 トールされていると、依存関係でmysql-libsがインストールされ
 てしまっていて、自動インストールでインストールするMySQL 5.5
 のライブラリと競合してしまうのでアンインストール。

  # rpm -e --nodeps mysql-libs

2.自動インストーラのダウンロードと実行

  # wget --no-check-certificate https://raw.github.com/zenoss/core-autodeploy/master/core-autodeploy-4.2.sh
  # chmod +x core-autodeploy-4.2.sh
  # ./core-autodeploy-4.2.sh
  ※ 基本的にこのスクリプトの中身の順序で実行すれば手動でも可

3.MySQL-shared-compatのインストール

 アンインストールしてしまったmysql-libsの代わりに、インスト
 ールされたMySQLのバージョンに合わせてダウンロードしてイン
 ストールする

  # yum localinstall MySQL-shared-compat-5.5.27-1.el6.x86_64.rpm

4.初期設定

  ウェブブラウザで、

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

  にアクセス。
  adminのパスワードと自分のアカウント作成を実施。
  その後、すぐに監視対象を追加しないなら追加やディスカバリ
  はスキップして初期設定終了。

5.net-snmpの設定

  デフォルトで監視対象に登録されるlocalhostが、SNMPでサー
  バの情報を取得するよう設定されているが、net-snmpのデフォ
  ルト設定では、監視に必要な情報が取得できないので、取得で
  きるように、/etc/snmp/snmpd.confを修正する。

  セキュリティを気にしないなら、最後に、

   view systemview included .1

  と一行書く。
  ※ 本当は必要なところからのみアクセスできるようにすること。

6.OS毎再起動

  Web画面から再度SNMPの値の再取得を強制的に行わせる方法が
  みつからなかったのでOS毎再起動を実施。


手順もれがあるかもしれないので、あったら後で修正します。

2012年8月24日金曜日

Pandora FMS 4.0.2をCentOS 5.8にインストールしてみる

ちょっと前にバージョン4.0.2をリリースしたPandora FMSさんが、

 古いメニューやスタイルなんて忘れちゃってよ、
  4.0.2は綺麗になったんだぜ。

とつぶやかれていたので、久しぶりにインストールしてみた。

本家はここね。→
 http://pandorafms.com/
で、ドキュメントも一応ある。→
 http://pandorafms.com/pandora/doc/en

個人的には、RHEL系で試すことにしているので、以下のURLからRPM
をダウンロードしてチャレンジ。
http://sourceforge.net/projects/pandora/files/Pandora%20FMS%204.0.2/Final/RHEL_CentOS%20%28RPM%29/

今回は、CentOS 5.8にインストールしてみた。

先ほど紹介したドキュメントリンクページから日本語のマニュアル
をダウンロードしてみましたが、あちこち古い情報のままで更新さ
れていないし、ドキュメントの構成が「すぐに試してみよう」とい
う人にはまったく適さない構成や内容なのでお勧めしません。

とりあえずインストールして動かしてみたいというだけなら、以下
の手順を参照してもらったほうが良いと「私は」思います。

さて、インストールを開始するとして、いくつかの依存パッケージ
は、OS標準のリポジトリにはありません。
マニュアルには、「contribution/toolsにて提供しています。」と
書いてありますが、contribution以下にtoolsはありません。
実際にあるのは以下のURLです。
http://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/

ドキュメント作成して、再確認してないでしょ。
>Pandora FMSのマニュアル作成者さん


--------------------------------
1.各種パッケージのインストール
--------------------------------

さて、各パッケージをダウンロード後、インストール開始。
今回は、とりあえず1台の中にサーバとエージェントとコンソール
を入れてしまうので、以下の通り。

 # yum localinstall --nogpgcheck pandorafms_console-4.0.2-1.noarch.rpm
 # yum localinstall --nogpgcheck wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
 # yum localinstall --nogpgcheck pandorafms_server-4.0.2-1.noarch.rpm
 # yum localinstall --nogpgcheck pandorafms_agent_unix-4.0.2-1.noarch.rpm
 # yum install graphviz-gd

※RPMの依存関係に書かれていませんが極力CentOS標準のパッケージ
 を利用する場合には「graphviz-gd」のインストールが必須。

----------------------
2.DBMS(MySQL)の準備
----------------------

そして、今回はDBもローカルに入れてしまうので、mysql-serverも
インストール。

 # yum install mysql-server

マニュアルには記載が見当たりませんでしたが、一応、以下の設定
を追加して、mysqldを起動。

/etc/my.cnf
-----
character-set-server=utf8
skip-character-set-client-handshake
-----

 # service mysqld start

rootのパスワードとか余計なアカウント消すとかやっておくことを
お勧め。(mysql_secure_installationを使うとか。)

---------------------
3.セットアップ開始
---------------------

Apacheを起動後、ブラウザで以下のURLにアクセス。

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

MySQLを選択して、MySQLのrootアカウントやそのパスワード、利用
するデータベースサーバに対する接続情報やデータベース名などを
入力してセットアップを進める。
最後に、

 Established privileges for user pandora.
 A new random password has been generated: hogehoge

とPandora FMS用に作成されたデータベースのアカウントのパスワ
ードが表示されるのでメモしておくこと。
そのパスワードで、/etc/pandora/pandora_server.confのdbpassの
ところのパスワードを書き換えます。

 # vi /etc/pandora/pandora_server.conf

あと、今回は、ローカルのサーバのエージェントを監視するので、
ローカルから監視できるようlocalに変更してしまいます。

 # vi /etc/pandora/pandora_agent.conf

transfer_mode tentacle

transfer_mode local

セットアップが終了したら、install.phpは不要なので、削除もし
くは名前の変更をしておきます。

 # cd /var/www/html/pandora_console
 # mv install.php install.php.bak

------------------
4.サービスの開始
------------------

 # service pandora_server start
 # service pandora_agent_daemon start

------------------------------
5.管理コンソールへのアクセス
------------------------------

ここまで設定できれば、あとは以下のURLにブラウザでアクセス。

 http://172.21.21.45/pandora_console/

デフォルトの管理者のIDとパスワードは、
 admin
 pandora
です

日本語表示にしたい場合は、画面左上の[admin]をクリックして、
Languageで「日本語」を選択してください。
あと、システム管理 -> 設定で、タイムゾーンを「Asia/Tokyo」に
しておきます。

こんな感じ。

2012年8月20日月曜日

net-snmpの拡張

SNMPを利用して独自のアプリケーションのメトリクスを収集しよう
とする場合に、net-snmpを利用しているのであれば、net-snmpを拡
張して対応できます。

拡張する方法としては、

 ・net-snmpに組み込む
 ・net-snmpの設定で外部スクリプトを呼び出して
  値を取得できるようにする

方法が考えられるのですが、それぞれの実装方法に関しては、以下
のURLなどをご参照ください。


net-snmpについて(独自監視項目の追加) - 前編
http://codezine.jp/article/detail/2938
net-snmpについて(独自監視項目の追加) - 後編
http://codezine.jp/article/detail/2991

18.5.5. Net-SNMP の拡張
https://access.redhat.com/knowledge/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-System_Monitoring_Tools-Net-SNMP-Extending.html

Linux と net-snmp の実装
http://www.wit-systems.co.jp/Linux_net-snmp001.htm
NET-SNMP 導入メモ
http://homepage3.nifty.com/myhometown/snmp.htm

第5回 図解で知るSNMP――MIB情報のすべて (1/8)
http://www.itmedia.co.jp/enterprise/articles/0705/21/news015.html

2012年5月31日木曜日

Zabbix 2.0をAmazon Linux上で動かしてみよう

これは、Zabbix 2.0のRPMを作成する手順の紹介です。

いつものように、SRPMをgithub上に置いておきました。
https://github.com/atanaka7/zabbix-jp-amzn1

これを利用して、RPMでのインストールを行います。

まずは、RPMの作成です。
先のgithub上の「zabbix-2.0.0-1.amzn1.src.rpm」をダウンロードしておきま
す。
あと、Amazon Linuxでは標準的に用意されていない、もしくはより適したRPM
をZABBIX-JPのダウンロードサイトからダウンロードしておきます。

i386用:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/fping-2.4b2-16.el6.JP.i686.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/iksemel-1.4-2.el6.JP.i686.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/iksemel-devel-1.4-2.el6.JP.i686.rpm

x86_64用:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/fping-2.4b2-16.el6.JP.x86_64.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-1.4-2.el6.JP.x86_64.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-devel-1.4-2.el6.JP.x86_64.rpm

これらのファイルをEC2上のAmazon Linuxのインスタンスにアップロードしま
す。
ここでは、ec2-userを利用して作業を行うこととします。

まず、アーキテクチャに合わせて上記の3つのRPMを

 $ sudo yum localinstall RPMファイル名 .....

でインストールしておきます。
続いて、RPMをビルドするための環境構築です。

 $ sudo yum install rpm-build
 $ sudo yum groupinstall 'Development tools'
 $ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
 $ vi ~/.rpmmacrosを作成して、以下の記述を行います。

-----
%_topdir /home/ec2-user/rpmbuild
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
-----

そして、RPMのビルドです。

 $ rpmbuild --rebuild zabbix-2.0.0-1.amzn1.src.rpm

と実行すると、

-----
Installing zabbix-2.0.0-1.amzn1.src.rpm
error: Failed build dependencies:
        mysql-devel is needed by zabbix-2.0.0-1.amzn1.i386
        postgresql-devel is needed by zabbix-2.0.0-1.amzn1.i386
        net-snmp-devel is needed by zabbix-2.0.0-1.amzn1.i386
        openldap-devel is needed by zabbix-2.0.0-1.amzn1.i386
        gnutls-devel is needed by zabbix-2.0.0-1.amzn1.i386
        iksemel-devel is needed by zabbix-2.0.0-1.amzn1.i386
        sqlite-devel is needed by zabbix-2.0.0-1.amzn1.i386
        unixODBC-devel is needed by zabbix-2.0.0-1.amzn1.i386
        libssh2-devel >= 1.0.0 is needed by zabbix-2.0.0-1.amzn1.i386
        java-devel >= 1.6.0 is needed by zabbix-2.0.0-1.amzn1.i386
        curl-devel >= 7.13.1 is needed by zabbix-2.0.0-1.amzn1.i386
        OpenIPMI-devel >= 2.0.14 is needed by zabbix-2.0.0-1.amzn1.i386
        gettext is needed by zabbix-2.0.0-1.amzn1.i386
$
-----

のように足りないものがあった場合は、上記のように表示されますので、それ
ぞれをインストールします。

 $ sudo yum install mysql-devel postgresql-devel net-snmp-devel .....

インストールできたら、再度ビルドの実行です。

 $ rpmbuild --rebuild zabbix-2.0.0-1.amzn1.src.rpm

正常にビルドが終了すると、/home/ec2-user/rpmbuild/RPMS/ 以下にRPMファ
イルが作成されます。
注:Zabbix 2.0.0からzabbix-webパッケージがnoarchの下に出力されます。

ビルドできた各RPMも、

 $ sudo yum localinstall RPMファイル名

でインストールすると、依存関係を解決して依存するRPMも一緒にインストー
ルできるので便利です。

i386用とx86_64用は、それぞれの環境でビルドしてください。
全てx86_64の環境なら1台だけビルド用に構築して、他のサーバはビルドでき
たRPMを利用すれば大丈夫です。

RPMができたら、インストールや設定は以下のURLなどをご参照あれ。
http://www.slideshare.net/BlueSkyDetector/zabbix20
http://thinkit.co.jp/book/2012/04/13/3503

2011年4月14日木曜日

ZABBIX-JPのRPMをCentOS 5.6上のPHP 5.3で動かせ!

CentOS 5.6がリリースされました。
よ〜く見ると、今までのPHPのアップデート以外に、php53というPHP 5.3が入っているではないですか。
そこで、Zabbix-1.8.4-1.JPをCentOS 5.6で搭載されたPHP 5.3を利用してインストールできないじゃないかとのご意見も聞かれたのでやってみた。

詳細は説明しません。
わからなかったら聞いてください。

以下、手順です。

# wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm
# rpm -ivh zabbix-jp-release-5-3.noarch.rpm
# alternatives --config zabbix-jp-release

4 プログラムがあり 'zabbix-jp-release' を提供します。

選択 コマンド
-----------------------------------------------
1 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo
2 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo
*+ 3 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo
4 /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:4
# yum install zabbix-agent zabbix-server-mysql
# yum install php53 php53-gd php53-mbstring php53-xml php53-bcmath php53-mysql
# wget http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/i386/zabbix-web-1.8.4-1.el5.JP.i386.rpm
# wget http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/i386/zabbix-web-mysql-1.8.4-1.el5.JP.i386.rpm
# rpm -ivh --nodeps zabbix-web-1.8.4-1.el5.JP.i386.rpm zabbix-web-mysql-1.8.4-1.el5.JP.i386.rpm

# yum install mysql-server

後は通常のインストールと同じです。

2011年4月12日火曜日

CentOS 5.6へのアップデート手順

お行儀の良いアップデート手順は、以下のように行うらしい。from リリースノート。
yum clean all
yum update glibc\*
yum update yum\* rpm\* pyth\*
yum clean all
yum update mkinitrd nash
yum update selinux\*
yum update
shutdown -r now

2011年3月8日火曜日

Amazon Linux用Zabbix 1.8.4のRPM

とりあえずSRPMだけ公開してみた。
https://github.com/atanaka7/zabbix-jp-amzn1

2011年2月12日土曜日

Opsview 3.11.1の日本語化

とりあえず版をgithub上に公開してみた。
https://github.com/atanaka7/opsview-3.11-jp

使い方の詳細を書いてないので、わからなかったら聞いて下さい。
あと、まだ、ja.poは翻訳途中なので、余裕があったら更新します。

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年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とも比較してみないとね。