1
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.

本記事は New Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2023 シリーズ2 および CircleCI Advent Calendar 2023 14日目の記事です。

はじめに

開発プロセスを自動化していますか? コードは(CoPilotのサポートで?)人間が書くとしても、ビルド、テスト、リリース、デプロイが人に依存しない(担当者が会社休んでいるとか、人間関係のあれこれで頼みづらいとか)と、開発のスピードは大幅にアップしますね。

ただ、CI/CDは手作業でやっていたことが自動化されてバンザイ!というところだけに価値があるのではなく、さまざまなデータ(一日に何回ビルドしたとか、失敗したとか、時間がどの程度かかったとか、問題からの復旧にどれだけ時間がかかったかとか)をストップウォッチを使って計測したり、アンケートをとって回ったり、スプレッドシートにデータをまとめなくても、「今」の開発/運用現場の状況をリアルタイムで捉えることができるという点は、もっともっと強調されていいかと思います。

ということで、「現場の今」を可視化すべく、CircleCIとNew Relic、連携してみましょう!
(Developer friendlyな両社のサービスということもあり、どちらもフリープランで始められますよ!)

ゴール

こんなダッシュボードがNew Relic上で見られます👏
スクリーンショット 2023-12-13 224504.png

連携手順

New Relicさんのサイトにドキュメントが用意されているので、そちらをご覧ください。

本記事は公式ドキュメントと違って、

  • 日本人(人間)が日本語で書いている
  • スクショを多めに貼っておいた

といったところがプラスアルファになっていればと思います。

[CircleCI] CircleCIにログイン

まずはお使いのCircleCIにログインしましょう。まだアカウントをお持ちでなければ、毎月6000分までは無料でご利用いただけるFreeプランにぜひご登録下さいませ。今年はCircleCIも(以前はGitHubやBitbucketのアカウントでログインしていたのを)独自のアカウントを持ち出したので、サインアップの方法も私のほうでQiitaに記事を書きました。

CircleCIのログイン画面はこんな感じです。
スクリーンショット 2023-12-13 214633.png

2023年9月以前にユーザ登録された方(つまり、GitHubやBitbucketのアカウントでCircleCIにログインする方)は青い枠で囲まれた Signed up with GitHub or Bitbucket before September 2023? というリンクを、それ以降にユーザ登録された方は赤い枠で囲まれた Log In with Email ボタンをクリックしてください。

[CircleCI] ログ収集したいプロジェクトに移動する

次にCircleCIでCI/CDワークフローを実行しているプロジェクトを開きます。サンプルとしてご紹介しているのは、cci-test-yolov8-mask-model というマスクを着用している/していないを画像認識で検出し、テストするプロジェクトです。
スクリーンショット 2023-12-13 215044.png

このプロジェクトに関しては、公式ブログに私が説明した記事があるので、よろしければご覧ください。

[CircleCI] Webhook の追加

プロジェクト画面の左側サイドバーに Webhook という項目があるので、こちらをクリックします。すると、下のような画面が表示されるので、Add Webhook ボタンをクリックしてください。
スクリーンショット 2023-12-13 215119.png

[CircleCI] Webhook (CircleCIからNew Relicを呼び出す際の呼び出し先と呼び出しタイミング) を設定

Add Webhookという画面が表示されるので、必要な情報を入力します。

  • Webhook name(Webhook 名): ここではプロジェクト名の前に NewRelic_ を付けて NewRelic_cci-test-yolov8-mask-model という名前にしました。
  • Receiver URL(受け取り手のURL): https://log-api.newrelic.com/log/v1?Api-Key= のあとにライセンスキー(APIキー)を指定します。New Relicのライセンスキーは、こちらから参照可能です。
  • Secret token(シークレットトークン): CircleCIからの受信データかどうかを検証するために使用する「合言葉」。
  • Certificate verification(認証の確認): 受信ホスト(Receiver URLで指定したURLのホスト)が有効なSSL証明書を保持しているかをチェックできます。
  • Events(Webhookをトリガーするイベント): ワークフローの完了時、ジョブの完了時をそれぞれ(または両方)指定可能です。

スクリーンショット 2023-12-13 215654.png

[NewRelic] CircleCI用ダッシュボードのインストール

ここから New Relic 側の作業に移ります。New Relicにログインした状態で、CircleCI Quickstartページにアクセスすると、画面中央に Install Now ボタンが表示されているので、こちらをクリックします。
スクリーンショット 2023-12-13 215954.png

すると、インストール画面が表示されるので、Begin Installatioon ボタンをクリックします。
スクリーンショット 2023-12-13 220016.png

ここからステップを追って、インストールを進めていきます。インストールドキュメントを参照するには、See installation docs ボタンをクリックします。確認したら Done ボタンをクリックします。
スクリーンショット 2023-12-13 220037.png

最後は、CircleCI (dashboard) をデプロイした旨のメッセージが表示されるので、See your data ボタンをクリックしてダッシュボードに移動します。
スクリーンショット 2023-12-13 220100.png

[NewRelic] CircleCI用ダッシュボードを表示

先ほどのSee your data ボタンをクリックするか、New RelicのDashboardsメニューからCircleCI用ダッシュボードを選択すると、下のようなダッシュボードが表示されます。
スクリーンショット 2023-12-13 220131.png

ただし、この時点ではWebhookを設定して以降、当該プロジェクトでワークフローを実行していないのであれば、データとしては何も表示されません。実際にワークフローを実行すると、こんな感じでデータがWebhook呼び出しのタイミングでリアルタイムに反映され、表示されます!
スクリーンショット 2023-12-13 224504.png

本記事を文字で追っていると、何やらいろいろ設定作業があるなーという印象があるかもしれませんが、実際に手を動かしてみると「なんでこれまで使ってこなかったんだろう」というくらいの簡単さです。

さいごに

New Relicを使うことでCircleCIのダッシュボード以外にも開発や運用をサポートするさまざまな機能が利用可能になります。私にとっては、CircleCIのダッシュボード機能がNew Relic初利用のきっかけとなりましたが、これまでNew Relicを使ってみたかったものの、きっかけがなかったという方の参考になり、背中を押すことができていれば幸いです。

1
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
1
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?