参考URL
サービスアカウント作成
'IAMと管理 > サービスアカウント' 画面で新しくサービスアカウントを作成し、Credential jsonファイルを作成する。
ライブラリインストール
composer require google/cloud-logging
ログ出力
Globalではなく、対象インスタンスでのログとして保存できるようにする。
$logger = LoggingClient::psrBatchLogger('app', [
'resource' => [
'type' => 'gce_instance',
'labels' => [
'instance_id' => "69787982158********",// 対象インスタンスでのログとして保存
]
],
'clientConfig' => [
'keyFilePath' => base_path('gcp_credentials.json'),// サービスアカウント作成時の認証情報jsonファイル
]
]);
$logger->info("hoge");
確認
「Logging > Logs」画面で確認可能、このとき「GCS VM Instance」で対象のインスタンスでフィルターを掛ける。
アラート通知
Stackdriver Logging Agentをインストール
対象のインスタンスにログインして下記コマンド実行
curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
sudo bash install-logging-agent.sh
Logs-based metrics作成
「Logging > Logs-based metrics」画面の「CREATE METRIC」をクリック
下記のようにSeverityがERRORのログを集めるように設定します。
参考URL: https://cloud.google.com/logging/docs/logs-based-metrics/counter-metrics
Alert Policy作成
Stackdriverの「Alerting」画面へ行き
「Add Policy」をクリック、Condition
にはMetric Conditions
を選択し
先程作ったオリジナルのLogs-based metricslogging/user/Error
をMetricとして選択。