ドッカーコン

Webアプリケーション開発者の支援:Docker DesktopとGrafana Cloudの可能性を解き放つ

Muhammad Shahzeb 氏 (ソフトウェア開発者、Grafana Labs)

2023年11月19日収録
Docker Desktop と Grafana Cloud を使用して、統合されたオブザーバビリティ ステージング環境で開発環境をすばやく立ち上げる方法を学びます。

写し

この講演の冒頭では、検証開発と、それにオブザーバビリティを追加する方法について説明します。

私自身について少しお話ししますと、私はShahzebで、Grafana Labsでシニアソフトウェア開発者として働いています。 Grafana を使用したことがある人は何人いますか? ええいいです。 もう2年近く使っています。 全体として、私はデプロイ、開発、統合の分野で8年以上の実務経験があります。 そして、Grafana Cloud用のDocker Desktop拡張機能を開発しました。 Docker Desktop 拡張機能についてよく耳にします。 彼らは本当にクールです。 また、Docker Desktop を Grafana Cloud に簡単に接続できる拡張機能を開発しました。

また、ReactやNode.jsなど、さまざまな技術での開発経験が5年以上あります。 私はパキスタン出身で、ここから約 8マイル、000 マイル離れており、故郷とは時差が約 12時間です。 私にとっては少なくとも真夜中のようなものです。 私はGrafanaでリモートで働いています。 私たちはリモートファーストの会社であり、 50以上のさまざまな国が私たちと協力しています。 そして、国によって文化は違います。 私の国のおもしろいことに、私の家族の 90%は、私が家で働いているので失業していると思っています。 なぜなら、リモートワークは実際には概念ではないからです。 しかし、私たちはそこにたどり着いています。 それでは、議題に移りましょう。

目次

    Webアプリケーションにおける可観測性

    Webアプリケーションで可観測性が重要である理由について説明します。 Docker Desktop を使用した Web アプリケーションのセットアップを紹介します。Docker Desktop を Grafana Cloud に接続し、拡張機能を介して追加の Grafana 統合を有効にします。 次に、Grafana と Docker Desktop のこの組み合わせを使用して、このアプリケーションのロード テストを行う方法も確認してください。 最後に、環境全体がどのように設定されているか、そしてそれを使って何ができるかを全体的に把握します。 ですから、早速ですが、これはこれから何が起こるかを示すためにここにいるのではありません。 今はこれについて話すつもりはありません。 少しずつ、一歩ずつ構築していきます。 しかし、これはこれから起こることのプレビューのようなものです。

    Webアプリケーションでオブザーバビリティが重要なのはなぜですか? この重要性を示すために、業界で非常に人気があり、非常に広く使用されている事実をいくつか引用します。 Googleは 0を見つけました。5 秒の遅延により、リピート トラフィックが 20% 減少します。 そして、それは人々が去った後も続きました。 同様に、Amazonは、サイトの読み込みが 100 ミリ秒遅くなるごとに、収益が 1%減少することを発見しました。 そして、彼らの収益は、今は数十億ドルだと確信しています。 また、ウォルマートは、Webページの読み込みパフォーマンスに基づいて、コンバージョン率が大きく異なることを発見しました。 これら3つはすべて、Webアプリケーション、Google検索、Amazon、Walmartについて話しています。 また、アプリケーションが常に稼働し、最適なレベルで実行されていることを確認することがいかに重要であるかが示されており、これはオブザーバビリティを通じて実現できます。

    一般的に、世界中で、アプリケーション開発ワークフローがどのように機能するかは、設計を行うことです。 開発を行います。 テストを行います。 ライブ配信は行っています。 そして、すべてがライブになると、サポートマネージャーがやってきて、これをどのように観察するかを考えます。 これは、私たちが持っているすべてのツールのために、私たちが今それを行うべき方法ではありません。 私たちの目的は、このオブザーバビリティの部分を開発段階に戻して、アプリケーション開発と並行してすべての監視インフラストラクチャを開発できるツールを利用できるようにすることです。 今日は基本的に、Docker Desktop と Grafana Cloud 拡張機能を使用してそれを行う方法を紹介します。

    デモ

    簡単に言うと、私たちのWebアプリケーションは非常に単純なWebアプリケーションです。 Docker Desktop内で実行しているReactフロントエンド、Goバックエンド、MySQLデータベースがあり、それらはすべてNginxプロキシを介して提供されています。 いいねの点で簡単にお見せしましょうので、これはスライドではなく、デモになります。 さっそく始めましょう。 繰り返しになりますが、このカンファレンスでも誰もが Docker Compose について話しているので、私もcomposeファイルを持っています。 Goバックエンド、データベース、MySQL、Reactフロントエンド、およびプロキシを定義します。 Compose ファイルについてはすでに多くのことを聞いたことがあると思うので、詳細には触れません。 Docker Compose でアプリケーションを立ち上げるだけです。

    したがって、すべてのコンテナが実行されていると表示されます。 そして、現在ローカル osport.tv にあるWebアプリケーションにアクセスすると、 実行中です。 したがって、これは非常にシンプルなReactWebアプリです。 それはあなたが投票をすることを可能にします。 リセットして、再度投票することができます。 そして、最後の人がいつ投票したかのリストのように、テストのさらなる目的だけを見ることができます。 Docker Desktopを使用した非常にシンプルなセットアップで、先に進むことができます。 そこで、このアプリケーションを Grafana に接続します。 私たちはそのようにそれを行うことができます。

    Grafana への接続

    Grafanaは非常に人気のあるオープンソースソフトウェアです。 これは、オープンソースソフトウェアとして長年にわたって存在してきました。 しかし、一般的に、人々はGrafanaに接続してデータを取得するのに苦労しています。 そのため、何年にもわたって非常に簡単にしました。 これは、アプリケーションを Grafana に接続し、メトリックの送信を開始し、あらゆるものを監視する最も簡単な方法の 1 つです。 Grafanaデスクトップ拡張機能をインストールするだけです。 Grafana クラウドへのメトリックの送信が開始されます。 それをどのように行うことができるか見てみましょう。

    Grafana Cloud には、非常に寛大な無料利用枠があります。 サインアップしたい場合は、サインアップして無料のアカウントを作成してください。 Google、GitHubなどからログインするか、新しいアカウントを作成するだけです。 Grafana Cloud のセットアップが完了すると、次のようなインスタンスが表示されます。

    ここには「インフラストラクチャ統合」というセクションがあり、ここに「add new connection」と入力するだけで簡単にアクセスできます。 接続ページは、Grafana を世界中のほぼすべてのデータ ソースに接続できる包括的なページのようなもので、さまざまな方法を提供します。 たとえば、検索接続から始めるとします。 私はDockerについて話しているので、2つの統合があります。 1つはDockerエンジン自体用です。 そして、1つは特にDockerデスクトップ用で、これを簡単に接続できます。

    Docker Desktop の統合

    Docker Desktop の統合から始めましょう。 このDockerDesktop統合をインストールする前に、GrafanaCloud拡張機能をインストールする必要があると書かれています。 したがって、Docker Desktopにアクセスして、拡張機能マーケットプレイスにアクセスして参照するか、上部の検索バーを使用してGrafanaを検索できます。 拡張機能に移動すると、そこに Grafana Cloud 拡張機能が表示されます。 すでにインストールされています。 私はそれを開くつもりです。 ここでは、Grafana Cloudに戻って、基本的に資格情報を取得してここに配置する必要があります。 インストールを押すと、新しいオープンAPIトークンを作成するか、ユーザーの既存のAPIトークンのようにするように求められます。

    新しいものを作成しましょう。 DockerConのように言ってから作成します。 そして、APIキーを生成しました。 それは私がそこに入れる必要がある接続変数を私に与えました。 したがって、それらをコピーして貼り付けるか、Grafana Cloudで直接開く非常に簡単なショートカットがあります。 そして、Grafana Cloud への接続をクリックします。 数秒で、Grafana Cloud への送信が開始されます。 次のステップでは、接続をテストする必要があります。 これにより、エージェントがDocker Desktopからマシンにすべてのメトリックを送信していることが通知されます。

    ダッシュボードの表示

    UI について少し説明すると、UI には [View Dashboards] ボタンがあります。 ステータスを再度確認できます。 基本的にすべてのメトリックをクラウドに送信しているコンテナであるGrafanaエージェントのログを確認できます。 また、統合の構成に使用される構成を確認することもできますが、これについてはさらに詳しく説明します。

    そこで、[View Dashboards] をクリックします。 ダッシュボードはいくつかありますが、最も重要なダッシュボードは、Docker Overview、Docker Logs、Node Overview を開くだけです。 これは基本的に、Docker Desktop マシン内で実行されている現在のコンテナーに関するメトリックを提供する事前構築済みのダッシュボードです。 したがって、6つのコンテナ、6つのイメージがあります。 CPU使用率やその他多くの指標を確認できます。

    当社のインフラストラクチャ統合は、基本的に出発点です。 すでに非常にクールなダッシュボードが事前に構築されていますが、簡単に編集、変更、必要なものを追加できます。 また、Docker ログ ダッシュボードに移動すると、すべてのコンテナーからログ ファイルも収集していることがわかります。 完全なログファイル、エラー、警告など、あらゆるものを確認できます。 また、Docker Desktop 内で実際に実行されている実際の Linux 仮想マシンを監視することもできます。 そのため、Dockerエンジンは実際にはマシン上で実行されません。 これは、Docker Desktop の一部である Linux 仮想マシン内で実行されます。 これらは、その Linux 仮想マシンのメトリックです。

    その他の統合

    先へ進む。 Docker Desktop をインストールしたので、Docker と Linux の 2 つの統合がすぐにできました。 しかし、より多くのインフラストラクチャ統合を可能にして、アプリケーションのより多くの側面を監視することもできます。

    このアプリケーションのより多くの部分を監視する方法を見てみましょう。 Go統合、Nginx統合、MySQL統合をインストールして、これら3つのコンポーネントすべてを個別に実際に監視します。 どうすればいいですか? 新しいタブをもう一度、上から開き、新しい接続を開き、Nginxを検索します。 次に、基本的に、少なくともGrafanaエージェントを実行するオプションを提供します。 私たちの場合、GrafanaエージェントはDocker Desktopアプリケーション内ですでに実行されているため、実際にはスキップできます。 ここでこの部分に直接行くことができます。

    これは前提条件です。 基本的に、Nginxがこの形式でログを表示するために、Nginxの設定を行う必要があり、その後、統合作業を行います。 しかし、私はすでにそれを構成しています。 したがって、先に進み、表示される統合スニペットに従って、統合を有効にします。 ここにローカルホスト名を書き込むと、環境に行を挿入することを示すこのジョブスニペットが表示されます。 しかし、この統合は、ログファイルを見ることで実際に機能します。

    Dockerダッシュボードを通じて、Nginxのログファイルをすでに収集しています。 そのため、このダッシュボードを直接開くことができます。 コンテナをフィルタリングし、プロキシコンテナを確認します。 そして、Nginxコンテナのさまざまなメトリックが表示されていることがわかります。 総リクエスト数が 217Kなのは、朝からテストしているからです。 また、リクエスト 244 HTTPステータスや、そのようなリクエストもあります。 それがNginxです。 次に、別の統合に移ります。 これで、基本的に新しい接続を追加できます。 MySQL統合を検索します。

    繰り返しになりますが、MySQL統合にはいくつかの前提条件があります。 ユーザーまたは読み取り専用ユーザーを作成し、特定の構成を行う必要があります。 すべてはドキュメントに記載されています。 それはすべてUIにもあります。 インスタンス名(通常はシステムのホスト名)を追加する必要があります。 しかし、基本的にこれを一意に識別することは何でもかまいません。 そこで、私はそれをDocker Desktopと呼んでいます。 繰り返しになりますが、すべてのメトリックが必要なので、構成が簡略化されます。 これで、統合の下に、この統合を有効にするためにこのスニペットを追加する必要があると表示されます。 この構成は、基本的には Grafana エージェントの構成であり、こちらで入手できます。

    構成を開くと、統合セクションがあることがわかります。 また、3つの統合のうち2つ、CAdvisorエージェントとNodeExporterはすでに有効になっています。 これで、他の統合も有効にできます。 時間を節約するために、適切なDBユーザーとパスワードを含む、すでに持っているスニペットをコピーします。 これ。 ここにコピーしてください。 くぼみに少し注意する必要がありますが、すべて問題ないはずです。 構成を保存すると、入力した新しい構成で Grafana エージェントが再起動されます。 そしてまもなく、この統合のメトリックも受信し始めるはずです。

    もう1つ忘れていたのは、ドキュメントにも記載されていることですが、拡張機能をインストールすると、基本的にDockerDesktop内にコンテナがインストールされます。 また、これらのコンテナは通常、ベースマシンのネットワークポートにアクセスできません。 あなたがしなければならないのは、このコマンド、Docker Desktop拡張機能であるDockerネットワーク接続をブリッジに実行することです。 これは実際に、エージェント拡張機能をマシンのネットワークに接続します。 その後、マシンのすべてのポートにアクセスし、必要なメトリックを監視できます。

    先に進んで、MySQL用のダッシュボードをインストールしましょう。 そして、時間の都合上、まだログ統合を有効にしたので、MySQLに行きましょう。 ここでは、すべてのMySQLメトリックも表示できることがわかります。 現在のQD数/秒、スレッドアクティビティ、ダッシュボードで利用可能なさまざまなメトリックがすべて表示されます。 そのため、非常に簡単に、統合の別のコンポーネントの可観測性を有効にしました。

    最後にもう1つ。 Go統合を有効にします。 もう一度、新しい接続を追加します。 私はGoに行きます。 繰り返しになりますが、Goの場合、GoExporterがPrometheusメトリックの公開を開始できるようにする方法に関するいくつかの前提条件があります。 ご覧のとおり、私のアプリケーションのスラッシュ メトリックの部分では、Go アプリケーションは、統合が想定している Prometheus スタイルの形式でメトリックを既に出力しています。 私がする必要があるのは、エージェントにこのエンドポイントをスクレイピングして、これらすべてのメトリックを取得し、Grafana Cloudに送信するように依頼することだけです。 ここでは、完全な構成をコピーします。 そしてまもなく、Golangのメトリクスも得られるはずです。 そのため、テスト接続の部分をスキップして、ダッシュボードに直接移動します。 さて、ジョブは統合に行くべきで、インスタンスはDocker Desktopであるべきです。 さて、それらを並べるには、ランタイムメトリックを表示、次、次へと進めます。

    そのため、この 1 つの拡張機能を使用して、基本的に 5 つの異なるダッシュボードを作成し、アプリケーションのさまざまな側面をすべて表示できるようになりました。 Linux VM が表示されます。 Nginxの指標がわかります。 MySQLのメトリクスとGoのランタイムのメトリクスも確認できます。

    話を戻します。 これで、ダッシュボードも有効になりました。 アラートについては触れていませんが、アラートも Grafana の非常に大きな部分を占めています。 基本的に、すべての統合で事前構築済みのアラートを提供し、メトリックのいずれかがおかしくなった場合にさまざまなアラームをトリガーして送信します。 また、カスタムアラートを作成したり、これらの統合に新しいアラートを追加したりすることもできます。

    Grafana パフォーマンス テスト

    すべての監視部分が完了したので、先に進んで、Grafana Cloudの別の非常に便利なツールであるK6 Performance Testingを見てみましょう。 ご存じのとおり、CLIを使用して、いくつかの簡単なテストケースを使用して、アプリケーションの負荷テストを行うことができます。 さて、K6 Testing エージェントをマシンにインストールし、それを Grafana Cloud に接続してから、このアプリケーションをロードします。

    Grafana Cloud に戻り、再び新しいタブを開きます。 私の指標が入ってくることを確認するだけです。 はい、大丈夫です。 ここでも、上から検索すると、パフォーマンステストを検索すると、K6 Grafana Cloud コンソールが開きます。 ここで、新しいプロジェクトを作成できます。 Web アプリ、DockerCon 2023という名前を付けて、このプロジェクトを作成できます。 このプロジェクトを作成すると、まだテストが作成されていないと表示されます。 それでは、テストを始めましょう。

    最初のタブは、すでに実行したことですが、K6 エージェントをインストールすることです。 そのため、K6 エージェントはMac、Linux、Windowsで利用でき、セットアップ方法とクラウドインスタンスでの認証方法に関するすべての手順が提供されます。 次に、基本的には、単純な K6 テスト スクリプトを作成できることも通知します。 これは非常に単純なJavaScript構文であり、直接APIリクエストからブラウザベースのSeleniumタイプのテストまで、あらゆる種類のテストを記述するために使用できます。 次に、「わかりました、テストを実行してください」と表示されます。 それでは、コードリポジトリに戻りましょう。 ここでは、3つの異なるテストがあります。 テスト1.jsを開いてみましょう。 新しいプロジェクトを作成したので、その中に正しいプロジェクトIDがあることを確認したいだけです。 このプロジェクトIDをコピーし、環境ファイルに設定して、ここに配置します。

    Web アプリケーションのテスト

    これで、Webアプリケーションのテストを実行する準備が整いました。 まず、このテストスクリプトを見ていきましょう。 基本的には、私には仮想ユーザーがいるということです。 仮想ユーザーは、基本的にテスターの 1 つのインスタンスです。 つまり、仮想ユーザー 100 、このアプリケーションは、アプリケーションで同時に 100 要求で実行されることを意味します。 最大期間 (このテストを実行する時間) を設定できますが、これは 10 秒に設定しています。 そして、テストに名前を付けて、基本的にテストを定義します。 私のテストでは、ポート 80でローカルホストアプリを開き、1秒間スリープしています。 それでは、実行してみましょう。 さて、コマンドは、ここが少し下がっているのがわかると思います。 それは「k6 run — out cloud k6-tests/test1.js」です。 つまり、このテストを自分のマシンでローカルに実行し、すべての結果をクラウドに送り返す必要があります。

    クラウドから実際にテストを実行できる別のモードもあります。 ただし、そのためには、Grafana サービスがアクセスできるパブリックな場所でアプリをホストし、クラウドから直接テストを実行する必要があります。 私のアプリは今私のローカルシステム上にあるので、私はこの実行をローカルでテストします。 Enterキーを押すと、リクエストの送信とアプリのテストが開始されます。

    CLIでこれらの出力が表示され、1,000個のリクエストを生成でき、それらすべてが中断することなく正常に完了したと通知されました。 ただし、このレポートをクラウドにも送信したため、Grafana Cloud UI を使用して、より適切な方法でそれらを確認できます。 それで、私は自分のプロジェクトに戻ります。 この Web App DockerCon 2023が表示されます。 正しいプロジェクトに送信されたかどうか見てみましょう。 正しいプロジェクトIDを持っています。 それもそのはず。それは保存されるべきです...ライブデモの呪い。 とりあえず、新しいプロジェクトを作成してケースを設定しましょう。 もう一度クラウドにログインさせてください。 ログインに成功しました。 そして今、私はこの新しいプロジェクトIDを持っています。 直接テストに入れてみましょう。 そして、もう一度実行します。 指を交差させると、今度は実行され、結果がクラウドに送信されます。 えっと。

    これで、このオープンWebアプリテストがここにあります。 終了したことをお知らせします。 それはあなたが見ることができる多くの有用な指標を持っています。 それはまだそれが1つの重要な要求をしたと私たちに告げています。 各要求の平均応答時間はどれくらいでしたか。 何回失敗したかとか、そんな感じです。

    これは、Webアプリを開くために使用した非常に基本的な簡単なテストでした。 より複雑なテストも実行できます。 たとえば、これはバックエンドのストレス テストで、基本的にはすべてのバックエンド API に直接アクセスするだけです。 それでは、プロジェクトIDを貼り付けましょう。 そして、私のテストが行うことは、基本的に広告投票APIを呼び出し、アカウント投票APIを呼び出し、次に投票取得APIを呼び出し、そして1秒間スリープすることがわかります。 繰り返しになりますが、実行時間を短くすることができます。 テスト 2.jsを実行します。 そして、バックエンドのストレステストレポートがブラウザに表示されます。 ここにもこれがあります。

    最後のもう1つのより複雑なテストは、Seleniumブラウザベースのテストで、基本的にWebアプリを開き、親指を立てるアイコンを見つけてクリックし、テストします。 繰り返しになりますが、仮想ユーザー 10 5 秒間だけ実行し、正しいプロジェクト ID を指定して、ここで実行します。 さて、イテレーションの数が仮想ユーザーより少なくなってはならないと書かれています。 2 つの仮想ユーザーを実行してみましょう。 ユーザーが2人しかいなかったので、それは非常に迅速でした。彼らはアプリを開き、すべてのボタンをクリックするだけで、それで問題ありません。 戻ると、フロントエンドのストレステストもここに表示されます。

    アプリケーションのテスト

    さて、このセットアップで最も興味深いのは、このテストアプリケーションがあることです。 ローカルアプリ開発用のDockerDesktopがあります。 オブザーバビリティのためにGrafanaがあります。 しかし、今ではすべてを一緒に実行できます。 たとえば、私が話していることをお話ししましょう。 ここに行ってみましょう。 仮想ユニット 1000 非常に大きなテストを作成し、それを 30 秒ほど実行して、それが始まったばかりです。

    今のところ、CLIはアプリで何が起こっているかを教えてくれますが、今では、Grafana CloudやDocker Desktopの統合を通じて、これらすべての異なるメトリックを確認できます。 どのくらいのCPUを消費していますか? リクエストが増加したときのNginxサーバーのパフォーマンスはどうなっていますか? フロントエンドテストに基づいて、システムが実際にどのように動作していますか? たとえば、SQL統合を見ると、クエリの効率性、非効率性、実行している毎秒のクエリ量、システムの負荷を確認できます。 また、これらを使用して、アプリを最適化し、アプリのパフォーマンスとロード テストに対して正しく動作することを確認することもできます。 同様に、Goランタイムメトリックのように一緒に監視することもできます。

    負荷を少し増やして、今回は失敗することを確認しましょう。 そこで、仮想ユーザーを10000して、10秒間バックエンドのストレステストを行います。私はそれを失敗させたいだけです。 簡単なメモですが、これは以前はよく失敗していましたが、前回のDocker Desktopの更新では、実際には非常に優れたCPU最適化が行われました。 そして、実際に失敗させるには、多くの意見が必要です。 しかし、はい、多くのリクエストが失敗していることがわかります。 それでは、システムがどのように動作しているかを見てみましょう。 Nginxに行きましょう。 ええ、私はいくつかの 500がポップアップしているのを見ることができます。 そのため、メトリックを増やすことができます。 それがアプリの限界です。 最適化します。 より多くのプレッシャーの下で機能するようにします。 そして、これらすべての指標をまとめて見てください。

    冒頭で、オブザーバビリティ開発環境を開発環境のすぐ隣に配置することについて説明しました。 これは基本的に、スライドに戻ると、サイトの左側のセクション全体、Docker Desktop、すべてのアプリケーション、基本的には開発環境です。 そして、右側にあるGrafana、Grafana Cloudダッシュボードはすべて、オブザーバビリティ開発環境です。 したがって、これと同じ環境を使用できます。 ダッシュボードで作業できます。 新しいパネルを追加できます。 アプリに新しい指標を追加し、それらの新しいパネルを作成できます。 そして、基本的には、稼働する前に、この監視環境をすべて準備します。 ライブに移行したときに行う必要があるのは、これらのダッシュボードのデータソースを実際の本番指標に切り替えることだけです。 そして、生産指標が入ってくるようになります。 ええ、あなたはこれらのダッシュボードのようなものを持っています。 これらのテストレポートがあります。 拡張機能があり、すべてをテストできます。

    先へ進む。 基本的に、このセットアップ全体は、Docker Desktopを通じて開発されたライフサイクル全体を完了します。 そして、Grafanaで観察し、最後にK6で負荷テストを行います。 そして、これはサイクル全体のようなもので、1人の単体テストに頼る必要はありません。 実際には、さらに多くのテストを行うことができます。 アプリをより堅牢にします。 公開前の開発段階で、より観察しやすくします。 このGrafana拡張機能を使用すると、実際に 80+さまざまなインフラストラクチャ統合にアクセスできます。 Docker Desktop と Nginx は、そのうちのいくつかに似ています。 新しい接続を追加すると、統合する約 80 つの異なるテクノロジがあることがわかります。 それらすべてに、セットアップに使用できる使いやすい手順があります。 また、それらのほとんどには、Docker Desktop に直接デプロイし、テストを開始し、観察を開始し、試すことができる Docker コンテナーが付属しています。

    ドッカーデスクトップ拡張機能

    最後に、Docker Desktop 拡張機能のエコシステム全体についてですが、これは DockerCon でも主要なトピックの 1 つです。 これは、私個人にとっても、私たちにとっても大きなメリットがあります。 現在、Docker Desktop インスタンスが表示されている場合は、これら 5 つの異なる拡張機能がインストールされています。 Nginx拡張機能がインストールされており、Nginx Webサーバーを簡単に構成したり、構成を変更したりできます。 私はリソース使用量のものを持っていますが、実際にはより多くのグラフを見ることができます。 また、ログエクスプローラーと非常に便利な Dockerデバッグ ツールがあり、基調講演の後に実際に試してみたところ、非常に素晴らしいです。 実際、とても素晴らしいです。 彼らが示していた問題は、私は 10のように、 15 さまざまな時間に直面してきました。 しかし、はい、彼らが今それを持っているのは素晴らしいことです。

    繰り返しになりますが、拡張機能の構築 — 彼らは優れたドキュメントを持っています。 私たちが始めたとき、彼らは私たちを導いてくれるのにとても役に立ちました。 Grafana Cloud拡張機能は、約6か月前だったと思います。現在、 13、000 ダウンロードを超えています。 それはまた、ここにあなたの拡張機能を持つことの力をあなたに教えてくれます。 そして、基本的には誰でも無料です。 公式にはGrafana Cloudを通じて作成しましたが、誰でもDocker Desktopに任意の拡張機能を貢献でき、表示され始め、他のユーザーの助けになります。

    結論

    学んだことをまとめるために、Docker デスクトップと Compose を使用して Web アプリを実行する方法を学びました。 Grafana Docker Desktop 拡張機能をインストールし、それを使用してメトリックを監視する方法を学びました。 他のインフラストラクチャ統合を有効にして、アプリの他の部分を監視できるようにしました。 また、Grafana K6 を使用して負荷テストを行い、ローカル開発環境ですべての貴重な洞察を得る方法もようやくわかりました。 私があなたに見せていたコードは、GitHubリポジトリにあります。 公開されているGitHubリポジトリに公開しましたので、リンクを共有してみます。

    いくつかの関連リンクはDocker Desktopで、Docker にはこの拡張機能に関するブログ記事 もあります。 これを使用する方法については、インターネット上に多くの役立つ資料があります。 また、チケットを送信できるGrafana Cloudサポートもあります。 何かがうまくいかない場合は、私たちに連絡するか、LinkedInでも私に連絡してください。

    最後に、Docker チーム、Ajeet、Amy、Benjamin に感謝します。 彼らは、このDockerデスクトップ拡張機能全体を作成し、テストするのに大いに役立ちました。 それだけだと思います。 ありがとうございます。 願わくば、皆さんが Grafana Cloud をチェックし、Docker Desktop 拡張機能をチェックし、製品で使用していただければ幸いです。 ありがとうございます。

    さらに詳しく

    この記事には、DockerCon 2023のプレゼンテーションの YouTube トランスクリプトが含まれています。 「Empowering Web Application Developers: Unleashing the Potential of Docker Desktop and Grafana Cloud」は、Grafana Labsのソフトウェア開発者であるMuhammad Shahzeb氏によって発表されました。

    自分に合ったサブスクリプションを見つける

    今すぐ専門家に連絡して、Dockerサブスクリプションのコラボレーション、セキュリティ、サポートの完璧なバランスを見つけてください。