Zabbix社内勉強会資料-Zabbix2.0新機能紹介編-

Preview:

Citation preview

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

Recommended