pprof は Go のプロファイリングツールです。Go プログラムのパフォーマンスを分析・改善するために使用され、Go プログラムのパフォーマンスデータを提供します。Simple Log Service が提供するフルスタック可観測性アプリケーションの Golang Pull モジュールを使用して、Go プログラムから pprof が提供するパフォーマンスデータを収集できます。また、収集したデータをアプリケーションで分析・表示することも可能です。
可観測性機能は、Go 言語向けに商用の自己開発プローブを提供します。このプローブは、より多くの機能と高い安定性を備えた非侵入型イベントトラッキングを提供します。詳細については、「Go アプリケーション監視の概要」をご参照ください。
前提条件
フルスタック可観測性のインスタンスが作成済みであること。詳細については、「インスタンスの作成」をご参照ください。
制限事項
Linux Logtail V1.7 以降のみがサポートされています。
仕組み
Go は、pprof が提供するパフォーマンスデータのための組み込みの公開メカニズムを提供します。Go プログラムで組み込みの公開メカニズムを有効にすると、Logtail は HTTP 経由でパフォーマンスデータを取得できます。

事前準備
Go プログラムから pprof のパフォーマンスデータを収集する前に、データを公開するメカニズムを有効にする必要があります。以下のコードを使用して組み込みメカニズムを有効にするか、カスタムの公開メカニズムを構成して有効にすることができます。pprof データが次のアドレスで公開されていることを確認してください:{host}:{port}/debug/pprof/Port。次の例は、ポート 8080 で pprof のパフォーマンスデータを公開する方法を示しています。
package main
import (
"net/http"
_ "net/http/pprof"
)
func main() {
// do something...
_ = http.ListenAndServe(":8080", nil)
}Logtail 構成の作成
Simple Log Service コンソールにログインします。
[ログアプリケーション] セクションで、[インテリジェント O&M] タブをクリックし、次に [フルスタック可観測性] をクリックします。
[Simple Log Service フルスタックオブザーバビリティ] ページで、対象のインスタンスをクリックします。
左側のナビゲーションウィンドウで、[パフォーマンス監視] をクリックします。
インスタンスで初めて [パフォーマンス監視] を使用する場合は、[今すぐ有効にする] をクリックします。
左側のナビゲーションウィンドウで [データ取り込み] をクリックします。[データ取り込み構成] ページで、[Golang Pull] を見つけます。
ホストのモニタリングデータ用に初めて Logtail 構成を作成する場合は、スイッチをオンにして構成ページに移動します。Logtail 構成を作成済みの場合は、
アイコンをクリックして構成ページに移動します。マシングループを作成します。
既存のマシングループがある場合は、[既存のマシングループを使用] をクリックします。
利用可能なマシングループがない場合は、次の手順を実行します。この例では、ECS インスタンスを使用します。
[ECS インスタンス] タブで、ターゲットの ECS インスタンスを選択し、[作成] をクリックします。
詳細については、「ECS インスタンスへの Logtail のインストール」をご参照ください。
重要ご利用のサーバーが別の Alibaba Cloud アカウントに属する ECS インスタンス、サードパーティのクラウドプロバイダーのサーバー、または自己管理データセンター内のサーバーである場合は、サーバーに Linux Logtail バージョン 1.7 以降を手動でインストールする必要があります。詳細については、「Linux サーバーへの Logtail のインストール」をご参照ください。Logtail をインストールした後、サーバーでユーザー ID を手動で構成する必要もあります。詳細については、「ユーザー ID の構成」をご参照ください。
インストールが完了したら、[インストールの完了を確認] をクリックします。
[マシングループの作成] ページで、[名前] を入力し、[次へ] をクリックします。
Simple Log Service は、IP ベースのマシングループとカスタム ID ベースのマシングループをサポートしています。詳細については、「IP ベースのマシングループの作成」および「カスタム ID ベースのマシングループの作成」をご参照ください。
重要Logtail をインストールするサーバーが宛先サーバーに接続できることを確認してください。
マシングループが [適用済みサーバーグループ] セクションに表示されていることを確認し、[次へ] をクリックします。
重要マシングループを作成した直後に適用すると、マシングループのハートビートステータスが [FAIL] になることがあります。この問題は、マシングループが SLS に接続されていないために発生します。この問題を解決するには、[自動再試行] をクリックします。問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合の対処方法」をご参照ください。
[データソース設定] 構成ウィザードで、次のパラメーターを構成し、[完了] をクリックします。
パラメーター名
説明
構成名
Logtail 収集構成の名前。
クラスター
クラスター名を設定します。
このパラメーターを設定すると、Simple Log Service は、この Logtail 収集構成を使用して収集された Golang パフォーマンスデータに
cluster=<クラスター名>タグを追加します。重要クラスター名が一意であることを確認してください。そうでない場合、データが競合する可能性があります。
サービス
サービス名を設定します。構成するすべての静的インスタンスは、このサービスに属します。たとえば、サービス名を sls-mall に設定した場合、構成されたすべてのインスタンスは sls-mall サービスに属します。
プロファイルホワイトリスト
収集するパフォーマンスデータのカテゴリを選択します。
収集間隔
データを収集する間隔。単位:秒。
タイムアウト
データ収集のタイムアウト期間。単位:秒。
最大ボディサイズ
収集するデータの最大本文サイズ。単位:KB。
静的インスタンス配列
インスタンス情報を追加します。情報には次の設定が含まれます:
ホスト:ホストアドレス。
ポート:収集ポート番号。
ラベル:インスタンスにラベルを追加します。
重要ラベルキーとして service を使用しないでください。
構成が完了すると、Simple Log Service は Metricstore などのアセットを自動的に作成します。詳細については、「アセット」をご参照ください。
次のステップ
Go プログラムからフルスタック可観測性に pprof パフォーマンスデータを収集した後、パフォーマンス監視機能を使用してパフォーマンスの問題をトラブルシューティングできます。詳細については、「データクエリ」および「データ比較」をご参照ください。