手作業なしの安定環境実現に向けた
Zabbix活用方法紹介
+Zabbix2.4最新機能紹介
TIS 株式会社
戦略技術センター
池田 大輔
2014/8/1 OSC2014 Kansai@Kyoto
自己紹介
池田 大輔
TIS株式会社 戦略技術センター
@ike_dai
https://www.facebook.com/ikedai
Zabbix,AWS,fluentd,Chef,JobScheduler...
名前
所属
Twitter...
TIS OSSサポートサービス
保守サポート
コンサルティング マイグレーション
OSSの利用をトータルにバックアップ
TIS OSSサポートサービス
対象OSS
インフラ基盤
運用基盤
アプリケーション
稼働基盤
TIS OSSサポートサービス
対象OSS
インフラ基盤
運用基盤
アプリケーション
稼働基盤
※TISはZabbix社の認定パートナーです。
アジェンダ
■ Zabbixをほんとに使ってみるべきなのか?
■ 使うと決めたらどうやって使えばうまく活用できるのか?
■ Zabbixのこれまでと今後の動き
Zabbixを使うべきなのか?
Zabbixの特徴を知る
監視対象システムの特徴を知る
Zabbixの特徴を知る
● Zabbixの監視の仕組み
● Zabbixが扱うデータの構造
● Zabbixの機能
Zabbixの特徴を知る
● Zabbixの監視の仕組み
● Zabbixが扱うデータの構造
● Zabbixの機能
Zabbix Server
trapper
poller
alerter
discoverer
Shared Memory
Z...
Zabbixの特徴を知る
● Zabbixの監視の仕組み
● Zabbixが扱うデータの構造
● Zabbixの機能
ホストグループ
(例:Linux servers)
アイテム
(例:CPU使用率、
メモリ空き容量)
トリガー
(例:CPU使...
Zabbixの特徴を知る
● Zabbixの監視の仕組み
● Zabbixが扱うデータの構造
● Zabbixの機能
HW
HV
VM VM
別拠点
NW
Webサービス
OS(Linux) OS(Windows)
MW MW
APP APP
...
監視対象システムの特徴を知る
● 監視に求められる要件
○ 監視対象の機器数
○ 監視頻度
○ 監視対象機器毎の監視アイテム数
○ 監視結果の保存期間
■ 生の監視結果の保存期間
■ トレンド(1時間毎の平均/最大/最小)情報の保存期間
○ 障...
どうすればうまく使えるのか?
うまく使うとは?
状態の変化をZabbixで確実に検知できる
低コストで監視環境の構築や運用作業が実現できる
担当者が見落とさないよう確実に情報を届ける
ストレスフリーな安定した運用の実現
構築・運用作業の低コスト化
どうすればうまく使えるのか?
構築・運用作業の低コスト化
監視設定パターン化 監視設定自動化 運用自動化
テンプレート機能 ネットワークディスカバリ機能
ZabbixAgent自動登録機能
ローレベルディスカバリ機能
アクション機能
監視設定をサーバの用途
毎、種別毎等まと...
テンプレート機能の効果的活用
テンプレート作成時はマクロを効果的に活用
テンプレートに登録するトリガー設定の例
 『監視アイテムAの直近の値がxxxx以上になれば障害とみなす』
サーバのスペックに応じて変えたい場面などマクロ化すると便利
{テン...
NWディスカバリとAgent自動登録の使い分け
NWディスカバリ(ポーリング型) 自動登録(プッシュ型)
Zabbix Server
or
Zabbix Proxy
Target
Server
NW
Device
Target
Server
T...
NWディスカバリとAgent自動登録の使い分け
NWディスカバリ(ポーリング型) 自動登録(プッシュ型)
Zabbix Server
or
Zabbix Proxy
Target
Server
NW
Device
Target
Server
T...
例:マシンが搭載している FSのディスカバリ(vfs.fs.discovery)
ローレベルディスカバリの仕組み
処理の流れ
ディスカバリルールに基づき
監視対象の内部情報を収集
プロトタイプ設定に基づき
監視設定を自動登録
存在しなくなったリ...
アクション機能の活用
担当者への
メッセージ送信
第1ステップ
管理者・担当者
への
メッセージ送信
プロセスA再起動
(カスタムスクリプト)
第2ステップ 第3ステップ
間隔
1時間
間隔
2時間
アクション実行フロー
管理者への
メッセージ...
状態の変化を確実に検知
どうすればうまく使えるのか?
状態の変化を確実に検知
● 監視結果登録待ちキューの状態に注意
● トリガーの条件式を効果的に活用
● 計算アイテム・アグリゲートアイテム
を効果的に活用
監視待ちキュー
● 監視実行が滞っているアイテムの数を管理
○ Zabbixインターナル監視アイテムで監視可能
アイテムキー: zabbix[queue,<from>,<to>]
例: zabbix[queue,1m,5m] → 1分以上5分未...
トリガー条件式の活用
● トリガー関数、評価式をうまく組み合わせる
● 例: ディスク使用量の増加傾向
({ディスク使用量監視アイテム .last(0)} - {ディスク使用量監視アイテム .last(0,604800)})/7
+
{ディスク...
計算アイテム・アグリゲートアイテムの活用
● 例: 分散値を監視
○ 負荷分散しているWebサーバのロードアベレージの偏りを監視等
LoadBalancer
Webサーバ1 Webサーバ2 Webサーバ3 Webサーバ4
スケールアウト
個々の...
計算アイテム・アグリゲートアイテムの活用
アイテムキー設定例
grpavg[Web servers,system.cpu.load[,avg1],last,0]
Zabbixのホストグループ単位で同じアイテムの値を計算処理
平均(grpavg)...
担当者に確実に届ける
どうすればうまく使えるのか?
担当者に確実に届ける
● 不要な通知を発生させない
● 「監視できていなかった」を見逃さない
不要な通知を発生させない
● トリガーの依存関係を有効活用
例: 仮想環境の稼働状態を統合的に監視
ハイパーバイザが障害
物理マシン(ハイパーバイザ)
仮想マシン群
不要な通知を発生させない
● トリガーの依存関係を有効活用
例: 仮想環境の稼働状態を統合的に監視
ハイパーバイザが障害
物理マシン(ハイパーバイザ)
仮想マシン群
VMにも影響
各VMが障害
依存関係
「監視できていなかった」を見逃さない
● 内部イベント情報の検知
○ アクションの設定にて、イベントソース内部イベント選択
○ 内部イベントの状態に応じたアクション設定を追加
アクション条件に指定できる要素
● イベントタイプ
● アプリケーシ...
Zabbixのこれまでと今後
Zabbixの進化
性能改善 機能拡充
2008/6 1.6リリース
2001/4 初版リリース
2009/12 1.8リリース
2012/5 2.0リリース
2013/11 2.2リリース
2014/xx 2.4リリース予定?
Zabbixの機能拡充
監視できる幅拡大 自動化の促進
2.0 2.0
2.2 2.2
・JMX監視機能の実装
・SNMP Trap監視機能の実装
・VMware監視機能の実装
・WMI監視機能の実装
・NWディスカバリ機能の拡充
 (HTTP...
Zabbix2.4の新機能の一部
監視できる幅拡大 自動化の促進
2.4 2.4
・Web監視機能の拡充 ・ローレベルディスカバリ
フィルタリング機能の拡充
Web監視機能の拡充
・ヘッダーをカスタマイズして監視可能に
(シナリオや各ステップに対して設定可能 )
・監視対象のページ情報の細かい指定も可能に
(これまではページの全体およびリダイレクトの最終到達ページのみの監視のみ対応だった )
SSL...
ローレベルディスカバリの
フィルタリング機能拡充
ディスカバリの結果に対してフィルタリングした上で登録すべきデータを選別できる
複数のフィルタの複合条件での指定が可能に
より柔軟な自動化設定が可能に
まとめ
今後の拡張も益々期待されるZabbix
Zabbixが適するのか?を考え
ただ単に導入するだけでなく
工夫することで劇的に効果を発揮
見極めて活用を!
TISでは
● Zabbixの機能の検証活動や情報の発信
● Zabbixの価値を向上させるツール開発
● Zabbixに関するコンサル
● Zabbixの保守サポート
ハイブリッドクラウド監視モジュー
ル
書籍: Zabbix統合監視「徹底活...
TIS OSSサポートサービス
問い合わせ先
oss-sales@ml.tis.co.jp
TIS株式会社
OSSサポートサービス担当窓口
ご清聴ありがとうございました。
Upcoming SlideShare
Loading in …5
×

手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介

5,985 views

Published on

OSC2014Kansai@Kyotoでの発表資料です。

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,985
On SlideShare
0
From Embeds
0
Number of Embeds
1,029
Actions
Shares
0
Downloads
61
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介

  1. 1. 手作業なしの安定環境実現に向けた Zabbix活用方法紹介 +Zabbix2.4最新機能紹介 TIS 株式会社 戦略技術センター 池田 大輔 2014/8/1 OSC2014 Kansai@Kyoto
  2. 2. 自己紹介 池田 大輔 TIS株式会社 戦略技術センター @ike_dai https://www.facebook.com/ikedai Zabbix,AWS,fluentd,Chef,JobScheduler... 名前 所属 Twitter Facebook 興味 AWS、VMware監視用プラグイン『HyClops for Zabbix』開発 (http://tech-sketch.github.io/hyclops/jp/)技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1 Amazon : http://www.amazon.co.jp/dp/4774162884
  3. 3. TIS OSSサポートサービス 保守サポート コンサルティング マイグレーション OSSの利用をトータルにバックアップ
  4. 4. TIS OSSサポートサービス 対象OSS インフラ基盤 運用基盤 アプリケーション 稼働基盤
  5. 5. TIS OSSサポートサービス 対象OSS インフラ基盤 運用基盤 アプリケーション 稼働基盤 ※TISはZabbix社の認定パートナーです。
  6. 6. アジェンダ ■ Zabbixをほんとに使ってみるべきなのか? ■ 使うと決めたらどうやって使えばうまく活用できるのか? ■ Zabbixのこれまでと今後の動き
  7. 7. Zabbixを使うべきなのか?
  8. 8. Zabbixの特徴を知る 監視対象システムの特徴を知る
  9. 9. Zabbixの特徴を知る ● Zabbixの監視の仕組み ● Zabbixが扱うデータの構造 ● Zabbixの機能
  10. 10. Zabbixの特徴を知る ● Zabbixの監視の仕組み ● Zabbixが扱うデータの構造 ● Zabbixの機能 Zabbix Server trapper poller alerter discoverer Shared Memory Zabbix Frontend DB 監視設定情報 history syncer unreachable poller 監視結果情報 設定・確認 SNMP Agent SNMP Agent Zabbix Agent SNMP Agent Zabbix Agent ...
  11. 11. Zabbixの特徴を知る ● Zabbixの監視の仕組み ● Zabbixが扱うデータの構造 ● Zabbixの機能 ホストグループ (例:Linux servers) アイテム (例:CPU使用率、 メモリ空き容量) トリガー (例:CPU使用率が 90%以上) アクション (例:ユーザAに即座に アラートメール送信 ) シンプルグラフ (例:CPU使用率 のグラフ) グラフ (例:全マシンの CPU使用率のグラフ ) ユーザ (例:PJ01運用担当者A) ユーザグループ (例:PJ01運用担当者 グループ) メディア (メールアドレス、 通知スクリプト) 0..* 1..* テンプレート (例:Template OS Linux) 0..* 0..* ホスト (例:linux-server01) 0..*0..* 0..* 0..* 0..* 1..* 0..* 0..* 0..* 0..* 0..* 1..* 0..* 0..* 0..* 0..* 0..1 1 0..* 1..* 1 0..*
  12. 12. Zabbixの特徴を知る ● Zabbixの監視の仕組み ● Zabbixが扱うデータの構造 ● Zabbixの機能 HW HV VM VM 別拠点 NW Webサービス OS(Linux) OS(Windows) MW MW APP APP IPMI監視 VMware監視 Web監視 Zabbix Agentによる監視  - リソース監視  - ログ監視  - プロセス監視 Java JMX監視 Windows WMI監視 SNMP/SNMPTrap監視 ZabbixProxyを利用した 多拠点統合監視
  13. 13. 監視対象システムの特徴を知る ● 監視に求められる要件 ○ 監視対象の機器数 ○ 監視頻度 ○ 監視対象機器毎の監視アイテム数 ○ 監視結果の保存期間 ■ 生の監視結果の保存期間 ■ トレンド(1時間毎の平均/最大/最小)情報の保存期間 ○ 障害発生時の運用フロー つまり ● どれぐらいの時間で障害情報を知りたいのか? ● 監視結果からどういった分析をしたいのか? ● どういった運用を実現したいのか?
  14. 14. どうすればうまく使えるのか?
  15. 15. うまく使うとは? 状態の変化をZabbixで確実に検知できる 低コストで監視環境の構築や運用作業が実現できる 担当者が見落とさないよう確実に情報を届ける ストレスフリーな安定した運用の実現
  16. 16. 構築・運用作業の低コスト化 どうすればうまく使えるのか?
  17. 17. 構築・運用作業の低コスト化 監視設定パターン化 監視設定自動化 運用自動化 テンプレート機能 ネットワークディスカバリ機能 ZabbixAgent自動登録機能 ローレベルディスカバリ機能 アクション機能 監視設定をサーバの用途 毎、種別毎等まとめる機能 IPレンジを指定して定期的に監 視対象機器の追加・削除を検知 Agent起動時に自身の情報を Zabbix Serverに自動連携 監視対象サーバ内の情報を収集し、 その内容に合わせて自動設定 条件を設定してあらかじめ登録し た運用作業処理実行コマンドを 自動実行
  18. 18. テンプレート機能の効果的活用 テンプレート作成時はマクロを効果的に活用 テンプレートに登録するトリガー設定の例  『監視アイテムAの直近の値がxxxx以上になれば障害とみなす』 サーバのスペックに応じて変えたい場面などマクロ化すると便利 {テンプレート名:監視アイテムA.last(0)}>={$THRESHOLD} 注意 ● ユーザが設定できるマクロは3種類 ○ グローバルマクロ ○ テンプレートマクロ ○ ホストマクロ ● マクロの優先順位 ○ ホストマクロ > テンプレートマクロ > グローバルマクロ
  19. 19. NWディスカバリとAgent自動登録の使い分け NWディスカバリ(ポーリング型) 自動登録(プッシュ型) Zabbix Server or Zabbix Proxy Target Server NW Device 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 (Agetホスト名)  - ListenIP (Agent稼働IP)  - ListenPort (Agent稼働ポート)  - HostMetadata (Agentに割り当てられたメタ情報 ) 起動時にプッシュ通知
  20. 20. NWディスカバリとAgent自動登録の使い分け NWディスカバリ(ポーリング型) 自動登録(プッシュ型) Zabbix Server or Zabbix Proxy Target Server NW Device 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 (Agetホスト名)  - ListenIP (Agent稼働IP)  - ListenPort (Agent稼働ポート)  - HostMetadata (Agentに割り当てられたメタ情報 ) 起動時にプッシュ通知 NW機器等の自動設定にも有効 Agent稼働マシンの用途に 応じた設定が可能
  21. 21. 例:マシンが搭載している FSのディスカバリ(vfs.fs.discovery) ローレベルディスカバリの仕組み 処理の流れ ディスカバリルールに基づき 監視対象の内部情報を収集 プロトタイプ設定に基づき 監視設定を自動登録 存在しなくなったリソース を検知して設定を自動削除 探索 登録 削除 { "data":[    {    "{#FSNAME}":"/",   "{#FSTYPE}":"rootfs"},   {   "{#FSNAME}":"/data",   "{#FSTYPE}":"ext4"},     ・・・省略 } ディスカバリ結果格納用マクロ ディスカバリ結果格納用マクロを利用して 『アイテム・トリガー・グラフ・ホスト』設定 例: ディスク使用量確認用アイテムキー設定  vfs.fs.size[{#FSNAME},used]
  22. 22. アクション機能の活用 担当者への メッセージ送信 第1ステップ 管理者・担当者 への メッセージ送信 プロセスA再起動 (カスタムスクリプト) 第2ステップ 第3ステップ 間隔 1時間 間隔 2時間 アクション実行フロー 管理者への メッセージ送信 プロセスA再起動 (カスタムスクリプト) 障害発生 注意 ● 実行ステップの管理は1つの実行条件についてのフローのみ ○ 実行ステップの途中の状態に応じて細かい分岐処理等の対応は難しい ● ジョブ管理ツール(JobScheduler等)との連携が重要に アクションはZabbix ServerおよびZabbix Agentから任意のスクリプト実行可能
  23. 23. 状態の変化を確実に検知 どうすればうまく使えるのか?
  24. 24. 状態の変化を確実に検知 ● 監視結果登録待ちキューの状態に注意 ● トリガーの条件式を効果的に活用 ● 計算アイテム・アグリゲートアイテム を効果的に活用
  25. 25. 監視待ちキュー ● 監視実行が滞っているアイテムの数を管理 ○ Zabbixインターナル監視アイテムで監視可能 アイテムキー: zabbix[queue,<from>,<to>] 例: zabbix[queue,1m,5m] → 1分以上5分未満のキューの数 注意 ● キューが溜まっている場合 ○ 遅れている監視アイテム・ ホストの状態をチェック ○ 監視実行プロセスの数を 増やす等チューニング
  26. 26. トリガー条件式の活用 ● トリガー関数、評価式をうまく組み合わせる ● 例: ディスク使用量の増加傾向 ({ディスク使用量監視アイテム .last(0)} - {ディスク使用量監視アイテム .last(0,604800)})/7 + {ディスク使用量監視アイテム .last(0)} 翌日のディスク量の予測量 過去1週間の監視結果から算出する 1日分の増加量平均 現状のディスク使用量 注意 ● Zabbix2.4から表記方法変わります ○ 旧: >、<、=、#(notを示す記号)、&(andを示す記号)、|(orを示す記号) ○ 新: >、<、=、>=、<=、not(もしくは<>)、and、or
  27. 27. 計算アイテム・アグリゲートアイテムの活用 ● 例: 分散値を監視 ○ 負荷分散しているWebサーバのロードアベレージの偏りを監視等 LoadBalancer Webサーバ1 Webサーバ2 Webサーバ3 Webサーバ4 スケールアウト 個々の値から、全体の状況を監視
  28. 28. 計算アイテム・アグリゲートアイテムの活用 アイテムキー設定例 grpavg[Web servers,system.cpu.load[,avg1],last,0] Zabbixのホストグループ単位で同じアイテムの値を計算処理 平均(grpavg)、最大(grpmax)、最小(grpmin)、合計(grpsum) アグリゲートアイテム Zabbixの監視アイテムの値を計算処理 加算・減算・乗算・除算・Zabbixのトリガー関数による計算処理 計算アイテム 計算処理例 Webサーバグループのロードアベレージの分散値の計算 「(hostAのロードアベレージ - Webサーバのホスト群のロードアベレージの平均)の2乗」
  29. 29. 担当者に確実に届ける どうすればうまく使えるのか?
  30. 30. 担当者に確実に届ける ● 不要な通知を発生させない ● 「監視できていなかった」を見逃さない
  31. 31. 不要な通知を発生させない ● トリガーの依存関係を有効活用 例: 仮想環境の稼働状態を統合的に監視 ハイパーバイザが障害 物理マシン(ハイパーバイザ) 仮想マシン群
  32. 32. 不要な通知を発生させない ● トリガーの依存関係を有効活用 例: 仮想環境の稼働状態を統合的に監視 ハイパーバイザが障害 物理マシン(ハイパーバイザ) 仮想マシン群 VMにも影響 各VMが障害 依存関係
  33. 33. 「監視できていなかった」を見逃さない ● 内部イベント情報の検知 ○ アクションの設定にて、イベントソース内部イベント選択 ○ 内部イベントの状態に応じたアクション設定を追加 アクション条件に指定できる要素 ● イベントタイプ ● アプリケーション ● ホスト ● ホストグループ ● テンプレート 指定可能なイベントタイプの条件 アイテム 通常 取得不可 ディスカバリルール 通常 取得不可 トリガー 通常 不明
  34. 34. Zabbixのこれまでと今後
  35. 35. Zabbixの進化 性能改善 機能拡充 2008/6 1.6リリース 2001/4 初版リリース 2009/12 1.8リリース 2012/5 2.0リリース 2013/11 2.2リリース 2014/xx 2.4リリース予定?
  36. 36. Zabbixの機能拡充 監視できる幅拡大 自動化の促進 2.0 2.0 2.2 2.2 ・JMX監視機能の実装 ・SNMP Trap監視機能の実装 ・VMware監視機能の実装 ・WMI監視機能の実装 ・NWディスカバリ機能の拡充  (HTTPS、Telnetによるディスカバリ) ・ローレベルディスカバリ機能実装 ・ローレベルディスカバリ機能の拡充  (ホストプロトタイプ機能の追加 ) ・ZabbixAgent自動登録機能の拡充  (ホストメタデータ機能の追加 ) ・バージョンアップ自動化機能の実装  (DBの自動アップデート機能 )
  37. 37. Zabbix2.4の新機能の一部 監視できる幅拡大 自動化の促進 2.4 2.4 ・Web監視機能の拡充 ・ローレベルディスカバリ フィルタリング機能の拡充
  38. 38. Web監視機能の拡充 ・ヘッダーをカスタマイズして監視可能に (シナリオや各ステップに対して設定可能 ) ・監視対象のページ情報の細かい指定も可能に (これまではページの全体およびリダイレクトの最終到達ページのみの監視のみ対応だった ) SSL認証にも対応 (これまではSSLのクライアント認証が 必要なページは独自の作り込みが必要だった ) Web監視が可能な範囲の拡張
  39. 39. ローレベルディスカバリの フィルタリング機能拡充 ディスカバリの結果に対してフィルタリングした上で登録すべきデータを選別できる 複数のフィルタの複合条件での指定が可能に より柔軟な自動化設定が可能に
  40. 40. まとめ 今後の拡張も益々期待されるZabbix Zabbixが適するのか?を考え ただ単に導入するだけでなく 工夫することで劇的に効果を発揮 見極めて活用を!
  41. 41. TISでは ● Zabbixの機能の検証活動や情報の発信 ● Zabbixの価値を向上させるツール開発 ● Zabbixに関するコンサル ● Zabbixの保守サポート ハイブリッドクラウド監視モジュー ル 書籍: Zabbix統合監視「徹底活用」 PostgreSQL監視テンプレート
  42. 42. TIS OSSサポートサービス 問い合わせ先 oss-sales@ml.tis.co.jp TIS株式会社 OSSサポートサービス担当窓口 ご清聴ありがとうございました。

×