Zabbix社内勉強会資料-Zabbix2.0新機能紹介編-
-
Upload
daisuke-ikeda -
Category
Documents
-
view
5.977 -
download
7
Transcript of Zabbix社内勉強会資料-Zabbix2.0新機能紹介編-
Zabbix社内勉強会2.0新機能紹介編
池田大輔
Zabbixとは
OSS統合監視ツールラトビアのZabbixSIA社が開発現在の最新安定版2.0.1(2.0.2rc1が7/20リリース)
監視対象機器- Linux- Windows- NW機器等
監視方法
- Zabbix Agent監視- SNMP監視- IPMI監視- エージェントレス監視等
監視内容- リソース監視- 死活監視 - ICMPPing - プロセス- Web監視- ログ監視- HW監視- SQL監視等
Zabbix Server
dbsyncer
trapper
poller
alerter
discoverer・・・
Shared Memory
Zabbixの監視の仕組み
Apache(Zabbix Frontend)
DB Server設定情報
監視結果情報
Zabbix Agent
SNMP Agent
SNMP Agent
ホストグループ
テンプレート
Zabbixの監視設定の基本
ホスト
アイテム トリガーグラフ割当
ホスト
アイテム トリガーグラフ
・・・
・・・
アクション
アクション
アイテム トリガーグラフ
ホストグループ:Linuxホスト:Server1テンプレート:LinuxServerテンプレート
アイテム:CPU使用率トリガー:CPU使用率が5分間平均80%以上アクション:管理者にアラートメール送信
例
2.0での新機能
・ローレベルディスカバリ機能・ZabbixJavaGateway機能・ホストインベントリ自動登録機能・ZabbixAPIの正式リリースなどなど
NIC,Disk,SNMPOIDの情報を自動探索
ローレベルディスカバリ
eth0
eth1
eth2
/
/boot
/var
サーバ毎に構成が異なる場合、Zabbix1.8の機能だけだと、テンプレート作成が困難
Zabbix2.0では自動的にディスカバリをし、ディスカバリ結果に応じた監視アイテムを自動生成
・無駄な監視設定排除
・運用の手間の削減
/proc/mountsの情報を自動取得注)Linuxの場合
/proc/net/devの情報を自動取得注)Linuxの場合
注)NIC,DiskのディスカバリにはZabbix2.0のAgent導入が必要
SNMPOID例・ディスク情報のOIDをディスカバリ
・インデックスとバリューが取得可能
・マクロを使って監視設定
HOST-RESOURCES-MIB::hrStorageDescr
{#SNMPINDEX} インデックス情報が格納
{#SNMPVALUE} バリュー情報が格納
ZabbixJavaGateway
ZabbixJavaGateway必要な作業
1. OpenJDKインストール(JavaGateway稼働マシン)
2. Zabbix Java Gatewayのインストール・設定(JavaGateway稼働マシン)
3. Zabbix Serverの設定変更(ZabbixServer再起動が必要)(ZabbixServer稼働マシン)
4. 各Javaアプリケーションの起動オプション設定(監視対象機器)
5. JMX監視用プロセス稼働ポートのFW開放設定(監視対象機器)
6. ZabbixにJMX監視用アイテム登録(ZabbixSeverWeb管理画面)
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.port=10080
JavaGateway=JavaGatewayIPアドレス
JavaGatewayPort=JavaGateway稼働ポート
StartJavaPollers=ポーラープロセス数指定
jmx["オブジェクトネーム","アトリビュートネーム"]
ホストインベントリ
ホストインベントリとは?
Zabbix2.0からホストインベントリの自動登録機能追加
ホストインベントリ使うと何が嬉しい?
OS情報や設置場所情報など監視対象機器情報
Zabbixの監視アイテムで取得した情報をホストインベントリの値として登録可能に
ホストインベントリの情報はアラートメールなどに マクロで追記可能
Zabbix API・Zabbix2.0から正式機能としてリリース・APIでできること - 監視データの取得 - 監視設定等
利用方法 1.user.loginメソッドでアクセストークン取得
2.必要に応じた操作メソッドを実行
3.json形式のレスポンスを受信&処理
Zabbix API具体例1 ログイン用リクエスト
レスポンス
$ curl -d '{"auth":null,"method":"user.login","id":100,"params":{"password":"zabbix","user":"admin"},"jsonrpc":"2.0"}' -H "Content-Type:application/json-rpc" http://hostname/zabbix/api_jsonrpc.php
{"jsonrpc":"2.0","result":"acd6dea3b..........f272c9ffae254","id":100}
アクセストークン
アクセストークンはDBのSessionテーブルに保管され、以降のAPIアクセスはアクセストークンを用いて認証をパスする
Zabbix API具体例2 ホスト情報取得リクエスト
$ curl -d '{"auth":"acd6dea3b..........f272c9ffae254","method":"host.get","id":100,"params":{"filter":{"host":["Zabbix Server"]},"selectInterfaces":"extend","output":"extend"},"jsonrpc":"2.0"}' -H "Content-Type:application/json-rpc" http://hostname/zabbix/api_jsonrpc.php
selectInterfacesパラメータは1.8系のAPIには存在しないので注意
APIの詳細はZabbix公式マニュアルを参照http://www.zabbix.com/documentation/2.0/manual/appendix/api/api
Zabbix APIの活用例
AWSのインスタンス管理
外部ツールとの連携
1. AWSのEC2インスタンス情報をAWS APIから取得2. Zabbix APIのhost.createメソッドでホスト登録
host.create実行時にTemplateやGroupへの割当も可能
1. Zabbix APIでトリガー情報を取得2. ChromeのExtensionでトリガー情報閲覧&障害のデスクトップ通知
https://chrome.google.com/webstore/detail/odjpdjeegacmncmodjbeboldofhljjjf
その他
他にも新しくなっていることたくさん・インタフェースの扱い方 - 1ホストに複数のインタフェース登録可能
- インタフェースにタイプ保持(Agent,SNMP,IPMI,JMX)
・SNMPTrapperサポート※1 - zabbix_senderを使った方法(1.8まで)→snmptrapperが追加実装(2.0以降)
・Actionのスクリプト実行対象にZabbixServerを指定可能に - zabbix agentとzabbix serverどちらの上でもスクリプトを実行可能に
・Nanosecond対応 - 1秒以内に複数トラップがあがってきた場合にも対応可能に
・IE6をサポート対象外に
※1第5回Zabbix勉強会 @halchiyoさん資料http://www.slideshare.net/HaruyoshiChiyoda/zabbixjp-study4-zabbix20rc1-snmp-traps
Q&A