銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

sosreport 3.6 で Azure pluginが更新されました

ひとりAdvent Calendar 4日目です。

adventar.org

RHELを中心にLinuxのトラブルシューティングのための基本情報を集めるsosreportのバージョン3.6でAzure のpluginを更新するpull requestを出していたのですが、無事マージされてリリースされています。

github.com

先日英語ブログでも公開したのですが、アップデートされた新機能を紹介したいと思います。

developers.redhat.com

大きな変更点として、今迄はAzure pluginの有効化の判定が動いていなかったのですが、今回からWALinuxAgentパッケージがインストールされていれば自動的に有効化されるようになりました。-e azureというオプション指定が不要になりました。

$ sudo sosreport

また、追加で以下の2つの情報を収集するようになりました。

instance metadata

Azure Instance Metadataは実行中の仮想マシンの状態を取得するAPIです。仮想マシン内部からは認証なしに取得することができます。

docs.microsoft.com

この情報をAzure Pluginによりsosreportが収集するようになりました。 収集したデータは、アーカイブしたレポートの sos_commands/azure/instance_metadata.jsonに出力されています。

Azure RHUIへの接続の証明書情報

これはMarketplaceから起動したRHELのときのみ取得する情報です。というのも、Azure RHUIがMarketplace固有のリポジトリであるためです。もう少し詳しく説明すると、Marketplace から起動したRHELマシンは、時間課金制のOn-Demand subscriptionとものでRHELのサブスクリプションに登録されています。このサブスクリプションではユーザーによるサブスクリプションの登録作業なしに、仮想マシン起動時にサブスクリプションの有効化処理が実施され、起動と停止の時間から時間課金分のサブスクリプション費用がAzureの利用料金に加算されて請求されます。RHELというと、subscription-managerコマンドを実行して、サブスクリプションの登録解除や製品ごとのyumリポジトリーを購読したりしますが、そういう処理は不要です。何もすることなくすぐにパッケージが利用できます。ただし、逆にいうとこのRHUIに登録されていないパッケージはOn-Demandサブスクリプションでは利用できません。また、基本的にパッケージは最新のマイナーバージョン提供されるため、古いマイナーバージョンで固定して使い続けるという方法も難しくなっています。詳細については、こちらのドキュメントを参照してください。

docs.microsoft.com

sosreportの話に戻ると、そのように自動で処理されるが故に、問題が起きている場合に気付きにくいということがありました。RHUIに接続するにはクライアント証明書が必要なため、このクライアント証明書の情報と実際にRHUIに接続できるかどうかの確認結果を収集するようになりました。収集したデータは、アーカイブしたレポートの sos_commands/azure/ 以下に出力されています。

f:id:tanaka733:20181105165551p:plain

もちろん引き続き、WALinuxAgentの設定ファイルとログも収集されているので、Azure上のRHELで何が問題があれば、とりあえずsosreportを取得すると、その後の調査の手掛かりとすることができます。ぜひアップデートしてお試しください。