はじめに
みなさまが運用監視を行なっているサービスやシステムに、所謂、管理ツールが計測しないあるいはできないような固有の情報はないでしょうか?例えば、インフラという観点だと、サーバを管理責任をもっている事業部やチームの情報だったり、緊急連絡先といった情報は外すことできないのではないでしょうか?このような要件がある場合、構成管理ソリューションを導入したり、もっとアナログに台帳を手動で管理するといったことを経験された人もいるのではないでしょうか?この運用の手法は間違っていないのですが、例えば、あるプロジェクトで一時的に仮想マシンを複数適宜立ち上げて・・・というような場合、構成情報の保守は大変以外のなにものでもないですよね。
この様な場合、New Relicエージェントを用いて、主に2つの方法で、この様な煩わしさを解決することができるようになります。1つ目は、監視対象(エンティティー)にタグづけを行うことです。そして、2つ目は、エンティティーに導入されているエージェント経由でcustom attributeの設定を行うことになります。
この2つの方法ですが、あまり違いが無い様に思えますが、インフラという観点では、うまく使い分けることで、より効果的に固有情報をNew Relic上に設定することができるようになります。例えば、システム構築プロジェクトで、ミドルウェアやDBの接続性を確認するということがあるかと思いますが、ミドルウェアやDBの複数のコンテナイメージを単一サーバ上に展開した確認するといったことがあるかと思います。この場合に、1つのInfrastructureエージェントを導入することで、これらの稼働している複数のコンテナを検出し、コンテナとしてのエンティティとホストのエンティティをNew Relic上に追加します。この際に、エンティティ固有の値は1つ目の手法のタグづけを適用し、全体で共通している情報を2つ目の手法のcustom attributeで設定して頂くといった使い分けを行なって下さい。
アプリケーションのcustom attributeについては、こちらのブログをご参照下さい。取得したcustom attributeに対してNRQLを用いた可視化についても触れています。
早速、2つ目の手法であるcustom attributeの設定方法を確認してみましょう。
設定方法は、Infrastructureエージェントの設定ファイルであるnewrelic-infra.ymlファイルに直接反映したい固有情報をcustom_attributes変数を用いて記載頂く形となります。
例えば、Infrastructureエージェントを導入すると、以下の内容のnewrelic-infra.ymlファイルが作成されます。
enable_process_metrics: true
status_server_enabled: true
status_server_port: XXXXX
license_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
この内容に対して、以下の様に変更します。custom_attributes:以下の部分が差分となります。
enable_process_metrics: true
status_server_enabled: true
status_server_port: XXXXX
license_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
custom_attributes:
max_memory_size: 300000000
my_middle: xyz-billing
custom attributesを設定後、Infrastructureエージェントを再起動することで、設定が反映されます。
以下は、コンテナに関する情報を格納するContainerSampleイベントスペースに追加されたcustom attributeをData explorer上で参照していたものとなります。
取得された値は、NRQLを用いてチャート化することも可能です。補足として、設定した値も文字列として取り込まれているので、numeric()関数を活用してください。
インフラに関するcustom attributeの設定は非常に簡単に行えることがご理解頂けたかと思います。是非、独自の情報を加えて、より効果的なインフラの運用監視を実現して下さい。
次のステップ
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。