Upload
kodai-terashima
View
2.882
Download
13
Embed Size (px)
DESCRIPTION
2010年9月11日 オープンソースカンファレンス2010 Tokyo/Fall
Citation preview
2010/09/11 @ OSC2010 Tokyo/FallZABBIX-JP 代表 寺島広大 (TwitterID: kodai74)
http://www.zabbix.jp
1
オープンソースでシステム監視!“Zabbix 1.8” の機能と簡単インストール手順の紹介
アジェンダ
• Zabbixの概要と機能
• Zabbix 1.8の機能と開発状況
• Zabbix 1.8のインストール手順
• ZABBIX-JPコミュニティの活動について
2
Zabbixの概要と機能
3
Zabbix = 統合監視ソフトウェア
•ステータス情報収集機能✓ 監視対象サーバ、ネットワーク機器からステータス情報を取得✓ 取得した情報をデータベースに保存、蓄積
•障害検知、通知機能✓ 障害を検知する閾値設定✓ 障害発生時にメール通知やスクリプト実行
•グラフィカル表示機能✓ マップ、グラフのリアルタイム表示✓ 障害状況の確認や複数グラフの表示
4
Zabbixの主な特徴
•主な特徴✓ オープンソースソフトウェア✓ Webインターフェースから設定・情報表示が可能✓ リアルタイムなグラフ表示✓ 監視データをデータベースに長期間蓄積✓ 監視テンプレートによる設定のテンプレート化✓ マルチプラットフォーム対応✓ 豊富な監視機能
• Zabbixを使うメリット✓ 障害検知 + グラフ表示 + αの監視機能✓ 設定・操作がWebから簡単にできる
5
監視サーバ 監視対象
Zabbixの動作環境
Zabbixサーバ
データベースMySQL
PostgreSQLSQLiteOracle
監視データ保存
障害通知
Webインターフェース(Apache + PHP)
表示・設定
管理者
Zabbixエージェント
SNMPエージェント
6
Zabbixの対応OS
OS Zabbixサーバ ZabbixエージェントLinux ○ ○
Windows - ○
Solaris ○ ○
AIX ○ ○
HP-UX ○ ○
Mac OS X ○ ○
FreeBSD ○ ○
OpenBSD ○ ○
Novell Netware - ○
SCO Open Server ○ ○
Tru64/OSF ○ ○
7
Zabbixエージェントの監視項目
• Zabbixエージェントの標準的な監視機能✓ リソース監視 (CPU、メモリ、ディスク、ネットワーク)✓ プロセス監視 (プロセス数、プロセスのメモリ使用量)✓ ポート監視 (コネクション、レスポンス)✓ ファイル監視 (チェックサム、容量、存在確認、文字列監視)✓ ログ監視✓ Windowsサービス、イベントログ
• Zabbixエージェントの拡張✓ コマンドやスクリプトを登録して拡張可能
8
その他の監視機能
• Zabbixサーバのその他の監視機能✓ Ping監視/ポート監視 (エージェントレス)✓ SNMP v1/v2/v3エージェント✓ IPMIエージェント✓ ODBCを利用したSQL監視✓ Web(URL)監視✓ スクリプトの実行による監視
9
障害検知・通知とグラフィカル表示機能
•障害検知・通知機能✓ 障害発生状況一覧画面✓ 障害履歴の保存と参照✓ メール送信、Jabberチャット、スクリプト実行が可能✓ Zabbixエージェントでコマンド/スクリプト実行が可能
•グラフィカル表示機能✓ グラフ、マップ、複数グラフ表示✓ リアルタイムに表示✓ 動的に表示期間を変更可能
10
監視対象
分散監視機能 (大規模システムの監視)
• Zabbixプロキシ✓ Zabbixサーバに代わって監視を行う専用のサーバ✓ スケールアウトすることにより監視の負荷分散が可能✓ ファイアーウォール越しの監視が可能
11
ZabbixサーバZabbixプロキシサーバ Zabbixプロキシサーバ
監視設定と監視データの一元管理
Zabbix 1.8の新機能と開発状況
12
Zabbix 1.8のリリース
• Zabbix 1.8のリリース履歴
•現在の状況✓ 1.8.3で大きな新機能の追加は落ち着いたように見える✓ 1.8.4に向けてバグフィックス修正が行われている
13
日付 バージョン 主な機能追加 バグフィックス数
2009/12/08 1.8 - -
2010/01/28 1.8.1 2個 fix 165個2010/03/30 1.8.2 17個 fix 166個
2010/08/16 1.8.3 3個 fix 315個
現在 (2010/09/10) 1.8.4 (開発中) - open 362個
UTF-8対応
• 1.6との違い✓ 全体的にマルチバイト文字を考慮したソースに修正✓ ログ監視、イベントログ監視がマルチバイト文字に対応
• 1.8で追加されたマルチバイト関連のオプション✓ log[ファイル名 , 検索文字列 , エンコード]✓ eventlog[イベントログ名, 検索文字列 , エンコード] など
14
パフォーマンスの改善
•データベースキャッシュモジュールの追加✓ 監視設定、ヒストリデータをメモリ上にキャッシュ✓ DBからデータ読み込みのパフォーマンスが向上
• DBSyncerプロセスの追加 (1.8.3以降)✓ 受信した監視データをまとめてDBに書き込み✓ DBへのデータ書き込みパフォーマンスが向上✓ 1つのZabbixサーバでより多くの監視が可能に
15
メンテナンス期間の機能
•メンテナンス中の監視の停止をスケジューリング✓ メンテナンスの予定を設定してあらかじめ監視や障害通知を停止✓ ワンタイム、または繰り返し設定が可能
16
正規表現機能
•ユーザ定義の正規表現を作成可能✓ 複雑なログ監視文字列を容易に設定可能✓ 正規表現のテスト機能
17
自動登録機能
• Zabbixエージェントを利用したホストの自動登録が可能✓ アクティブチェックが有効なZabbixエージェントを自動登録✓ ホストの登録、テンプレートの適用が可能
18
ユーザ定義マクロ機能
•ユーザ定義のマクロ(変数)を設定可能✓ Zabbix全体とホスト/テンプレート単位で設定が可能✓ アイテムのキーのオプション、トリガーの条件式に利用可能✓ 同一テンプレートを利用してホスト間で異なる閾値設定などが可能
19
ホストのマクロ設定
{$INTERFACE1} = eth0{$CPU_LOAD_LIMIT} = 10
トリガー設定
{localhost:system.cpu.load[,avg1].last(0)}>{$CPU_LOAD_LIMIT}
アイテム設定
net.tcp.in[{$INTERFACE1}]
エージェントレス監視
• SSHとTelnetを利用したエージェントレス監視✓ Webインターフェースからコマンドを設定、実行結果を監視✓ sshの公開鍵認証が利用可能
20
計算アイテム
•収集したデータを元に計算を行うことが可能✓ ネットワークスイッチの複数ポートのトラフィック合計値✓ 複数ファイルやパーティションの容量の平均値 など
21
API機能
• JSON-RPCを利用した監視設定・データ取得API機能✓ インターフェースは別途開発する必要がある✓ Rubyを利用したAPI用コマンドラインツール ”Zabcon” が開発中✓ API、Zabconともに開発途中のため、まだバグや仕様変更が多い
+> get hostHost result set+--------+---------------+| hostid | host |+--------+---------------+| 10017 | Zabbix Server |+--------+---------------+1 rows total
+> get userUser result set+--------+-------+| userid | alias |+--------+-------+| 1 | Admin || 2 | guest |+--------+-------+2 rows total
22
Zabcon : http://trac.red-tux.net/wiki/zbx_api/interactive
マップの改善
•マップ設定と操作の改善点✓ ドラッグアンドドロップで設定可能✓ マップ背景に障害の深刻度に応じた色を表示可能✓ アイコンやネットワークの線に監視データなどを表示可能✓ アイコンのグリッド揃えが可能 (1.8.3)✓ アイコンの説明に「障害対応コメント」の数を表示可能 (1.8.3)
23
メニューとホスト設定画面の変更
•メニューとホスト設定画面の改善✓ アイテム、トリガー、グラフのメニューがホスト内へ移動✓ ホスト一覧画面の改善 (テンプレート使用時に横に長くならない)
24
グラフの変更
•グラフの表示や操作方法の変更✓ 表示形式の変更とアンチエイリアスフォントの利用✓ スライドバーの操作性が向上
25
バーグラフ機能
•監視データを利用したカスタムバーグラフ作成機能✓ 複数アイテムを利用した値の分布や比較グラフを作成可能✓ 今のところ設定は保存できない
26
インポート/エクスポート機能の強化
• XMLインポート/エクスポート機能の変更点✓ マップ、スクリーン設定をインポート/エクスポート可能✓ ホスト、テンプレートのインポート/エクスポートがそれぞれの設定画面に移動
27
グローバル通知機能
•障害発生時にブラウザ内のポップアップで通知✓ ブラウザ内でポップアップ✓ 音で通知
28
その他の改善と機能追加
• Zabbix 1.8のその他の改善と機能追加✓ ホスト、テンプレート、ホストグループの検索機能✓ アイテムのフィルタ機能の項目が大幅に増加✓ Web監視でbasic認証を利用可能✓ DNS監視項目の追加✓ Ping監視にタイムアウト、リトライなどのオプションが設定可能
29
Zabbix1.8のインストール手順
30
インストールの前提条件
• Zabbixサーバ✓ CentOS/RHEL5 ✓ データベースはOS付属のMySQL✓ Webインターフェースに使うApache/PHPもOS付属のものを利用
•監視対象サーバ✓ 各種Linux、Windowsについて解説
31
監視サーバ 監視対象
Zabbixサーバのインストール
Zabbixサーバ
データベースMySQL
PostgreSQLSQLiteOracle
監視データ保存
障害通知
Webインターフェース(Apache + PHP)
表示・設定
管理者
Zabbixエージェント
SNMPエージェント
32
パッケージインストール
要設定&チューニング!
Zabbixサーバのインストールと設定• CentOS / RHEL
✓ ZABBIX-JPのyumリポジトリを登録
✓ yumで一発インストール
• /etc/zabbix/zabbix_server.conf ✓ DBName=データベース名✓ DBUser=データベースユーザ✓ DBPassword=データベースパスワード✓ DBSocket=DBのソケットファイルのパス
33
# rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm
# yum install zabbix zabbix-server zabbix-server-mysql \zabbix-web zabbix-web-mysql
後からハマらないためのMySQL設定• Zabbixデータベース作成前に/etc/my.cnfを変更•文字化け回避のためのエンコード設定
•データ保存ファイルの設定
34
設定パラメータ 説明
default-character-set=utf8 デフォルトエンコードをutf8に設定
skip-character-set-client-handshakeSQLクライアントの設定に関わらず、サーバ側のエンコード設定を使用
設定パラメータ 説明
innodb_file_per_table単一のデータファイルの肥大化を防ぐために、テーブルごとにデータファイルを作成。DB作成後は変更不可
MySQLの起動 ⇒ DB作成
• MySQLの起動
• DBと接続用アカウントの作成
• Zabbixデータベースの初期データのインポート
35
# service mysqld start
# mysql -uroot> create database zabbix;> grant all privileges on zabbix.* to zabbix@localhost identified by ‘pass’;
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-XXX/schema/mysql.sql# mysql -uroot zabbix < /usr/share/doc/zabbix-server-XXX/data/data.sql# mysql -uroot zabbix < /usr/share/doc/zabbix-server-XXX/data/images_mysql.sal
Zabbixの起動とWebインターフェースの設定
• Zabbixサーバの起動
• Apacheの起動
•ブラウザでWebインターフェースにアクセス✓ http://zabbix-server-host/zabbix
36
# service zabbix-server start
# service httpd start
Webインストーラの実行
•インターフェースの設定ファイルを作成
•インストーラ完了⇒ ログイン画面(初期アカウント ID: Admin / Pass: zabbix)
• Zabbixサーバのインストール完了!37
監視サーバ 監視対象
Zabbixエージェントのインストール
Zabbixサーバ
データベースMySQL
PostgreSQLSQLiteOracle
監視データ保存
障害通知
Webインターフェース(Apache + PHP)
表示・設定
管理者
Zabbixエージェント
SNMPエージェント
38
パッケージインストール
Zabbixエージェントのインストール (Linux)• CentOS / RHEL
✓ ZABBIX-JPのyumリポジトリを登録
✓ yumで一発インストール
• Fedora ✓ yumで一発インストール (コマンドは上記と同じ)
• Debian / Ubuntu ✓ aptで一発インストール
39
# rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm
# yum install zabbix zabbix-agent
# apt-get install zabbix-agent
Zabbixエージェントの設定&起動• /etc/zabbix/zabbix_agentd.conf
✓ Server=ZabbixサーバのIPアドレス✓ Hostname=Zabbixサーバに監視対象として登録する時のホスト名✓ ListenIP=ListenするIPアドレス
• Zabbixエージェントの起動
• Zabbixエージェント側に監視設定は不要✓監視設定はZabbixサーバで集中管理✓ Zabbixエージェントは起動しておくだけ
40
# service zabbix-agent startもしくは
# /etc/init.d/zabbix-agent start
Zabbixエージェントのインストール(Windows)
• ZABBIX-JPのインストーラパッケージを利用✓ http://www.zabbix.jp ⇒ DOWNLOADS✓ zabbix_agent-1.8.3-1.JP_installer.exe
•インストーラのexeファイルを実行✓ ガイドに従ってインストール完了 ⇒ 自動的に起動
41
Zabbixのインストールまとめ
• Zabbixサーバ✓ ZABBIX-JPのRPMパッケージなら日本語利用にあたって必要な設定があらかじめ含まれている。インストール後すぐ使える
✓ MySQLの設定が重要!
• Zabbixエージェント✓ CentOS/RHELはZABBIX-JPのパッケージを利用✓ Debian/Ubuntu/Fedoraはデフォルトのリポジトリを利用✓ WindowsはZABBIX-JPのインストーラを利用
42
ZABBIX-JPコミュニティの活動について
43
ZABBIX-JPコミュニティサイト運営
•リリース情報の提供•リリースノート翻訳•フォーラム運営•ドキュメント翻訳&作成• Webインターフェース翻訳•バグ修正•日本語版RPMの作成
44
インストール手順はDocumentsを参照
Zabbix書籍
• Zabbix統合監視「実践」入門✓ 発売日: 2010/04/08✓ 著者: 寺島広大✓ 出版社: 技術評論社✓ ページ: 416ページ
✓ 価格: 3,675円
45
Zabbixデモサイト
•デモサイト詳細 ✓ Zabbix 1.8.3 ✓ 現在は閲覧のみ✓ 設定画面も見れます
•アクセス方法✓ http://demo.zabbix.jp✓ ID: guest-ja✓ PASS: zabbix
46