11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Instana ObservabilityAdvent Calendar 2023

Day 11

AzureをInstanaで可視化してみた(初めの1歩:Azure 仮想マシン)

Last updated at Posted at 2023-12-11

こんにちは、Instanaユーザー会の運営をお手伝いさせていただいております、カワノです!
この記事はInstana Observability Advent Calendar 2023 11日目のエントリになります。

12月少し前になってAdvent Calendarの空き枠があったので、勢いで3日連続で枠いただいてしまいました。やっちまった。。。
そんなわけで3日もたせるために内容は薄めになっちゃってますが、よろしくお願いします。

はじめに

さて。今回のネタについて。
みなさん、AzureのシステムをInstanaでモニタリングしてますか?
私の界隈では ホスト(Linux, Win)、K8s/OpenShift, AWSへの適用、という話はよく聞くのですが、Azureに関しては、あまり耳にしたことがないのです。
きっとたまたまなのですが、とはいえなかなかAzureを触る機会がないままなので、あえてここで導入可視化にチャレンジしてみようと思います。

というわけで、「AzureをInstanaで可視化してみた」シリーズ、いってみよー!

Azureモニタリング対象 (2023/12/09 時点)

まずは、Azureのモニタリング対象を確認してみます。

Instanaに監視させたいテクノロジーがサポート対象かどうかは、以下のサイトから確認することができます。
サポートされるテクノロジーの構成およびモニター
https://www.ibm.com/docs/ja/instana-observability/current?topic=configuring-monitoring-supported-technologies
このページをAzureでブラウザ検索すればAzureのサポートテクノロジーを確認できますが、
Azureのアイコンをクリックすることで、モニター対象サービス一覧を見ることもできます。
https://www.ibm.com/docs/ja/instana-observability/current?topic=agents-microsoft-azure

モニタリング対象サービスとして、以下が記載されていますね。

  • API Management
  • App Service
  • CosmosDB
  • MySQL
  • Redis Cache
  • SQL Database
  • SQL Elastic Pool
  • SQL Server
  • Storage
  • Function (Instana日本語docだと関数、Azureポータルでは関数アプリって表現してるのですが、個人的にしっくりこない…のでFunctionって書きました)

他にも、 Azure 仮想マシン(VM)AKS(Azure Kubernetes Service) もサポートしています。仮想マシンはホストのページで、AKSはKubernetesのページでそれぞれ内容を確認できます。

注) Instanaは日々進化しています! 必ず最新ドキュメントをご確認ください。

初めの一歩:Azure仮想マシン上のWordPressの可視化

さて、まずはAzure仮想マシン上のアプリケーションをInstanaで監視してみましょう。
今回は、典型例としてWordpress一式を1つのVMに構築します。

Wordpress導入 参考blog

今回は、以下のblogの記事を参考に構築させていただきました。ありがとうございます。
Azure IaaS環境にWordPressを構築してみる 1〜4
https://cloud.nissho-ele.co.jp/blog/azure-iaas-create-wordpress/
https://cloud.nissho-ele.co.jp/blog/azure-iaas-create-wordpress-2/
https://cloud.nissho-ele.co.jp/blog/azure-iaas-create-wordpress-3/
https://cloud.nissho-ele.co.jp/blog/azure-iaas-create-wordpress-4/

VM作成、Wordpress導入

OS選択

Azure仮想マシンをInstanaで監視する場合は、Azure仮想マシンにInstana Agentが導入可能なOSを選択していることが条件となります。
ドキュメントは以下です。
https://www.ibm.com/docs/ja/instana-observability/current?topic=agents-installing-host-agent-linux
今回は、私の好みで Ubuntu Linux 22.04 を選択します。

VM作成

Azure Portal で VMを作成します。
詳細手順は参考blogを確認いただくとして、以下の内容でVMを作成しています。
CreatedLinuxVM.png
(VMのスペックは参考blogと同じです)

Wordpressインストール

次に、Wordpressをインストールしてみましょう。
上記参考blogを参照しつつ、導入します。
この記事ではそのステップは省略しますが、以下に気を付ければ、大体15分くらいでインストールは完了しました。

  • apacheの設定ファイルを編集する時はsudoを忘れずに
  • mysqlのGRANTに使うユーザ名は、'wordpressuser'@'localhost'とlocalhostまで明記すること
  • DB名はT_WORDPRESS_SITEINFOで統一

導入後 Webサイトにブラウザでアクセス、初期設定を行うと以下の画面が表示されます。
2023-12-09 11.40.09 74.226.209.234 b6a4b2bb3fc4.png

これでWordpressのインストールは完了です。
ちなみに、Wordpressはざっくり php(apache)MySQL で構成されています。これがInstanaでどう見えるか?楽しみですね。

Instana Agent インストール

Azure仮想マシンをInstanaで監視する場合、他のLinuxホストと同様にVMにAgentをインストールします。
Instanaのホーム画面右上の「エージェントのデプロイ」ボタンをクリックし、「エージェントのインストール」画面を開きます。
Deploy_Agent_Button.png

今回は、UbuntuをOSとして選択していますので、OS > Linuxを選択します。
選択肢はデフォルトのままで、「インストールしてサービスとして開始 (SystemD ベースのシステムでのみサポート)」をチェックします。(環境要件によって選択ください)

ワンライナー コマンドをコピーします。
Install_Agent_on_LinuxVM.png

VMにSSHログインし、管理者ユーザでコピーしたワンライナーを貼り付け、実行します。
Install_Agent_Console.png

この時、何か問題が発生したらまずこちらをチェックしてみましょう。
https://www.ibm.com/docs/ja/instana-observability/current?topic=agents-installing-host-agent-linux#potential-problems-during-installation

導入後の動作確認は<instana agent install dir>/bin/statusを実行します。<instana agent install dir>のデフォルト値は/opt/instana/agentです。
agent_status.png

…runningと出ていれば動作OKです。

以上でInstana Agentのインストールは完了です。

Agent可視化確認

まずはAgentがInstanaにどのように認識されているか確認しましょう。
Instanaのメニューから「その他」>「エージェント」を選択します。
Agent_Discover.png

インストールしたAgentがリストに表示されています。FQDNリンクをクリックすると、詳細を見ることができます。
Agent_Display.png
Agentが導入されているホストのCPU負荷やメモリ、Agentの利用しているJVM(Instana AgentはJavaVM上で動作しています)の情報を見ることができます。

画面の一番下まで行くと、Instana Agentのログを見ることもできます。(このログは、ホストにインストールされたInstana Agentのログファイルの中身です)
Agent_log1.png

これを見ると、MySQLの情報を取得しようとしてErrorになっていることがわかります。
'root'@'localhost'でアクセスしようとしてエラーになっています。

確かに、Instana AgentにMySQLの接続情報を何も書いていません。
Instanaは、デフォルトで'root'@'localhost'にパスワード無しで接続を試みるようです。
今回はパスワードを設定していますので、Instana Agentの設定ファイルを更新します。

設定ファイルは<instana agent install dir>/etc/instana/configuration.yamlです。
instana_conf_dir.png
設定ファイルでmysqlで検索し、コメントアウトを外し、接続情報(ユーザ名とパスワード)を入力します。(ここでは例としてrootを指定しています)
instana_agent_mysql_edit.png

編集が終わったら、再度InstanaのAgentログ画面を見てみましょう。
Agentは設定ファイルが更新されたら自動的に設定ファイルのreloadを行なってくれます。
ログにもそれは記載されています。
Agent_log2.png

数分経過してもMySQLのエラーが出なくなりました。無事、MySQLに接続されているようです。
Agentの設定はOKのようです。
では、アプリケーション・ホストの可視化状況を見てみましょう。

インフラストラクチャー・アプリケーション可視化確認

インフラストラクチャー

では、Instanaのエージェント画面から「メニュー」>「インフラストラクチャー」を選択します。
そうすると、インフラストラクチャーマップが表示されますが、Instana Agentの情報は表示されたままになります。
Agent_on_inframap.png

ここで、右上のペンギンマークをクリックしてみます。
host_on_infra.png

そうすると、今回Instana AgentやWordpressをインストールしたホスト(VMのOS)の情報が表示されるようになります。
HostDetail_on_Infra.png

「ダッシュボードを開く」でホスト(VMのOS)情報の詳細を参照できます。
HostDash_on_Infra.png

アプリケーション

インフラが可視化できたことは確認できましたが、アプリはどうでしょう。
本当はダッシュボード左上の「スタック」からアプリケーションサービスを辿ることができるのですが、今回私が利用しているInstana環境は全世界のさまざまなエンジニアが検証に利用している環境であるため、非常に重くなってしまっています。(=待ちが長い…ので、待ってられない)

そのため、今回はVM名「instana-vm1」からサービスを絞り込み、アプリケーション「instana-vm1」を作ります。
「メニュー」>「アプリケーション」をクリックし、右下の「+ADD」から「新規アプリケーション・パースペクティブ」を選択します。

フィルタ条件Host > Name = instana-vm1を設定・作成します。
appset1.png
appset2.png

数分後、以下の様にアプリケーション内にサービス一覧としてphpMySQLを確認できるようになりました。
app_on_app.png

ちゃんとゴールデンシグナルの状況を把握できます。
php_on_app.png

MySQLは上位ステートメントを見れるのが便利ですよね。
mysql_on_app.png

依存関係もご覧の通り、ばっちりです。
depend_map.png

こんな感じで、wordpress(php+mysql) on Azure仮想マシンも、簡単に可視化できることが確認できました。
こちら、Azure仮想マシン上で行いましたが、実はこの手順はクラウドと関係のないLinuxサーバでも全く同じ手順を辿ることができます。

(そういう意味だと、あんまりAzure感出せなかったですねw)

皆さんも、ぜひ可視化を試してみてはいかがでしょうか?

11
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?