既存のオンプレミスConnector Hostコンテナのログローテーションを有効にする
  • 04 Nov 2023
  • 1 読む分
  • 寄稿者

既存のオンプレミスConnector Hostコンテナのログローテーションを有効にする


記事の要約

目的

本ガイドは高度に技術的な内容であるため、お客様の組織の IT 部門にご確認ください。

このドキュメントでは、ログローテーションを使用していない既存の docker コンテナでログローテーションを有効にするための手順を説明します。

DockerコンテナでTulipのオンプレミス・コネクタホストを実行しており、VM上のDockerですでにログローテーションが有効になっている場合は、この記事を無視してもかまいません。また、Tulipのオンプレミス・コネクタホストのインストールに関する詳細情報が必要な場合は、この記事を参照してください。

DockerのLog-rotationsとは何ですか?

Tulipのオンプレミスコネクタホストは、VM上のローカルにログファイルを保存するためにjson-loggingドライバを使用するDockerコンテナで実行されます。dockerのログローテーションが有効でない場合、これらのファイルはかなりの量のディスクスペースを使用する可能性があります。ログ・ローテーションは、コンテナごとにログ・ファイルのサイズとファイル数を制限することができます。

実装

以下の手順では、dockerのログローテーションを有効にして、dockerを再起動し、既存のコンテナを削除して、Tulipのオンプレミスコネクタホスト用に新しいコンテナを作成する方法を説明します。

この手順を実行すると、コネクタホストでわずかなダウンタイムが発生するため、スケジュールされたダウンタイム中、またはコネクタホストが使用されていないときに以下のコマンドを実行することをお勧めします。

ログローテーション

Linux VMで以下のコマンドを実行することで、ログローテーションを有効にできます。

sudo su $ touch /etc/docker/daemon.json




> 
> {  
> 
> "live-restore": true、  
> 
> "log-driver":"json-file"、  
> 
> "log-opts":{  
> 
> "max-size":"10m",  
> 
> "max-file":"3"  
> 
> }  
> 
> }  
> 
> EOF ```
> 
> 
> 


### Dockerの再起動


dockerがlog-rotationsの設定を使うようにするには、以下のコマンドを実行してdockerを再起動してください。 


`sudo systemctl restart docker`


### 既存のコンテナの削除


``` $ sudo docker ps 


## 既存のコンテナの詳細が表示されるので、次のステップで使用するコンテナIDをコピーしておく。


sudo docker stop <コンテナID> を実行する。

sudo docker rm <コンテナID> を実行する。

新規コンテナの作成

Tulip のオンプレミスコネクタホストを最初にセットアップしたときに実行した以下の docker run コマンドを再実行します。

$ docker run -d ˶ --name tulip-connector-host ˶ -e TULIP_FACTORY='https://<FACTORY>.tulip.co' ˶ -e TULIP_UUID='<UUID>' ˶ -e TULIP_MACHINE_SECRET='<SECRET>' ˶ -e TULIP_DEVICE_TYPE=onprem ˶ -e HTTP_PROXY=''\ HTTP_PROXY=''\ -e EXIT_ON_DISCONNECT=true \ --restart=unless-stopped \ --net=host \ --mount type=volume,source=tuliplog,target=/log \ bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:prod

上記の認証情報が利用できない場合は、Tulipに連絡してください。

TulipのオンプレミスConnector Hostを実行するコンテナは、ログローテーションを有効にしてセットアップされているはずです。

コンテナがバックアップされているかどうかを確認するには、次のコマンドを実行して新しいコンテナのログを確認できます。

docker logs <コンテナ名> を実行します。


この記事は役に立ちましたか?