コンテンツにスキップ

Datakit バージョン更新のベストプラクティス


一:手動更新(全2ステップ)

ステップ1:まず datakit --version を実行

(目的:更新前後のバージョンを比較しやすくするため)実行結果は以下の通りです。

image.png

ステップ2:コマンドを実行(対応するコマンドを選択してください)

【Linux にインストールする場合】

X86 amd64 sudo -- sh -c 'curl https://static.guance.com/datakit/installer-linux-amd64 -o dk-installer && chmod +x ./dk-installer && ./dk-installer -upgrade && rm -rf ./dk-installer'
X86 i386 sudo -- sh -c 'curl https://static.guance.com/datakit/installer-linux-386 -o dk-installer && chmod +x ./dk-installer && ./dk-installer -upgrade && rm -rf ./dk-installer'
arm sudo -- sh -c 'curl https://static.guance.com/datakit/installer-linux-arm -o dk-installer && chmod +x ./dk-installer && ./dk-installer -upgrade && rm -rf ./dk-installer'
arm64 sudo -- sh -c 'https://static.guance.com/datakit/installer-linux-arm64 -o dk-installer && chmod +x ./dk-installer && ./dk-installer -upgrade && rm -rf ./dk-installer'

【Windows にインストールする場合】

64ビット Import-Module bitstransfer; start-bitstransfer -source [https://static.guance.com/datakit/installer-windows-amd64.exe](https://static.guance.com/datakit/installer-windows-amd64.exe) -destination .dk-installer.exe; .dk-installer.exe -upgrade; rm .dk-installer.exe
32ビット Import-Module bitstransfer; start-bitstransfer -source [https://static.guance.com/datakit/installer-windows-386.exe](https://static.guance.com/datakit/installer-windows-amd64.exe) -destination .dk-installer.exe; .dk-installer.exe -upgrade; rm .dk-installer.exe

【MacOS にインストールする場合】

all sudo -- sh -c "curl [https://static.guance.com/datakit/installer-darwin-amd64](https://static.guance.com/datakit/installer-darwin-amd64) -o dk-installer && chmod +x ./dk-installer && ./dk-installer -upgrade && rm -rf ./dk-installer"

二:自動更新(現在、自動更新は Linux のみ対応)

ステップ1:更新スクリプトを準備

以下のスクリプト内容を DataKit がインストールされているマシンのインストールディレクトリにコピーし、datakit-update.sh として保存します(ファイル名は任意で構いません)。

#!/bin/bash
# 新しいバージョンが利用可能な場合に DataKit を更新

otalog=/usr/local/datakit/ota-update.log
installer=https://static.guance.com/datakit/installer-linux-amd64

# 注意:RC バージョンの DataKit を更新したくない場合は、`--accept-rc-version` を削除してください
/usr/local/datakit/datakit --check-update --accept-rc-version --update-log $otalog

if [[ $? == 42 ]]; then
 echo "update now..."
 sudo -- sh -c "curl ${installer}  -o dk-installer &&
     chmod +x ./dk-installer &&
     ./dk-installer --upgrade --ota --install-log "${otalog}" &&
     rm -rf ./dk-installer"
fi

ステップ2:crontab タスクを追加

以下のコマンドを実行して、crontab ルール追加画面を開きます。

crontab -u root -e

以下のルールを追加します。

# 毎日午前0時に新しいバージョンの更新を試行
0 0 * * * bash /path/to/datakit-update.sh

Tips: crontab の基本構文は以下の通りです。

*   *   *   *   *     <command to be execute>
^   ^   ^   ^   ^
|   |   |   |   |
|   |   |   |   +----- 曜日(0 - 6)(日曜日=0)
|   |   |   +--------- 月(1 - 12)   
|   |   +------------- 日(1 - 31)
|   +----------------- 時(0 - 23)   
+--------------------- 分(0 - 59)

以下のコマンドを実行して、crontab が正しくインストールされたことを確認します。

crontab -u root -l

crontab サービスが起動していることを確認します。

service cron restart

インストールが成功し、更新が試行された場合、update_log に以下のようなログが表示されます。

2021-05-10T09:49:06.083+0800 DEBUG  ota-update datakit/main.go:201  get online version...
2021-05-10T09:49:07.728+0800 DEBUG  ota-update datakit/main.go:216  online version: datakit 1.1.6-rc0/9bc4b960, local version: datakit 1.1.6-rc0-62-g7a1d0956/7a1d0956
2021-05-10T09:49:07.728+0800 INFO   ota-update datakit/main.go:224  Up to date(1.1.6-rc0-62-g7a1d0956)

実際に更新が行われた場合は、以下のような更新ログが表示されます。

2021-05-10T09:52:18.352+0800 DEBUG ota-update datakit/main.go:201 get online version...
2021-05-10T09:52:18.391+0800 DEBUG ota-update datakit/main.go:216 online version: datakit 1.1.6-rc0/9bc4b960, local version: datakit 1.0.1/7a1d0956
2021-05-10T09:52:18.391+0800 INFO  ota-update datakit/main.go:219 New online version available: 1.1.6-rc0, commit 9bc4b960 (release at 2021-04-30 14:31:27)
...

フィードバック

このページは役に立ちましたか?