参考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
![スクリーンショット 2018-08-21 20.33.39.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F56193%2F78a8951b-3ce0-538b-a859-4575800389f8.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=3908097bf61089587b4646fab15fa951)
Alert Policy作成
Stackdriverの「Alerting」画面へ行き
「Add Policy」をクリック、Condition
にはMetric Conditions
を選択し
先程作ったオリジナルのLogs-based metricslogging/user/Error
をMetricとして選択。
![スクリーンショット 2018-08-21 19.20.09.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F56193%2F25e4f22a-1b99-7eed-1b7d-d6d264ad69c5.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=3a01c3da05f41c26f7a695f63f12589b)