sidetech

インフラエンジニアの寄り道メモ。

GrafanaでAzure Monitorを見てみる

あんまり例がないようなので?

f:id:hunter1014:20190918231634p:plain

Azure MonitorのデータをGrafanaで直接見ることが出来ます。

Azureの管理画面で見ればええやんってのもありますが、自分が欲しい時間帯のメトリックだけを表示させたい・・・とかには標準品では役不足です。

 

いやいや、Grafanaって何?っていう人は・・・

grafana.com

で、少し調べてくださいませ。カックイイ感じのグラフをグリグリやれるヤツです。

 

てことで、最近流行り?のGrafanaで何処までできるのか、ちょっと試してみた系です。まだ凝ったことまでは出来ないです・・・勉強時間が足りない・・・。

私が試している環境は”Grafana v6.3.5(67bad72)"で、Windows Serverにインストールしているものになります。

 

Azure Monitorとどのように連携するのかは・・・

qiita.com

こちらを読んでいただければ、なんとなくできます。

 

Grafanaは、ダッシュボードという公式の物とコミュニティの物を使ってある程度、グラフの汎用品を利用することが可能です。もちろん1から頑張ることも可能です。

https://grafana.com/grafana/dashboards

この中からAzureに使えそうなのをピックアップするんですが、これがまた結構な確率でそのまま動かない(苦笑)。

ただ、Grafana学習の最短距離は、数々の有志が作成したダッシュボードを解析することが理解の近道のような気がします。

 

て・・・事で・・・完成しました。

f:id:hunter1014:20190918232809p:plain

なんとなくシュッと出来たかな?まだ細かい単位的な部分は怪しい所もあります。

世間のサンプルだと、中々”Variables"の設定をしてという参考例が少ないと思うので、そこも少し紹介します。GrafanaはVariablesを駆使出来ないともったいないですよね。

でも中々自分が思うサンプルがなくて苦労する部分でもありますね…(^^;

 

今回は、Variablesを利用して、リソースグループの選択と、リソースネーム(vm)の選択ができるようにしました。内部ではネームスペースは固定にしています。

f:id:hunter1014:20190918233549p:plain

ネームスペースは”Microsoft.Compute/virtualMachines"を使っています。
ネームスペースで何のメトリックが取れるかは・・・

docs.microsoft.com

こちらでご確認ください。

ただーし・・・

f:id:hunter1014:20190918233914p:plain

私の努力不足なのか、拾えそうなのは上記の通り。
おそらくリソースグループを軸にしてしまっているからかな?!?!
ちょっとまだよくわかっていないです。Grafanaがどこまでできるのか、もっとできる子なはずです。

 

f:id:hunter1014:20190918234044p:plain

てことで、Variablesの設定内容です。これね・・・この画面だけじゃ詳しい設定内容が分からないんですよね・・・。

一応、参考で載せます。正解かどうかの保証はしません!

f:id:hunter1014:20190918234612p:plain

取得値が間違っていなければPreviewに欲しい情報が表示されるので、ここを見ながらセッティングする感じですね。あと先にVariables済みじゃないと式が使えなくなるので、順番も大事みたいです。

f:id:hunter1014:20190918234751p:plain

f:id:hunter1014:20190918234802p:plain

こんな感じで今回は設定しました。

しかしこの方法では弱点が1つあるっす。後ほど説明します。

まずはどうしてこいうしたかですが・・・参考にしていたダッシュボードのデータを見ていたからかもしれませんが・・・

f:id:hunter1014:20190918234927p:plain

クエリーにAzure Monitorを選ぶと、上記のような項目が最初からセットされるんですよ。。。なので必然と・・・こうなった・・・という感じです。

 

しかし、ネームスペースの条件を変更すると・・・

f:id:hunter1014:20190918235158p:plain

AzureVMのネットワークインターフェースってバインド型?なので、VMと紐づけて・・・という表現がちょっとスグに思いつかなかった。。。orz

 

他にもpublicIPAddressというのもあって、これはDDoSのパラメータとかも取れるようで面白そうなんですけど・・・VMマッピングするにはVariablesで計算式を考えないといけないんで・・・f:id:hunter1014:20190918235333p:plain

今回はパス!!


てことで「Microsoft.Compute / virtualMachines」のメトリックだけいけそうなやつをまとめた感じですが・・・

https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftcomputevirtualmachines

 

ぱっと見は良いんですが…
コレジャナイ感半端ないです・・・Orz

これなら、まだAzure インサイトで見たほうがいいかな…。

この取得したデータからはディスクのI/Oに対する危機感は持てますが、例えばディスク使用量が分からんす。ネットワークもピンと来にくい。最近のMiBとかGiB表現も好きじゃないですが、Bytesじゃグッと来ないですね。困った(^^;

 

Grafanaで困るのは、取得データの単位をどうするべという所と、CurrentなのかMaxなのかMinなのかAveなのかを取得時と表示時に考えなければならないです。

取得方法によっては、計算式を使って加工ができます・・・がAzure Monitorでの連携取得の場合、どこに計算を落とすのかがちょっとピンとこなかったです。

もっと他にとれるデータがあればいいんですけど。。。

Azure インサイトのデータが欲しいですね。そうすれば、Prometheusのwmi_exporterとか使わずに済むんですが。Agentがすでに4つぐらいぶち込んでいるので突っ込みたくないなぁ・・・もうちょっとお勉強が必要そうです。