昨日 Ubuntu 20.04 LTS で Bash のコマンド履歴を syslog に出力する方法を紹介しました。
実際にログを確認するときに、一々サーバにログインするのが面倒ですよね。今回は要件で GCP(GCE インスタンス)だったので Cloud Logging(Stackdriver Logging)に syslog を転送するようにしたのでその方法を紹介します。
環境
- GCP(GCE インスタンス)
- Ubuntu 20.04.1 LTS
- Bash 5.0.17
前回を参照にすでに Bash 履歴を syslog に出力できている前提ですすめます。
サービスアカウントへの権限付与
roles/logging.logWriter
が必要なので、サービスアカウントに権限を付与してください。
Cloud Logging エージェントのインストール
ドキュメント通りにやります。
$ curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh $ sudo bash add-logging-agent-repo.sh $ sudo apt-get update $ sudo apt-get install google-fluentd $ sudo apt-get install -y google-fluentd-catch-all-config-structured
再起動
$ sudo service google-fluentd restart # 動作確認 $ sudo service google-fluentd status
Cloud Logging でログ確認
「VM Instance」から「All instance_id」を選択し、フィルタで「syslog」を選択すると syslog が転送されているのがわかります。
HISTORY
みたいにキーワードでフィルタをかけるとより見やすくなります。