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

2020年11月6日金曜日

Zabbix 5.2の新機能と今後

 先日のサミットでのお話からピックアップしておきます。

 

Zabbix 5.2の新機能として要約すると、以下のような新機能の追加と改善になるかと思います。

  • シンセティックモニタリング(JavaScriptで複雑な処理が可能)
  • Hadoop Vaultへの対応(セキュリティ情報をZabbix内で持たない)
  • 長期間のデータを元にした洞察(昨年、先週などの過去のトレンドデータとの比較)
  • 柔軟なユーザー権限の設定(使用できる機能やUIをユーザーごとに設定可能)
  • IoTモニタリング(modbus、MQTT対応)
  • ユーザーごとにタイムゾーンを設定
  • YAMLフォーマットでのインポートとエクスポート
  • Webインターフェースのフィルタ設定の保存と切替
  • 保存前処理でJavaScriptを使用可能
  • ログイン試行アタックへの対処(ログイン連続失敗でロック)
  • マクロの値の最大長を2048に拡張
  • Hostnameに複数設定可


また、今後の機能追加や改善に関しては、以下のような発言がありました。

  • さらに多くのチケット管理や通知のシステムとの連携を標準装備
  • 監視用テンプレートの充実
  • タグ管理やイベント相関関係の活用で障害原因や影響度を把握しやすく
  • 各種クラウドやKubernetesなどの監視
  • HAやパーフォーマンス向上とスケーラビリティの確保
  • レポーティング機能の追加(日次、週次などの定期レポート生成やPDF出力など)
  • ベースライン監視(閾値の自動設定やAIやMLによるデータ分析など)

より色々な場面で使えるようになりそうですね。

 

新機能の詳細に関しては、また某所のアドベントカレンダー等で紹介するかも。

(ちょっと適当な場所がなかったので、ひさ~しぶりにここに書いてみた。)

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年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月26日水曜日

PHP 5.4でZabbixが文字化け?

Twitterでつぶやいていた人がいらっしゃったので確認してみた。

自分でPHPをconfigureからやってもいいのですが、他人に詳細を説
明するのが面倒なので、標準で5.4が利用できるFedora 17を選択。
Zabbixのバージョンは、2.0.2を利用。

----------
結論:
----------
 全く問題なくメニューやグラフにも日本語が表示できる。

----------
障害原因の予測:
----------
・必要なPHPのライブラリがインストールされていない。

 MySQLを利用しているなら、

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

 とインストールしておけばOK。
 独自にPHPをconfigureから実施したのであれば、何らかの引数が
 不足していると思われる。

・日本語表示可能なフォントが配置及び設定されていない。

 ZabbixのPHPファイル群を配置したfontsディレクトリに、日本語
 が表示可能なTureTypeフォントを配置して、

  include/defines.inc.php

 内の「ZBX_GRAPH_FONT_NAME」「ZBX_FONT_NAME」に配置したフォ
 ントの拡張子を除いた文字列を設定する。

 Fedora 17なら、vlgothic-p-fontsというパッケージに含まれる
 「/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf」を利用
 して、先ほどの変数には「VL-PGothic-Regular」を指定するとい
 い感じに表示してくれる。

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年7月15日金曜日

Yumを利用せずにZABBIX-JPのZabbixをインストール

Zabbixサーバをインストールする場合は、以下のパッケージをインストールして下さい。

RHEL 5(CentOS 5) 32bitの場合:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/
  fping-2.4b2-16.el5.JP.i386.rpm
  iksemel-1.2-13.el5.JP.i386.rpm
  libssh2-1.2.5-1.el5.JP.i386.rpm

 http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/i386/
  zabbix-1.8.5-1.el5.JP.i386.rpm
  zabbix-agent-1.8.5-1.el5.JP.i386.rpm
  zabbix-server-1.8.5-1.el5.JP.i386.rpm
  zabbix-server-mysql-1.8.5-1.el5.JP.i386.rpm
  zabbix-web-1.8.5-1.el5.JP.i386.rpm
  zabbix-web-mysql-1.8.5-1.el5.JP.i386.rpm


RHEL 5(CentOS 5) 64bitの場合:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/
  fping-2.4b2-16.el5.JP.x86_64.rpm
  iksemel-1.2-13.el5.JP.x86_64.rpm
  libssh2-1.2.5-1.el5.JP.x86_64.rpm

 http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/x86_64/
  zabbix-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-agent-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-server-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-server-mysql-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-web-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-web-mysql-1.8.5-1.el5.JP.x86_64.rpm


監視対象には、以下のパッケージをインストールして下さい。

RHEL 5(CentOS 5) 32bitの場合:
 http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/i386/
  zabbix-1.8.5-1.el5.JP.i386.rpm
  zabbix-agent-1.8.5-1.el5.JP.i386.rpm

RHEL 5(CentOS 5) 64bitの場合:
 http://www.zabbix.jp/binaries/zabbix/zabbix-1.8/rhel5/x86_64/
  zabbix-1.8.5-1.el5.JP.x86_64.rpm
  zabbix-agent-1.8.5-1.el5.JP.x86_64.rpm

これら以外のパッケージは、OSのインストールメディアにあります。

ご不明な点があれば、ZABBIX-JP(http://www.zabbix.jp/)まで。

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年3月8日火曜日

Amazon Linux用Zabbix 1.8.4のRPM

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

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年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年4月21日水曜日

Zabbix 1.8.2の罠

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

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

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

なんてこったい。 orz