9minシェアするツイートするLINEで送るブックマークするこんにちは、クラウドエース編集部です。GCPでログを収集したり、インスタンスの使用状況などを監視する場合は、LoggingエージェントやMonitoringエージェントを利用することが一般的でした。筆者もこれらを利用してきましたし、Loggingエージェントのために数々のfluentdのconfigファイルを書いてきましたが、これらは新たなOpsエージェントに置き換えるのが良さそうに見えます。Japanの公式ブログによれば、「従来のLoggingエージェントに存在していたOutOfMemoryエラーやデータの損失を防止できる」と書いてあるので、これらに頭を悩まされてきた身としては見過ごすわけにはいきません。この記事では、Opsエージェントを使い始めるまでの設定と、任意のアプリケーションログをGCPのLoggingで閲覧するための設定内容を調査していきます。Configエージェントのインストールエージェントポリシーの設定コンテナの標準出力をLoggingに送るログファイルをLoggingに送るクラウドエースとはOpsエージェントのインストールUbuntu20.04のVMインスタンスを起動し、オペレーションスイート(旧Stackdriver)のエージェントポリシーを利用してインストールと起動までをある程度自動化しましょう。OSに対して設定すれば、今後Ubuntuのインスタンスには自動でOpsエージェントがインストールされます。ops-agentを自動アップグレードを有効にしてインストールするポリシーです。Consoleから閲覧する手段は執筆時点では無いようです。Policyとは別の機能です。ops-agentがインストールされます。agoドキュメントによると、デフォルトでは、次のような設定が有効のようです。[metrics_filter]ここからは、いくつかのパターンを想定して、設定を調査していきます。コンテナの標準出力をLoggingに送るnginxのコンテナを実行して、その標準出力をLoggingに送ってみます。dockerをインストールして、nginxコンテナを実行しましょう。ここからはrootユーザで実行します。/var/lib/docker/containers/CONTAINER_IDディレクトリのCONTAINER_ID-json.logに吐き出されているので、コンテナの標準出力をLoggingに送るには、次のようにconfigを書けば良さそうです。このとき、LoggingにおけるlogNameはcontainersとなっていました。logプロパティを取り出したりできるのですが、Opsエージェントでの方法がわかりませんでした。筆者の理解の範囲では、fluentdで柔軟な設定ができるLoggingエージェントの方が自分たちの要件にあったparseができそうです。\"-\"\n"stream":"stdout"ログファイルをLoggingに送る続いてはコンテナの標準出力ではなく、インスタンスの任意のpathに吐き出されるログをLoggingに送ります。色々なログパターンが欲しいので、GitLabを起動することにします。次のdocker-composeファイルを用意しました。34.146.28.37はubuntuインスタンスに外部から到達するために起動したTCPロードバランサーのIPアドレスです。/srv/gitlab/logs/gitlab-rails/application_json.logに次のようなログが出力されるので、これをLogginに送ることを目的にします。{"severity":"DEBUG"これは、次のようにconfigを書けば実現できます。Consoleでは次のように構造化されたログを確認することができます。別のログを見ていきましょう。/srv/gitlab/logs/nginx/gitlab_access.logには、nginxのアクセスログが出力されています。これを正規表現を使ってparseしてみましょう。サンプルとして、ログを1つ取り出します。(KHTMLこれをparseするためには次のような正規表現を書けます。]+))?)?$/先程のconfigと合わせると、最終的に次のようなファイルが出来上がりました。%z'Loggingの画面でもしっかり構造化されていることを確認できます。研究が足りていませんが、ops-agentを使って任意のログをLoggingに送ることができました。新しい発見があればまた記事にします。専門のシステムインテグレーターです。最大限活用いただけるよう、豊富な知見を持つエンジニアがご要望にあわせて最適な形で技術支援をいたします。ご検討の際には、一度お気軽にお問い合わせください。クラウドエースについてさらに詳しく記載していますので、ぜひ合わせて御覧ください。データを元に「確信」を高める手法こんにちは。中井悦司さ...こんにちは。アルゴリズム:最尤推定法による教師なし学習こんにちは。クラウドエースのエンジニアの神谷です。中井悦司さんの著書「IT...こんにちは。クラウドエースのエンジニアの神谷です。平均法:教師なし学習のモデルの基礎こんにちは。クラウドエースのエンジニアの坂田です。クラウドエースのエンジニアの坂田です。分類アルゴリズムの評価方法こんにちは。クラウドエースのエンジニアの坂田です。クラウドエースのエンジニアの坂田です。分類アルゴリズムの基礎こんにちは。中井悦司さ...こんにちは。プレミアパートナー企業です。導入から開発・コンサルティングまでワンストップでお任せください。