Más contenido relacionado La actualidad más candente (20) Similar a Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化 (20) Más de Daisuke Ikeda (20) Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化2. ● 自己紹介
● Zabbixの基本情報
● Zabbixでクラウド環境を監視するには?
○ 監視環境どうすればいい?
○ 監視設定どうすればいい?
○ 監視アイテム設定どうすればいい?
○ 監視結果を受けての対応(アクション)どうすればいい?
● まとめ
● お知らせ
今日お話すること
3. ● 名前: 池田 大輔
● ZABBIX-JPのスタッフメンバー
● Twitter: @ike_dai
● Facebook:https://www.facebook.com/ikedai
● Zabbix関連の活動:
○ Chromix(Zabbixアラート通知用Chrome Extension)開発
○ HyClops for Zabbix(AWS,vSphere自動監視用プラグイン)開発
自己紹介
ike-daiの日記 (http://d.hatena.ne.jp/ike-dai/) Zabbix Conference 2012 @Riga
16. ディスカバリ(ポーリング型) 自動登録(プッシュ型)
Zabbix Server
or
Zabbix Proxy
Target
Server
Target
Server
Target
Server
Target
Server
Zabbix Server
or
Zabbix Proxy
Target
Server
Target
Server
Target
Server
Target
Server
指定したNW宛に定期ポーリング
Zabbix
Agent
Zabbix
Agent
Zabbix
Agent
Zabbix
Agent
起動時にプッシュ通知
■ NWのIPrange指定をしてポーリング
■ 検知条件が豊富
- Zabbix Agent
- SNMP
- ICMP ping
- TCP
- HTTP 等
■ Agent起動時にZabbixServerに通知
→無駄なパケットが発生しない(効率的)
■ 通知される情報が少ない
- Hostname
- ListenIP
- ListenPort
監視設定どうする?
NWディスカバリ/自動登録が便利
17. ディスカバリ(ポーリング型) 自動登録(プッシュ型)
Zabbix Server
or
Zabbix Proxy
Target
Server
Target
Server
Target
Server
Target
Server
Zabbix Server
or
Zabbix Proxy
Target
Server
Target
Server
Target
Server
Target
Server
指定したNW宛に定期ポーリング
Zabbix
Agent
Zabbix
Agent
Zabbix
Agent
Zabbix
Agent
起動時にプッシュ通知
■ NWのIPrange指定をしてポーリング
■ 検知条件が豊富
- Zabbix Agent
- SNMP
- ICMP ping
- TCP
- HTTP 等
■ Agent起動時にZabbixServerに通知
→無駄なパケットが発生しない(効率的)
■ 通知される情報が少ない
- Hostname
- ListenIP
- ListenPort
監視設定どうする?
NWディスカバリ/自動登録が便利
パブリッククラウドの場合、NW IPレンジの特定が難しい
→自動登録を検討
ZabbixAgentの導入が難しい場合やより柔軟な自動設定をしたい場合
→Zabbix APIを使った自動化を検討
18. ■ Zabbix1.8から実装された外部とZabbixとのインタフェース
- Zabbixに対する操作(設定変更、ホスト追加、グループ作成等)実施
- Zabbixで管理している監視結果の取得(history,event,IT service情報)
■ JSON-RPC形式のAPI
- URL: http://<zabbix-server>/zabbix/api_jsonrpc.php
- メソッド: host.create、host.update、item.get、history.getなど
- パラメータ: メソッド毎に必要なパラメータを渡す
host.getの例
レスポンス
{
"auth": "xxxxxxx",
"method": "host.get",
"params": {
"output": "extend",
"filter": {"host":"Zabbix server"}
},
"jsonrpc": "2.0",
"id": 1
}
{
"jsonrpc":"2.0",
"result":[{
"maintenances":[],
"hostid":"10084",
"host":"Zabbix server",
・・・略
}],
"id":1
}
リクエストパラメータ
監視設定どうする?
柔軟な登録処理をしたいならZabbixAPI
23. ● クラウドAPI監視に使える監視手法例
① 外部チェックスクリプト監視
② ZabbixAgent UserParameter監視
③ Zabbix senderを使った監視
監視アイテム設定どうする?
ZabbixServer
ZabbixAgent
スクリプト
クラウドAPI
Zabbix
Sender
Zabbix
Trapper
Zabbix
ExternalCheck
リクエスト
監視結果
プッシュ型でZabbixに監視結果送付
リクエスト
監視結果
③
②
①
28. ■ 有効活用例:
- 外部チェックスクリプトでクラウドAPIから情報を一括取得
- 一括取得した情報をZabbix Senderで一括プッシュ登録
監視アイテム設定どうする?
ZabbixSender+外部チェックスクリプト
クラウドAPI
スクリプト
Zabbix
ExternalCheck
リクエスト
監視結果
Zabbix
Sender
Zabbix
TrapperZabbix
TrapperZabbix
TrapperZabbix
TrapperZabbix
Trapper
ZabbixServer
一度のAPIアクセスで複数の情報の監視が可能
29. おまけ:AWS環境ならこんな監視をしてみては?
監視項目 監視手法 詳細な監視アイテム例
OSより上 Zabbix Agent
OS種別毎の監視
- Template OS Linux
- Template OS Windows
など
AWS
EC2インスタンス基本情報 AWS EC2 API
- 稼働AZ情報
- インタフェース情報
- 稼働ステータス情報
- インスタンスタイプ情報
- セキュリティグループ情報
- インスタンスプラットフォーム情報
など
AWS
EC2インスタンス稼働情報 AWS CloudWatch API
- CPU使用率
- ネットワークIO
- ディスクIO
- メモリ使用率
など
AWS
S3使用情報 AWS S3 API
- バケット毎のサイズ
など
AWS
課金情報 AWS CloudWatch API
- サービス毎の課金情報
- トータルの課金情報
など
33. ● Zabbixで実施可能なアクションは2種類
○ メッセージ通知
○ リモートコマンド実行
● アクションはステップ実行可能
アクション設定どうする?
アクションのステップ実行
担当者への
メッセージ送信
第1ステップ
管理者・担当者
への
メッセージ送信
プロセスA再起動
(カスタムスクリプト)
第2ステップ 第3ステップ
間隔
1時間
間隔
2時間
アクション実行フロー
管理者への
メッセージ送信
プロセスA再起動
(カスタムスクリプト)
トリガー
35. ● リモートコマンドでできること
○ Zabbix Agent/Zabbix Serverからコマンド実行
○ Telnet/SSH接続してコマンド実行
○ IPMIコマンド実行
○ グローバルスクリプト実行
アクション設定どうする?
アクションによる自動化
例:
- あるサーバ上のプロセスを再起動
- クラウドAPIを叩いてマシンを再起動する処理をZabbix Server上で実行
など
37. ● 監視環境は?
○ ZabbixProxyを活用して分散監視が効果的
● 監視設定は?
○ NWディスカバリ/自動登録で自動設定
○ さらに柔軟性が必要ならZabbixAPIが効果的
● 監視アイテム設定は?
○ 外部チェックスクリプト/UserParameterで柔軟な監視を
○ さらにzabbix_senderで効率良い監視を
● アクション設定は?
○ ステップ実行で適切なアクション実行を
○ リモートコマンド実行で運用自動化実現を
まとめ
大規模クラウド環境をZabbixを使って監視運用