LoginSignup
2
0

More than 1 year has passed since last update.

New Relic REST API を使ってコードをプッシュするときにマーカー表示する

Last updated at Posted at 2022-12-01

Newrelicとは?

そもそもNewrelicとはどういうものなのか?

New Relic は、デジタルビジネスのあらゆる重要指標を観測可能にする「オブザーバビリティ(可観測性)プラットフォーム」を提供しています。デジタルビジネスを構成するアプリケーションやインフラストラクチャだけでなく、ユーザー側の顧客体験状況までをも観測可能にするため、企業はデジタルサービスの障害検知、顧客体験の低下検知、潜在的な問題やボトルネックを早期特定し解決する DevOps チームを生み出します。

全世界で15,400社以上、ならびにFortune 100企業の過半数で導入されています。日本でもすでに数百社を超えるお客様のデジタル変革を支援しています。

コードをプッシュしたタイミングをマーカー表示する

今回やりたかったことは、新しいコードをPushしたタイミングで、Newrelicの管理画面にマーカーを表示し、

修正後のコードでどのぐらいサイトの改善ができたかを明確にしたかった。

マーカーを表示するメリットとして、修正の前後のパフォーマンスを比較することができるので、修正によってどのぐらいサイトが改善されたかを明確にすることができます。

実装方法

今回は以下の工程で実装を進めてい行きました。

  • コードの修正
  • GitへPush
    • Github ActionsでHook処理を行う
    • Newrelic Rest APIを使用
  • Newrelicに連携
  • Newrelic管理画面でマーカーを確認する

Newrelic REST APIに必要な情報

  • 必須項目
    • アプリケーションID
    • Git SHA, リビジョン
  • オプション
    • チェンジログ
    • 説明
    • デプロイメントを投稿したユーザー
    • デプロイメントのタイムスタンプ

リクエストのサンプル

以下のような形式でPush時にcrulでPOSTをします。

curl -X POST 'https://api.newrelic.com/v2/applications/{application_id}/deployments.json' \
     -H 'X-Api-Key: { api-key }' -i \
     -H 'Content-Type: application/json' \
     -d \
'{
  "deployment": {
    "revision": "string",
    "changelog": "string",
    "description": "string",
    "user": "string"
  }
}'

Github Actions

プッシュを行った際に、Curlコマンドを叩く処理をGithub Actionsに記述することでマーカーを自動で生成することができます。

name: newrelic_deployment

on:
  push:
    branches:
      - '**'
  workflow_dispatch:

jobs:  
  build:
    runs-on: ubuntu-latest
    steps:            
      - name: Newleric Deployment
        if: always()
        run: |
          if [ '${{ job.status }}' = 'success' ]; then
            COLOR="good"
          else
            COLOR="danger"
          fi

          curl -X POST 'https://api.newrelic.com/v2/applications/{application_id}/deployments.json' \
             -H 'X-Api-Key: { api-key }' -i \
             -H 'Content-Type: application/json' \
             -d \
            '{
              "deployment": {
                "revision": "string",
                "changelog": "string",
                "description": "string",
                "user": "string"
              }
            }'

まとめ

今回はNewrelicのREST APIを使ってプッシュ時にCurlでPOSTする方法について紹介をしてきました。

マーカーを付けることで修正前と修正後でどのような変化があったかを明確にすることができます。

2
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
2
0