2016 06-03 azure-seminer

31
Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved Copyright © 2000-2016 MIRACLE LINUX CORPORATION All rights reserved 2016/06/03 ミラクル・リナックス株式会社 テクニカル アライアンス部 熊谷 理那 ※本内容は予定のため変更となる場合があります ZabbixHatoholを使った クラウド環境の運用監視

Upload: -

Post on 22-Jan-2018

858 views

Category:

Technology


1 download

TRANSCRIPT

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2016 MIRACLE LINUX CORPORATION All rights reserved

2016/06/03ミラクル・リナックス株式会社

テクニカル アライアンス部 熊谷 理那

※本内容は予定のため変更となる場合があります

Zabbix+Hatoholを使った

クラウド環境の運用監視

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

アジェンダ

セミナー環境の構築

Azureにおける監視

ZBXによる自動化モデル

Hatoholによる統合

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

セミナー環境の構築

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

環境構築のご案内

新規アカウント作成で20,500円分のクレジットが利用可能

【アカウント作成手順】https://www.miraclelinux.com/lp/ax-azure-trial#account

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

環境構築のご案内

使用環境ARMテンプレート 1https://github.com/Rkumagaya/ARM_templates/tree/master/Azure_ZBX_Server

デプロイ

Virtual Machine・ZBX Server 2.2・Asianux Server7SP1

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

環境構築のご案内

デプロイ

Virtual Machine・Hatohol 16.01・HAPI Plugin・Asianux Server7SP1

その他リソース群

使用環境ARMテンプレート 2https://github.com/Rkumagaya/ARM_Tmpl_Hatohol

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

環境構築のご案内

[ZBX]Zabbix 公式ドキュメント

https://www.zabbix.com/documentation/2.2/startZBX サポートTipshttps://goo.gl/3XnPO7

[Hatohol]インストール、機能の説明等

https://github.com/project-hatohol/hatohol/tree/master/doc開発者ブログ

https://goo.gl/yF2Hyf

Document

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azureにおける監視

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure の監視機能

-標準に監視機能が有るにはある。-しきい値ベースのアラート機能も有る

Azure の監視機能

-診断→有効で使用可能

-CPU,Network,Disk等

-WebHookやメールで通知

-監視データはストレージ アカウント内に保存

参考URLhttps://azure.microsoft.com/ja-jp/documentation/articles/cloud-services-how-to-monitor/

診断を「有効」にする

Azureにおける監視

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure 上にZabbix Serverを構築・ZabbixはOSSで高機能な監視ソフト。

- OSリソース以外にもアプリケーション、WEB監視、ログ監視等可能- 要望に応じてで無償ハンズオンセミナーを開催

・LLCのZabbixではなく、MIRACLE ZBX 2.2を使用- ミラクル提供の互換ツール

- 独自の機能拡張やマイナーver毎のパッチ提供- Windows Server 向けの監視項目が本家より拡張されている。- 3.0系からProxy, Agent間等の通信が暗号化

コミュニティ版URLhttps://www.miraclelinux.com/product-service/zabbix/oss/download

Azureにおける監視

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

LinuxVM

PaaSServer

WindowsVM ビルド用にLinuxが欲

しいな..

クラウド上のVM増減

- 必要な環境を容易に作成可能- 従量課金なら要らなくなったら消すのがベター- 監視ツールは増減に対応しなければいけない

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure 上のVM増減を検知させる

・Azure のリソース情報を知る方法はいつくか有る。

- Azure Portal :人力目視- Azure Power Shell : コマンドレットで情報取得- Azure CLI : コマンドレットで情報取得。Linux可。

Azure CLIを使用してAzure のVM増減を検知

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure CLI の準備①

- node.js環境を作るAzure CLIはnode.jsで動くのでVMにnodo.jsを入れる。

- npmを使ってazure-cliをインストール

$ sudo rpm -ivh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm$ sudo yum -y install nodejs npm --enablerepo=epel

$ sudo npm install -g azure-cli$ azure help

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure CLI の準備①

- こんな画面が出ればインストール完了。

info: _ _____ _ ___ ___info: /_\ |_ / | | | _ \ __|info: _ ___/ _ \__/ /| |_| | / _|___ _ _info: (___ /_/ \_\/___|\___/|_|_\___| _____)info: (_______ _ _) _ ______ _)_ _ info: (______________ _ ) (___ _ _)info: info: Microsoft Azure: Microsoft's Cloud Platforminfo: info: Tool version 0.9.12help: help: Display help for a given commandhelp: help [options] [command]help: help: Log in to an Azure subscription using Active Directory or a Microsoft account identity.help: login [options]help: help: Log out from Azure subscription using Active Directory. Currently, the user can log out only via Microsoft organizational accounthelp: logout [options] [username]help: help: Open the portal in a browserhelp: portal [options]

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure CLI の準備②

- Azure CLIから認証を行う。

-コマンドを実行すると認証用URLとパスコードが表示される。

-URL先にブラウザでアクセスしてパスコードを入力する。 ちょっとわかりづらい...

- 上記コマンドでユーザとパスワードを予め設定して認証が可能

$ azure logininfo: Executing command login/info: To sign in, use a web browser to open the page https://aka.ms/devicelogin. Enter the code HOGEP11YO to authenticate. If you're signing in as an Azure AD application, use the --username and --password parameters.

$ azure login -u [email protected] -p testinfo: Executing command login+ Authenticating...

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure CLI でVM一覧を取る

$ azure vm listinfo: Executing command vm list+ Getting virtual machines data: Name ProvisioningState PowerState Location Size data: -------------- ----------------- -------------- --------- ------------data: SP-FU-AXS7-T2 Succeeded VM running japaneast Basic_A1 data: syoshida-vdi Succeeded VM running japaneast Standard_DS1data: SU-FU-AXS7TEST Succeeded VM running japaneast Basic_A1 data: TA-N-BDTEST01 Succeeded VM deallocated japaneast Basic_A0 data: TA-N-BDTEST02 Succeeded VM deallocated japaneast Basic_A0 data: TEST-SERVER Succeeded VM running japaneast Standard_DS1data: TA-N-ZBXSV Succeeded VM running japaneast Basic_A1 data: TA-Y-VPNA Succeeded VM deallocated japaneast Basic_A0 data: TA-Y-VPNB Succeeded VM deallocated japanwest Basic_A0 info: vm list command OK

$ azure config mode arm //Azure CLIをARM(Azure Resource Manager)モードにする

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure CLI でVM一覧を取得する

- Azure CLIでは、いろいろなコマンド結果をJSONで取得出来る。

- jq等を使ってパース、これをスクリプト等に入れ込む。

Azureで実行中のVMを取得が可能

$ azure vm list --json //JSON形式で結果を出力

$ azure vm list --json | jq -c -r '.[] | select(.powerState == "VM running") | .name'

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Zabbix API でホスト一覧を取得する。

・Zabbix API-2.0から制式化されたZabbixのAPI-http経由でZabbixの様々な操作が可能に

・ホスト, アイテム等の監視情報取得・監視設定の変更・監視対象の追加, 削除

   参考URL https://www.zabbix.com/documentation/2.2/manual/api

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Zabbix API でホスト一覧を取得する。・APIを使用する為に認証トークンを取得

・ホスト名の一覧を取得

$ curl -s -XGET -H "Content-Type:application/json-rpc" -d \ '{"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"zabbix"},"id":1}' \ http://127.0.0.1/zabbix/api_jsonrpc.php | jq -r '.result'

5b6c64f48100d1ae971b2afa53bb1ee1 //認証トークン

$ curl -s -XGET -H "Content-type:application/json-rpc" -d \'{"jsonrpc": "2.0","method": "host.get","params": {"output": "extend", \"groupids": ["8"],"filter":{"status":"0"}},"auth": "402a7c740d7a36100a197ad2ed71a602","id": 1}' http://127.0.0.1/zabbix/api_jsonrpc.php | jq -r '. | .result | .[] | .host'

“test server01”“test server02”

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure_VM_List

● LINUX-SERVER● WIN-SERVER● test-server01

Zabbix_Host_List

● test-server01● test-server02 比較

test-server02

Zabbixから削除

LINUX-SERVERWIN-SERVERZabbixへ追加

・ホストリストに無い・VMリストには有る。

・ホストリストに有る・VMリストには無い。

- 2つのリストから追加対象と削除対象のリストを作成する。- 追加するホストは必ずAzure用のホストグループを作り、所属させる。- 比較用のホストリストもAzure用のホストグループでフィルタを掛ける

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Azure_VM_List

● LINUX-SERVER● WIN-SERVER● test-server01

Zabbix_Host_List

● test-server01● test-server02 比較

test-server02

Zabbixから削除

LINUX-SERVERWIN-SERVERZabbixへ追加

・ホストリストに無い・VMリストには有る。

・ホストリストに有る・VMリストには無い。

- 2つのリストから追加対象と削除対象のリストを作成する。- 追加するホストは必ずAzure用のホストグループを作り、所属させる。- 比較用のホストリストもAzure用のホストグループでフィルタを掛ける

監視対象の増減を監視することが可能に。

 ・今までの操作を好みのスクリプト等にまとめる。

- Zabbixのsystem.runやcron等で定期的に実行

- 検知したホストの登録/削除はAPI等を使う

- Ansible等でAgentインストールすることでより柔軟な監視が可能

ZBXの自動化モデル

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Hatoholによる統合

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

本社からは全サイトの状態を監視

Zabbix

Zabbix

virtual machine Azure

オンプレ環境

Zabbix

他クラウド環境

Hatoholによる統合

Azure環境・オンプレ等にZabbixを導入Hatohol上で監視画面を統合することでマルチプラットフォームの統合監視・運用を実現

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Zabbix

Nagios

fluentd

Redmine

ssh

イベント管理

変更管理リリース管理

インシデント管理

問題管理Zabbix

稼働監視リソース監視障害判定

自動起票エスカレーションステータス管理

ホスト管理資源/資産管理設定管理一括変更

ログ管理リソース状況参照

イベント通知イン

シデント登録

リモートコ

マンド問題切り分

状況表示イベント管理イベント通知

様々な運用ツールを統合し、オンプレミス環境、プライベートクラウド、パブリッククラウドな

ど環境を問わずシームレスに運用、管理を一元で行なうハブのようなソフトを目指す。

サービスデスクCeilometer

Hatoholによる統合

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Alert rule

Azure

HAPI2Webhook

メッセージのパース重要度判定

WEB UI

Hatoholによる統合

VMの監視だけでなく、SaaSの監視もAzureの監視機能を利用してHatoholに統合可能

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Hatoholによる統合

Azure Webhook WEBサーバ(受信用)

POST

Fluentd

HAPI2 Fluentd Plugin

---

launch

パース, ログ書出し

Rabbit MQ Server

Hatoholサーバ

in_tail

参考情報https://www.miraclelinux.com/tech-blog/hapi-2.0https://www.miraclelinux.com/tech-blog/g3powm

冒頭のARMテンプレート(Hatohol)内には図のような素朴なシステムが導入済み

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Hatoholによる統合

[test@MyHatoholVM ~]$ sudo systemctl start azure_trapper.service[test@MyHatoholVM ~]$ sudo systemctl start hap_fluentd.service

サービスを起動

Hatohol WEB UIの設定

ニックネーム 任意のニックネーム

リトライ間隔 (秒) 任意のリトライ間隔

パッシブモード チェックを入れる

ブローカーURL amqp://hatohol:hatohol@localhost/hatohol

静的キューアドレス test

詳細ドキュメント https://www.miraclelinux.com/labs/pdf/hatohol-azure-procedure

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

まとめ

● Azure上のVM監視はOSSの監視ツールでもより詳細な監視が可能

● VMが増減した場合も、Azure CLIやAPIを利用することで自動化できる

● 増えた監視サーバはHatoholで統合する

● エージェントが入れられないSaaS等もAzureのアラートルール機能でHatoholに統合可能

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

みらくるブログ、やってます!

MIRACLE LINUXのエンジニア達が話題の技術からディープなテクニックに至るまで、幅広く投稿してます!

今回端折ったZabbix自動化の詳細や実際のスクリプトなども後日公開予定。

http://www.miraclelinux.com/tech-blog

Copyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reservedCopyright © 2000-2015 MIRACLE LINUX CORPORATION All rights reserved

Email : [email protected] / Tel : 03-6205-9502