32
TIS株式会社 池田 大輔 (@ike_dai) Zabbix徹底活用本に 書いたこと、書けなかったこと 2014/4/12 6ZABBIX-JP勉強会

第6回zabbix jp勉強会資料

Embed Size (px)

DESCRIPTION

2014/4/12 第6回ZABBIX-JP勉強会での資料です。

Citation preview

Page 1: 第6回zabbix jp勉強会資料

TIS株式会社 池田 大輔 (@ike_dai)

Zabbix徹底活用本に書いたこと、書けなかったこと

2014/4/12 第6回ZABBIX-JP勉強会

Page 2: 第6回zabbix jp勉強会資料

自己紹介

池田 大輔

TIS株式会社 戦略技術センター

@ike_dai https://www.facebook.com/ikedai Zabbix,AWS,fluentd,Chef,JobScheduler...

名前

所属

Twitter

Facebook

興味

@ITさんで連載「今さら聞けないfluentd~クラウド時代のログ管理入門」(http://www.atmarkit.co.jp/ait/articles/1404/04/news004.html)

AWS、VMware監視用プラグイン『HyClops for Zabbix』開発(http://tech-sketch.github.io/hyclops/jp/)

Page 3: 第6回zabbix jp勉強会資料

2014/2/7 出版

Page 4: 第6回zabbix jp勉強会資料

あれ?

2013/9/18 @ITさんの記事にて

Page 5: 第6回zabbix jp勉強会資料

あれ?

2013/9/18 @ITさんの記事にて

2013/10/19 OSC 2013 Tokyo/Fallの発表にて

Page 6: 第6回zabbix jp勉強会資料

あれ?

2013/9/18 @ITさんの記事にて

2013/10/19 OSC 2013 Tokyo/Fallの発表にて

2013/11/22 Zabbix Conference Japan 2013の発表にて

Page 7: 第6回zabbix jp勉強会資料

謝罪

出る出る詐欺してすいません。。。

Page 8: 第6回zabbix jp勉強会資料

謝罪

出る出る詐欺してすいません。。。

その代わりギリギリまで2.2対応の内容を盛り込みました

Page 9: 第6回zabbix jp勉強会資料

Zabbix統合監視徹底活用

- Zabbix2.2対応- クラウド環境や仮想環境の監視を Zabbixで実施するための活用術集- Zabbixだけでなく外部ツール (fluentdやChef、GateOne等)との連携術

目次Part1物理・仮想・クラウド環境運用の基礎知識第1章 多様化するインフラ環境第2章 物理環境の監視・管理第3章 仮想環境の監視・管理 第4章 クラウド環境の監視・管理第5章 物理・仮想・クラウド混在環境の監視・管理

Part2 Zabbixによる物理・仮想・クラウド混在環境の統合管理第6章 Zabbixの監視のしくみ第7章 監視の効率性向上第8章 構成管理の効率性向上第9章 設定ファイル、ソフトウェアパッケージ管理の効率性向上第10章 ログ管理の効率性向上 第11章 環境操作の効率性向上第12章 HyClops for Zabbixの概要

ご購入はこちらから技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1Amazon : http://www.amazon.co.jp/dp/4774162884

Page 10: 第6回zabbix jp勉強会資料

今日話すこと

● 書籍に書いたことの一部紹介○ その1 VMware監視機能○ その2 ログ監視機能

● 書籍に書けなかったこと○ Zabbixのインストール手順○ Zabbix2.2の新機能

■ ローダブルモジュール機能■ WMI監視機能

● 本を書いてみて

Page 11: 第6回zabbix jp勉強会資料

書籍に書いたこと一部紹介します

Page 12: 第6回zabbix jp勉強会資料

● Zabbix2.2.0から実装された機能● Zabbix Serverのシンプルチェック監視機能を拡張● vSphere API経由(vCenterもしくはESXi)でHVやVMの情報を取得● ホストマシン毎にホストグループを自動分類● ホストの自動登録にはZabbixのローレベルディスカバリを拡張

その1 -VMware監視-概要

アーキテクチャ

ZabbixServer

vCenterServer

VMwareESXi

VM VM VM

VMwareESXi

VM VM VM

VMwareESXi

VM VM VMVMwareCache

VMwareCollectors vSphereAPI

simple check (VMwareFrequencyの頻度で)

- クラスタ情報- ハイパーバイザ情報- データストア情報- 仮想マシン情報- イベントログ情報

追加&更新

Page 13: 第6回zabbix jp勉強会資料

1. zabbix_server.confの設定

StartVMwareCollectors=1以上に設定VMwareFrequency=vSphereAPIから情報収集する頻度を秒数指定VMwareCacheSize=vSphereAPIからの取得情報格納用キャッシュメモリサイズ指定

2. vCenter Server(もしくはVMwareESXi)用のホスト登録

3. テンプレート「Template Virt VMware」割り当て

4. マクロ登録

{$USERNAME}: vCenterServerへのログインユーザ名{$PASSWORD}: ログインパスワード{$URL}: vSphereAPIのURL (例: https://hostname/sdk)

その1 -VMware監視-利用方法

Page 14: 第6回zabbix jp勉強会資料

● ハイパーバイザや仮想マシンに対応したホスト登録は自動化される● が、インタフェース情報とは連携しない● 自動登録されたホストを利用してAgent監視等が実施できない。。● 寺島さんが報告されているIssueの対応を期待

○ https://support.zabbix.com/browse/ZBXNEXT-1990

その1 -VMware監視-

注意点

● 書籍に一覧まとめました

監視できること

Page 15: 第6回zabbix jp勉強会資料

その2 - ログ監視 -

● Zabbix Agentのアクティブ監視でログ監視可能● 標準で用意されているログ監視系アイテム

○ log 単一のログファイルの監視用○ logrt ログローテートするファイルの監視用○ eventlog Windowsのイベントログ監視用

● Zabbix2.2からはログ内容の抽出もできるようになった

概要

ログ抽出

sample.log

201310161001 Info Time: 123sec201310161015 Info Time: 100sec・・・

この部分のみ抽出して監視可能※ただし、Zabbixへの保存はLogタイプなので注意(グラフ化ができない)

2.0系: log[filepath, <pattern>, <encoding>, <maxlines>, <mode>]2.2系: log[filepath, <pattern>, <encoding>, <maxlines>, <mode>, <output>]

log[/path/sample.log,"Time: (.*)sec",,,skip,\1]

正規表現によるパターン指定でサブグループが取り込めるよう設定

抽出したいサブグループの番号を指定

Page 16: 第6回zabbix jp勉強会資料

その2 - ログ監視 -

● fluentdにはfluent-plugin-zabbix※というアウトプットプラグインがある

○ zabbix_senderを使ってトラッパーアイテムに結果を登録

● これを活用すれば先程のログの中の数値情報だけをZabbixに数値として取り込み、グラフ化も簡単に可能

fluentd

ログ監視機能も充実してきているがまだ弱いところもある

fluentdと組み合わせて・・ - 必要な情報を - 適切な形で - Zabbixに取り込み - 視覚化&アラート通知を

※ https://github.com/fujiwara/fluent-plugin-zabbix

Page 17: 第6回zabbix jp勉強会資料

書籍にけなかったこと補足します

Page 18: 第6回zabbix jp勉強会資料

Zabbixのインストール手順

Zabbixを使い始めるための基本インストール手順は書いてません

Page 19: 第6回zabbix jp勉強会資料

● パッケージインストールする場合は○ http://repo.zabbix.comのものを使うのがポイント

● よく「日本語が文字化けします」とか話を聞きますが○ zabbix-web-japaneseというパッケージを入れれば解決

● 公式ドキュメントをご覧下さい○ https://www.zabbix.com/documentation/2.2/manual/installation

Zabbixのインストール手順

公式ドキュメント

ポイント

Page 20: 第6回zabbix jp勉強会資料

● Cで処理を書けばどんな監視アイテムでも拡張可能に● Zabbixの共有メモリの機構を使って効率の良い監視の実現が可能に

○ これまでのzabbix_sender多用による負荷上昇を抑えられる● Cで書くことでZabbixの本体機能として取り込まれやすくなる?

Zabbix2.2の新機能

ローダブルモジュール機能

● Zabbix2.2.0から実装された機能● Zabbix Serverのシンプルチェック監視もしくは

Zabbix Agentの監視にカスタム監視アイテムが追加できる機能● Cで監視処理を書いて、共有ライブラリ(.soファイル)を作成し読み込むだけ

概要

メリット

Page 21: 第6回zabbix jp勉強会資料

Zabbix2.2の新機能

ローダブルモジュール機能

● ソースコード取得&展開● 展開したディレクトリ内で./configure実行

○ これを実施しないとconfig.hが見つからないとかエラーがでます● サンプルコード(src/dummy/dummy.c)をコンパイル

○ src/dummyディレクトリに移動してmake実行■ エラーが出る場合、gccのオプションに-fPICを追加

● dummy.soをzabbix_server.confもしくはzabbix_agentd.confのLoadModulePathに配置

● LoadModule=dummy.soと追記してZabbix ServerもしくはZabbix Agentを再起動● あとは、Zabbixの監視アイテムにdummy.pingとかdummy.echo[“hello”]といっ

たアイテムを登録すればdummy.cに書いた処理結果が監視可能

お試し方法

Page 22: 第6回zabbix jp勉強会資料

Zabbix2.2の新機能

ローダブルモジュール機能

モジュール作ってみました!公開しました!

と発表したかったところですが。。。

Page 23: 第6回zabbix jp勉強会資料

Zabbix2.2の新機能

ローダブルモジュール機能

間に合いませんでした・・・

Page 24: 第6回zabbix jp勉強会資料

構想

ZabbixServerAWS

CloudCache

cloud module DeltaCloud

APIOpenStack

CloudStack

- インスタンス情報 ※LLDに適用可能なJSON形式で- CloudWatch等の監視サービス情報

追加&更新

VMware監視機能と同じ感じできそう

Page 25: 第6回zabbix jp勉強会資料

クラウド監視モジュール

未完成ですが・・・ ローダブルモジュール開発の参考になれば

https://github.com/ike-dai/zabbix-modules

インスタンスリストの取得とかはできるようになってます・・CloudWatch連携を実装中・・

Page 26: 第6回zabbix jp勉強会資料

Zabbix2.2の新機能

WMI監視機能

● WMI(Windows Management Instrumentation)とは?○ OSの情報とか、プロセスの情報とか、デバイスの情報とか

Windowsサーバの情報を収集する仕組み● perf_counterやproc_infoよりも更に汎用的に多くの情報の取得が可能に

概要

● 監視対象のWindowsサーバにZabbix Agentを導入● WMIサービスが動いていることを確認(通常は有効になっているはず)● wmi.get[namespace,wql]というキーでZabbix Agent監視用アイテムを登録

例. zabbix_agentプロセスの仮想アドレス領域のサイズを監視する例

wmi.get[root\cimv2, select virtualsize from Win32_Process where Name like '%zabbix_agent%']

使い方

Page 27: 第6回zabbix jp勉強会資料

Zabbix2.2の新機能

WMI監視機能

● WMIで何が監視できるか?○ このあたりが参考になります

■ http://msdn.microsoft.com/en-us/library/aa394570(v=vs.85).aspx○ wmicコマンドが便利

参考情報

C:\>wmic process where (name like '%zabbix_agentd.exe%') get name,VirtualSizeName VirtualSizezabbix_agentd.exe 93048832

Page 28: 第6回zabbix jp勉強会資料

本を書いてみて

長期間かけて書くと バージョンアップへの対応とか大変・・

Page 29: 第6回zabbix jp勉強会資料

本を書いてみて

1人で書くとかなり孤独です・・・

Page 30: 第6回zabbix jp勉強会資料

本を書いてみて

でも・・・

自分の中で改めて情報が整理できたり

新たな発見が沢山得られたので

Page 31: 第6回zabbix jp勉強会資料

本を書いてみて

おすすめです!

まずはブログからいかがですか?

Page 32: 第6回zabbix jp勉強会資料

最後に

ZABBIX-JPコミュニティの掲示板とか

たくさんの活用情報とか

とても参考にさせていただきました

この場を借りてお礼申し上げます。

以上。