2016 06-03 azure-seminer
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