rockandska.influxdb

ansible-role-influxdb

InfluxDBのバイナリからインストール・設定するためのAnsibleロールです。
Ansible Galaxyで入手可能です。

Ansible Galaxy:
Galaxy Score

Travis Build :
Build Status

リモートホストの要件

すべてのディストリビューション

  • logrotate
  • python requests >= 1.0.0(このロールでユーザー、データベース、保持ポリシーの管理を使用する場合)
  • python influxdb >= 0.9.0(このロールでユーザー、データベース、保持ポリシーの管理を使用する場合)

Debian / Ubuntu

  • apt-transport-https
  • gpg-agent
  • ca-certificates

CentOS / RedHat

  • gnupg2

ロール変数

デフォルトの変数は defaults/main.yml にあります。

---
###########
# インストール #
###########
influxdb_version: 1.7.4

influxdb_rpm_url: "https://dl.influxdata.com/influxdb/releases/influxdb-{{ influxdb_version }}.x86_64.rpm"
influxdb_rpm_sha256: "93caa49159e76b3338abc191c85d46d134ac67697a0c7f874c937baa38dd6a5e"
influxdb_rpm_dest_path: "/usr/src"

influxdb_deb_url: "https://dl.influxdata.com/influxdb/releases/influxdb_{{ influxdb_version }}_amd64.deb"
influxdb_deb_sha256: "5488bd8889de7d45aa09cdccc845156e2d59442871ad6899d64d797e42f2888b"
influxdb_deb_dest_path: "/usr/src"

#################
# カスタム設定 #
#################
influxdb_vars_files: []

influxdb_config_tpl: etc/influxdb/influxdb.conf.j2
influxdb_config: {}

influxdb_systemd_override_tpl: etc/systemd/system/influxdb.service.d/override.conf.j2
influxdb_systemd_override: {}

influxdb_custom_logrotate_tpl: etc/logrotate.d/influxdb.j2
influxdb_custom_logrotate:

############
# APIユーザー #
############
influxdb_management_hostname:
influxdb_management_port:
influxdb_management_validate_certs:
influxdb_management_proxies:
influxdb_management_login_username:
influxdb_management_login_password:
influxdb_management_retries:
influxdb_management_ssl:
influxdb_management_timeout:
influxdb_management_udp_port:
influxdb_management_use_udp:

#########
# ユーザー #
#########
influxdb_users_to_create: []
influxdb_users_to_delete: []

#############
# データベース #
#############
influxdb_databases_to_create: []
influxdb_databases_to_delete: []

############
# ポリシー #
############
influxdb_retention_policies_to_create: []

#########
# デバッグ #
#########
influxdb_hide_log: true

詳細

  • influxdb_version

    • https://dl.influxdata.com/influxdb/releases で利用可能なInfluxDBのバージョンを指定します。
    • 古いバージョンはダウンロードページには表示されませんが、直接リンクから入手できます。
  • influxdb_rpm_url

    • RPMパッケージのURL
  • influxdb_rpm_sha256

    • パッケージの整合性を確認するためのSHA256
    • 最新リリースのInfluxDBダウンロードページで入手可能です。
  • influxdb_rpm_dest_path

    • RPMパッケージをダウンロードするパス
  • influxdb_deb_url

    • DEBパッケージのURL
  • influxdb_deb_sha256

    • パッケージの整合性を確認するためのSHA256
    • 最新リリースのInfluxDBダウンロードページで入手可能です。
  • influxdb_deb_dest_path

    • DEBパッケージをダウンロードするパス
  • influxdb_vars_files

    • 必要に応じてデフォルトの変数をオーバーライドするために使用される変数ファイルのリスト
    • 相対パスを使用する場合、これらのファイルをプレイブックの vars ディレクトリの隣に置いてください。
    • 例:
      influxdb_vars_files:
        - settings.yml
      
  • influxdb_config_tpl

    • InfluxDB設定テンプレートのパス
    • 独自のテンプレートを使用する場合
      • プレイブックの隣にある templates ディレクトリにテンプレートを追加
      • デフォルトのパスとは異なるパスを使用
  • influxdb_config

    • 適用するカスタムInfluxDB設定を表す辞書

    • 特殊なキーは二重引用符で囲みます(例: "[meta]")

    • カスタム設定を使用する場合、influxdb/#12140 により適用する必要がある最小限のセクションがあります。

    • 例:

      influxdb_config:
        reporting-disabled: true
        "[meta]":
          dir: /var/lib/influxdb/meta
        "[data]":
          dir: /var/lib/influxdb/data
          wal-dir: /var/lib/influxdb/wal
        "[http]":
          auth-enabled: true
        "[[graphite]]":
          enable: true
          batch-size: 5000
      
  • influxdb_systemd_override_tpl

    • InfluxDB systemdオーバーライドテンプレートのパス
  • influxdb_systemd_override

    • systemdオーバーライド設定を表す辞書
    • 1つ目のレベルはiniセクションに使用されます。
    • 2つ目のレベルはキー/値に使用されます。
    • 例:
      influxdb_systemd_override:
        Service:
          LimitNOFILE: 30000
      
  • influxdb_custom_logrotate_tpl

    • InfluxDBカスタムlogrotateテンプレートのパス
  • influxdb_custom_logrotate

    • InfluxDBログ用のログローテートオプションのマルチライン文字列
    • デフォルトの設定を上書きします。
    • 注意:カスタムログローテート設定でデフォルトの設定を置き換えると、変数を解除しても設定が残ります。

その他の変数は省略します。

例のプレイブック

- hosts: influxdb
  roles:
    - rockandska.influxdb

ローカルテスト

ローカルでロールをテストする最適な方法は、Dockerとmolecule(v2.x)を使用することです。システムにDockerをインストールする必要があります。システムに適したDockerパッケージの「はじめに」を参照してください。 複数のAnsibleバージョンでのテストを簡単に行うために、toxを使用しています。toxをインストールするには、次のコマンドを実行します。

$ sudo pip install tox
# または
$ pip install --user tox

すべてのAnsibleバージョンでテストを実行するには(警告:少し時間がかかる場合があります)

$ tox

カスタム環境でカスタムmoleculeコマンドを実行するには、デフォルトのテストシナリオを使用します。

$ tox -e py27-ansible25 -- molecule test -s default

moleculeの詳細については、ドキュメントを参照してください。

リモートDockerホストでテストを実行したい場合は、toxテストの実行前に DOCKER_HOST 変数を指定してください。

ライセンス

BSD

プロジェクトについて

InfluxDB installation / configuration

インストール
ansible-galaxy install rockandska.influxdb
ライセンス
Unknown
ダウンロード
124
所有者