Your SlideShare is downloading. ×
0
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化

4,512

Published on

OSC2013 Kansai@Kyotoで話したZabbixを使ったクラウド環境監視の資料です。 …

OSC2013 Kansai@Kyotoで話したZabbixを使ったクラウド環境監視の資料です。
ZABBIX-JP

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,512
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
71
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ZABBIX-JP 池田 大輔 Zabbixを使って 大規模クラウド環境の監視を効率化 2013/08/02 OSC2013 Kansai@Kyoto
  • 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
  • 4. Zabbixの基本情報 OSS統合監視ツール ラトビアのZabbixSIA社が開発 2013/08/02時点の最新安定版2.0.7 監視対象機器 - Linux - Windows - NW機器 等 監視方法 - Zabbix Agent監視 - SNMP監視 - IPMI監視 - エージェントレス監視 等 監視内容 - リソース監視 - 死活監視 - ICMPPing - プロセス - Web監視 - ログ監視 - HW監視 - SQL監視 等
  • 5. Zabbixの基本情報 -監視の仕組み- Zabbix Server trapper poller alerter discoverer ・ ・ ・ Shared Memory Apache (Zabbix Frontend) DB Server 設定情報 監視結果情報 Zabbix Agent SNMP Agent SNMP Agent dbsyncer
  • 6. Zabbixの基本情報 -監視設定- ホストグループ テンプレート ホスト アイテム トリガーグラフ割当 アイテム トリガーグラフ ・ ・ ・ ・ ・ ・ アクション アクション アイテム トリガーグラフ ホストグループ:Linux ホスト:Server1 テンプレート:LinuxServerテンプレート アイテム:CPU使用率 トリガー:CPU使用率が5分間平均80%以上 アクション:管理者にアラートメール送信 例 ホスト
  • 7. ● クラウド環境特有の問題は? ○ 台数が大量になる ○ オートスケーリング機能など稼働状況の変化が激しい ○ クラウドAPIを経由した管理が必要 ○ などなど Zabbixでクラウド環境監視するには? Zabbixにはこれらを解決する機能が豊富にある
  • 8. 監視環境はどうすればいい?
  • 9. ● ZabbixはNetworkReachableであれば監視可能 ○ パブリックIPを持つEC2インスタンスならインターネット経由 で監視も可能 ○ Zabbixが内部NWに属していれば内部NW経由で監視可能 監視環境どうする? 全ての監視対象機器に対してZabbixServerから接続できるよう にするのが現実的でない場合もあるので分散監視を実施 複数のNW環境を集約して監視したい場合どうする?
  • 10. Zabbix Proxy を使って クラウドとオンプレを統合的に監視 監視環境のキーポイント
  • 11. Zabbix Proxyが便利 監視環境どうする? Zabbix Server Target Server Target Server Target Server Target Server ■ ZabbixServer-ZabbixProxy間のみが接続できればOK ■ 設定管理/監視結果管理は統合してZabbixServer上で実施可能 ■ Server-Proxy間のデータ同期頻度、Proxyでのバッファサイズ等設定可 ■ Server-Proxy間NWが不安定でもProxyのバッファに監視結果を保管できるためデータロ ストが防げる Zabbix Proxy Target Server Target Server Target Server Target Server 拠点A(例:オンプレミス環境) 拠点B(例:AWS環境) 管理下の対象機器のみ監視 管理下の対象機器のみ監視Active型 Passive型 設定 情報 監視 結果 運用担当者 DB DB
  • 12. Zabbix Proxyが便利 監視環境どうする? Active型 Passive型 ホスト毎にZabbixProxyを経由して監視するかどうかの設定が可能 Passive型の場合はProxyの インタフェース情報を登録 Proxyの設定ファイル(zabbix_proxy.conf) にZabbixServer情報を設定 ProxyMode=0 Server=<Zabbix Server IP address>
  • 13. 監視設定はどうすればいい?
  • 14. ● 監視対象機器の情報はホストとしてZabbixに対象機器毎に登録 ○ 監視機器のインタフェース情報 ○ 監視テンプレート割当 ○ ホストグループ管理 監視設定どうする? 最新の状況に合わせて 自動的に監視対象マシン情報をZabbixに登録 する必要がある クラウド上で動的に仮想マシンが変化する場合、その登録はどうする?
  • 15. ネットワークディスカバリ/自動登録 を使って 監視対象機器情報登録自動化 場合によっては Zabbix API 監視設定のキーポイント
  • 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
  • 19. ■ 例:AWSのEC2インスタンスの自動登録 監視設定どうする? 柔軟な登録処理をしたいならZabbixAPI AWS リージョン AWS リージョン AWS リージョン AWS リージョン AWSAPI Scripts インスタンス情報取得リクエスト DescribeInstances ・Public DNS(dns-name) ・Public IP(ip-address) ・Private IP(private-ip-address) ・タグ情報(tag-set) ・プラットフォーム情報 (platform) など ZabbixServer ZabbixAPI host.create(host.update) ・パラメータ - インターフェース情報 - 登録ホストグループ指定 - 登録テンプレート指定 ・・・
  • 20. 監視アイテム設定をどうすればいい?
  • 21. ● IaaSを運用管理する場合レイヤが二分される ① クラウドサービス利用者管理レイヤ ■ Zabbix Agentが入れば既存と同様の監視を ② クラウドサービス事業者管理レイヤ ■ 情報収集できる口はクラウドAPI ■ クラウドAPIを効果的に活用して監視を 監視アイテム設定どうする? Zabbixで提供される豊富な監視手法を有効活用
  • 22. 外部チェックスクリプト/ Zabbix Agent UserParameter を使って 柔軟な監視を実施 Zabbix Sender も効果的 監視アイテム設定のキーポイント
  • 23. ● クラウドAPI監視に使える監視手法例 ① 外部チェックスクリプト監視 ② ZabbixAgent UserParameter監視 ③ Zabbix senderを使った監視 監視アイテム設定どうする? ZabbixServer ZabbixAgent スクリプト クラウドAPI Zabbix Sender Zabbix Trapper Zabbix ExternalCheck リクエスト 監視結果 プッシュ型でZabbixに監視結果送付 リクエスト 監視結果 ③ ② ①
  • 24. 監視アイテム設定どうする? Serverから直接アクセスなら外部チェックスクリプト監視 ■ ZabbixServerから任意の処理実行結果を監視  - 外部チェックスクリプト監視1実行につき1監視結果  - 文字列、数値等が戻り値として返ってくるようスクリプトを作成 ■ 監視設定手順  - スクリプト作成 (引数の活用も可能)  - ExternalScriptsで指定したディレクトリにスクリプト配置  - Zabbix起動ユーザに実行権限付与  - 外部チェックスクリプト監視アイテム登録 引数はカンマ区切りで複数指定可能 マクロ展開にも対応
  • 25. 監視アイテム設定どうする? ■ 例:AWS CloudWatchの課金情報監視結果最新値をAWS APIから取得 CloudWatchからAWS課金情報監視例 Serverから直接アクセスなら外部チェックスクリプト監視
  • 26. UserParameter=monitor.aws[*],/bin/sh monitor_aws.sh $1 監視アイテム設定どうする? AgentからアクセスならUserParameter監視 ■ ZabbixAgentから任意の処理実行結果を監視  - ZabbixAgent稼働サーバ内で実行した処理結果を監視可能  - ZabbixAgent内の情報収集を実施する等で活用  - クラウドAPIアクセスをAgentから実施する場合にはこの方法もあり ■ 監視設定手順  - Agent設定ファイルにUserParameter定義を実施  - ZabbixにZabbixAgent監視アイテムを登録 新しいキーの定義 ([*]:アイテムキーの引数を扱うことが可能に ) zabbix_agentd.conf 監視実行内容を記述 (引数は$1,$2,$3に格納されて渡ってくる ) 設定項目 値 タイプ Zabbix Agent キー monitor.aws[引数]
  • 27. Zabbix Server DB 監視結果情報 設定情報 Zabbix Trapper Zabbix API Zabbix Sender set Zabbix API library set get ■ 外部から監視結果をプッシュ型で登録するためのプログラム  - Zabbix Trapperアイテムに対して値を登録  - 何らかのトリガーをきっかけに監視結果をプッシュ型で送付したい場合等に有効  - Agentレスでもzabbix_senderコマンドを実行するだけで実現可能 $ zabbix_sender -z <zabbix-server> -s "Zabbix server" -k "sender.test" -o 100 Zabbix sender実行例 ホスト: Zabbix server アイテムキー: sender.test に100という数値を送る例 監視アイテム設定どうする? 効率よく監視結果登録するならZabbixSender
  • 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 - サービス毎の課金情報 - トータルの課金情報 など
  • 30. 監視結果を受けての対応はどうすればいい?
  • 31. ● 障害を確実に検知する必要がある ● 検知後の処理自動化で運用作業低減したい アクション設定どうする? アクションのステップ実行可能 自動処理実施も可能
  • 32. アクションステップ実行 を使って 適切なタイミングで適切な通知を リモートコマンド を活用し自動化を促進 アクション設定のキーポイント
  • 33. ● Zabbixで実施可能なアクションは2種類 ○ メッセージ通知 ○ リモートコマンド実行 ● アクションはステップ実行可能 アクション設定どうする? アクションのステップ実行 担当者への メッセージ送信 第1ステップ 管理者・担当者 への メッセージ送信 プロセスA再起動 (カスタムスクリプト) 第2ステップ 第3ステップ 間隔 1時間 間隔 2時間 アクション実行フロー 管理者への メッセージ送信 プロセスA再起動 (カスタムスクリプト) トリガー
  • 34. ● 設定例: ○ 担当者はOperatorsグループ ○ 管理者はManagersグループ アクション設定どうする? アクションのステップ実行
  • 35. ● リモートコマンドでできること ○ Zabbix Agent/Zabbix Serverからコマンド実行 ○ Telnet/SSH接続してコマンド実行 ○ IPMIコマンド実行 ○ グローバルスクリプト実行 アクション設定どうする? アクションによる自動化 例:    - あるサーバ上のプロセスを再起動  - クラウドAPIを叩いてマシンを再起動する処理をZabbix Server上で実行    など
  • 36. まとめ
  • 37. ● 監視環境は? ○ ZabbixProxyを活用して分散監視が効果的 ● 監視設定は? ○ NWディスカバリ/自動登録で自動設定 ○ さらに柔軟性が必要ならZabbixAPIが効果的 ● 監視アイテム設定は? ○ 外部チェックスクリプト/UserParameterで柔軟な監視を ○ さらにzabbix_senderで効率良い監視を ● アクション設定は? ○ ステップ実行で適切なアクション実行を ○ リモートコマンド実行で運用自動化実現を まとめ 大規模クラウド環境をZabbixを使って監視運用
  • 38. ● 展示ブース(8/2,8/3) ○ 『1号館4F:ホワイエ』 ○ Zabbixのデモ展示しています ○ Zabbixに関するご相談・ご質問お答えします ● コミュニティサイト ○ http://www.zabbix.jp/ ○ フォーラムや最新情報提供等 お知らせ ZABBIX-JP
  • 39. Zabbixで効率良い監視運用の実現を! ご清聴ありがとうございました @ike_dai

×