DataKit 一括デプロイベストプラクティス¶
環境情報¶
| 名称 | 環境 |
|---|---|
| Centos | 7.6 |
| Ansible | 2.10.4 |
| ホスト IP | 10.200.14.56;10.200.14.57;10.200.14.63 |
注:Linux ホストのみ対応
Ansible のデプロイ¶
Ansible のインストール¶
10.200.14.56 サーバーにログインし、インストールコマンドを実行します。
Ansible の設定¶
Ansible の hosts ファイルを編集します。
ホスト一覧とユーザー/パスワードを追加します。
[all]
10.200.14.56 ansible_ssh_user=root ansible_ssh_pass=xxx
10.200.14.57 ansible_ssh_user=root ansible_ssh_pass=xxx
10.200.14.63 ansible_ssh_user=root ansible_ssh_pass=xxx
接続確認のスキップ¶
設定の確認¶
| 10.200.14.57 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 10.200.14.56 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 10.200.14.63 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } |
|---|
一括デプロイ¶
PlayBook の設定¶
コマンドの取得¶
[統合] モジュールをクリックし、右上の [DataKit インストールコマンドを取得] から、お使いの OS とシステムタイプに応じて適切な [Datakit インストールコマンド] を選択します。
YAML ファイルの作成¶
Ansible ディレクトリに移動します。
新しいファイルを作成します。
以下の内容を追加します(先ほどコピーした [Datakit インストールコマンド] を使用します)。
- hosts: all
remote_user: root
tasks:
- name: judge datakit is exits
shell: ls /usr/local/datakit/conf.d
ignore_errors: True
register: result
- name: install datakit
shell: [Datakit インストールコマンド]
when: result.rc != 0
YAML ファイルの実行¶
*** サーバーがパブリックネットワークにアクセスできる必要があります ***
| PLAY [all] ************************************************************************ ************************************************************************ ************************************************************************ ******************************************* TASK [Gathering Facts] ************************************************************************ ************************************************************************ ************************************************************************ ******************************* ok: [10.200.14.57] ok: [10.200.14.56] ok: [10.200.14.63] PLAY RECAP ************************************************************************ ************************************************************************ ************************************************************************ ******************************************* 10.200.14.56 : ok=2 changed=1 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 10.200.14.57 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1 10.200.14.63 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1 |
|---|
確認¶
[インフラストラクチャ] モジュール内の [ホスト] をクリックし、DataKit がインストールされているすべてのホストの一覧と基本情報を確認します。

一括アップグレード¶
YAML ファイルの作成¶
Ansible ディレクトリに移動します。
新しいファイルを作成します。
以下の内容を追加します。
- hosts: all
remote_user: root
tasks:
- name: judge datakit is exits
shell: ls /usr/local/datakit/conf.d
ignore_errors: True
register: result
- name: install datakit
shell: 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"
when: result.rc == 0
YAML ファイルの実行¶
確認¶
[インフラストラクチャ] モジュールで、クイックフィルター条件から最新の [DataKit バージョン] を選択します。
一括同期¶
YAML ファイルの作成¶
Ansible ディレクトリに移動します。
新しいファイルを作成します。
以下の内容を追加します。
- hosts: all
remote_user: root
tasks:
- name: judge datakit is exit
shell: ls /usr/local/datakit/conf.d
ignore_errors: True
register: result
- name: judge /usr/bin/rsync is exits
shell: ls /usr/bin/rsync
ignore_errors: True
register: result
- name: install rsync
shell: yum -y install rsync
when: result.rc != 0
- name: Synchronize passing in extra rsync options
synchronize:
src: /usr/local/datakit/conf.d/
dest: /usr/local/datakit/conf.d/
rsync_opts:
- "--exclude=datakit.conf"
checksum: true
register: res
- debug: var=res.stdout_lines
- debug: var=res.changed
- name: reload datakit
shell: systemctl restart datakit
when: res.changed == true
YAML ファイルの実行¶
確認¶
すべてのホストに同一の DataKit 設定(conf.d ディレクトリ)が適用されます。個別のカスタムサーバー設定が必要な場合は、DataKit のホワイトリスト機能を使用できます。

