GCE上のOS/アプリのログを取り込む
更新日付:2022年6月28日
運用開発グループのtateです。このブログではGoogle Cloud(GCP)を利用していく上でちょっとしたトピックなどを紹介していこうと思います。
※ 本ブログに記載する内容については筆者の経験を元に記載しております。
目次
1.Google Cloudについて
Google CloudはGoogleが提供するパブリッククラウドサービスです。
AWS/Azureを含めて3大クラウドサービスと呼ばれています。
Google Cloudとは
https://cloud.google.com/docs/overview?hl=ja
2.なぜ、ログ?
GCPを利用する場合、IaaSであるCompute Engine(GCE)を利用する機会は数多くあると思います。GCEのログはデフォルトで監査ログがCloud Loggingに収集されますが、OSの指標やログは自動的には収集されません。
そのため、データ収集用のソフトウェア(Opsエージェント)をインストールする必要があります。
※ OpsエージェントはStackdriver Monitoring Agent / Logging Agentの後継です
監査ログ付きの Google サービス
https://cloud.google.com/logging/docs/audit/services?hl=ja
Opsエージェントの概要
https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent?hl=ja
3.GCEのログを取り込む
GCEのOSやアプリのログをGCP上に取り込むには前述のとおり、Opsエージェントのインストールと設定が必要になります。GCPのドキュメントを参照して設定を行ってみましょう。
3.1 Opsエージェントのエージェントの導入
Opsエージェントの導入については公式ドキュメントを参照することで直ぐに完了します。
個々の VM に Ops エージェントをインストールする
https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/installation?hl=ja
Opsエージェントのリリースノートについては以下で参照可能です。
https://github.com/GoogleCloudPlatform/ops-agent
3.2 Opsエージェント導入後の確認
Opsエージェントで取り込んだログはCloud Loggingで確認することができます。
Cloud Loggingに取り込むことで、監視や可視化用のデータとして活用できるようになります。
ログ エクスプローラの使用
https://cloud.google.com/logging/docs/view/logs-explorer-interface?hl=ja
3.3 追加ログの取得
OpsエージェントはデフォルトではOSの一部のログを取得しますが、当然それだけでは必要なログや指標を取り込めたわけではありません。任意のログをGCPに取り込みたい場合、Opsエージェントの設定を変更が必要です。
(デフォルトは/var/log/messagesと/var/log/syslogを取り込む)
組み込み構成
https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/configuration?hl=ja#default
今回はLinux環境かでApacheとPHPのログを追加で取得します。以下のURLを参考にしてコンフィグを作成することができます。Apacheについてはサンプルがあるため、こちらを修正しつつPHPのログを取り込みを行います。今回は指標は不要なため削除を行っています。
設定完了後、Cloud Loggingを確認し対象のログが取り込まれていることを確認します。
Ops エージェントを構成する
https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/configuration?hl=ja
Apache ウェブサーバー(httpd)
https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/third-party/apache?hl=ja
追加でログやメトリクを取得する場合、以下のファイルを修正してサービスのサービスの再起動をサービスの再起動を行う Linux:/etc/google-cloud-ops-agent/config.yaml Windows: C:Program FilesGoogleCloud OperationsOps Agentconfigconfig.yaml -----追記内容 logging: receivers: apache_access: type: apache_access include_paths: - /var/log/httpd/*access.log apache_error: type: apache_error include_paths: - /var/log/httpd/*error.log php_error: type: files include_paths: - /var/log/php-fpm/*error.log service: pipelines: apache: receivers: - apache_access - apache_error - php_error -----
4.終わりに
GCPのドキュメントを正しく参照することで、任意のログがGCPに取り込めることが確認できました。取り込んだデータをどのように監視に活用するかについては今後記載していきたいと思います。