wangsha.docker-graphite
docker-graphite
GraphiteのDockerコンテナを管理・実行するためのAnsibleロールです。
要件
このロールはUbuntu 14.04でのみテストされています。このロールはAnsibleのDockerモジュールを使用するため、docker-py
とdocker
の最近のバージョンがインストールされていることを確認してください。
例
Ansible Galaxyから./roles
ディレクトリにこのモジュールをインストールします:
ansible-galaxy install wangsha.docker-graphite -p ./roles
以下のようにプレイブックで使用します。既にDockerがセットアップされていると仮定しています:
- hosts: 'servers'
roles:
- role: 'wangsha.docker-graphite'
become: true
graphite_storage_schemas_extra:
statsd: |
priority = 110
pattern = ^stats.*
retentions = 10s:6h,1m:7d,10m:1y
上書き可能なロール変数についてはdefaults/main.ymlを確認してください。
Docker自体を設定するためのプレイブックが必要な場合は、angstwad.docker_ubuntuのGalaxyロールを確認してください。
デフォルトのDockerイメージはhopsoft/graphite-statsdです。
このイメージにはGraphiteとStatsDの両方が含まれています。StatsDを無効にするには、対応するポートマッピングを削除してください。
基本認証のアカウントはroot/root
です。デフォルトのアカウントを変更するにはdocker_graphite_htpasswd_users
を修正してください。
カスタムボリュームマッピング
Dockerでは、ホストディレクトリやホストファイルをdata volumeとしてマウントできます。
このロールは、コンテナデータを保持するためにホストのディレクトリをマウントし、コンテナの動作を設定するためにホストのファイルをマウントします。
docker_graphite_directory_volumes
とdocker_graphite_file_volumes
がボリュームマッピングを制御する2つの変数です。
マッピングをカスタマイズする場合は、<host directory>:<container directory>:<mapping mode>
の形式に従い、ホストディレクトリがコンテナを起動する前に正しく作成されていることを確認してください。
ホストファイルマッピングをカスタマイズするには、docker_graphite_file_volumes
を更新します。
このロールは、ファイルの親ディレクトリを自動的に作成し、テンプレートをホストマシンにコピーします。
テンプレートの命名規則は<host_file_name>.<host_file_extension>.j2
です。
独自のAnsibleディレクトリからテンプレートをコピーするには、docker_graphite_template_path
を設定します。
設定の例:
docker_graphite_file_volumes:
- '/opt/myapp/conf/settings.conf:/etc/myapp/conf/settings.conf:ro'
docker_graphite_template_path: /path/to/ansible/project/templates/
# /path/to/ansible/project/templates/settings.conf.j2が存在することを確認してください。
ライセンス
著者情報
- wangsha