logdna.logdna

CircleCI

AnsibleでLogDNAエージェントをデプロイする

説明

LogDNAエージェントをインストールし、設定するためのAnsible Galaxyロールです。

要件

  • Ansibleのバージョン: >=2.1
  • 以下のオペレーティングシステムでテスト済み:
    • CentOS 6
    • CentOS 7
    • Ubuntu 12.04 - Precise
    • Ubuntu 14.04 - Trusty
    • Ubuntu 16.04 - Xenial
    • Ubuntu 17.10 - Artful
    • Debian 8 - Jessie

ロール変数

タスク専用変数

  • agent_install: インストールする場合はtrue(デフォルト: true
  • agent_config: 設定する場合はtrue(デフォルト: true
  • agent_service:(デフォルト: started)、次のオプションをサポート:
    • started: conf_keyが指定されている場合にLogDNAエージェントサービスを開始
    • restarted: LogDNAエージェントサービスを再起動
    • stopped: LogDNAエージェントサービスを停止。

設定変数

これらの変数はLogDNAエージェントのネイティブ設定オプションに直接対応しています:

  • conf_key: LogDNAのインジェスチョンキー - conf_keyが指定されていない場合、LogDNAエージェントサービスは開始されません
  • conf_config: LogDNAエージェントの設定ファイルパス(デフォルトは/etc/logdna.conf
  • conf_logdir: 追加するログディレクトリ
  • conf_logfile: 追加するログファイル
  • conf_exclude: 除外するログファイルまたはディレクトリ
  • conf_exclude_regex: ログ行の除外ルール
  • conf_hostname: 使用する代替ホスト名
  • conf_tags: 追加するタグ。

インストール方法

  • Ansible Galaxyからオンラインで: ansible-galaxy install logdna.logdna
  • ソースコードから直接: ansible-galaxy install git+https://github.com/logdna/ansible-logdna.git

例プレイブック

- hosts: <hosts>
  vars:
    conf_key: <LogDNAインジェスチョンキー>
  roles:
     - { role: logdna.logdna }

使用例

  • 指定したホストにサービスをインストールし、設定し、開始する:
- hosts: <hosts>
  vars:
    conf_key: <LogDNAインジェスチョンキー>
    # その他すべての設定パラメータ
  roles:
     - { role: logdna.logdna }
  • 指定したホストでサービスを再設定して再起動する:
- hosts: <hosts>
  vars:
    # 再設定パラメータ
    agent_service: restarted
  roles:
     - { role: logdna.logdna }
  • インストールのみ行い、設定やサービスには触れない:
- hosts: <hosts>
  vars:
    # LogDNAインジェスチョンキーを設定しない
    agent_config: false
  roles:
     - { role: logdna.logdna }
  • サービスを停止する:
- hosts: <hosts>
  vars:
    agent_install: false
    agent_config: false
    agent_service: stopped
  roles:
     - { role: logdna.logdna }

LogDNAコールバックプラグイン

LogDNAコールバックプラグインは、各ansible-playbookの実行時にログをLogDNAに送信するためのハンドラです。現在、次のカテゴリーのログをサポートしています:STATSFAILEDOKUNREACHABLEASYNC_FAILEDASYNC_OK。設定は次のように行います:

  • LogDNAエージェントのPythonパッケージがインストールされていない場合は、使用しているPythonのバージョンに応じて次のコマンドでインストールしてください:pip install logdnaまたはpip3 install logdna
  • 使用しているAnsibleのバージョンがv2.6未満(つまり<= v2.5)の場合、次の手順を実行します:
    • プラグインをこちらからコールバックプラグインのフォルダーにダウンロードします。フォルダーは次のコマンドで見つけることができます:echo $(ansible-doc -F | awk 'FNR == 1 {print $2}' | sed 's/\/modules/+/g' | cut -d'+' -f 1)/plugins/callback
  • システムにansible.cfgがない場合、次の手順を実行します:
    • /etc/ansibleフォルダーが存在することを確認し、次のコマンドを実行して作成します:mkdir -p /etc/ansible
    • ansible.cfgこちらから/etc/ansible/にダウンロードします
  • ANSIBLE_CONFIG=< ansible.cfgのパス >を実行します
  • ansible.cfgを開き、次の手順を実行します:
    • コメントされている場合は、callback_whitelistを含む行のコメントを外し、logdnaを追加する
    • コメントされている場合は、callback_pluginsを含む行のコメントを外し、コールバックプラグインのパスを更新する
  • プラグインを機能させるために、次の環境変数を設定する必要があります:
    • LOGDNA_INGESTION_KEY: ログをストリーミングするためのLogDNAインジェスチョンキー - 必須
    • ANSIBLE_IGNORE_ERRORS: エラーを無視するかどうか;デフォルトはFalse - オプション
    • LOGDNA_HOSTNAME: ログで使用する代替ホスト名 - オプション
    • LOGDNA_TAGS: コンマ区切りのタグリスト;デフォルトはansible - オプション

貢献

貢献は常に歓迎です。どのように手助けできるかは貢献ガイドを参照してください。

ライセンスと著者

プロジェクトについて

Ansible Galaxy Role to install and configure LogDNA Agent

インストール
ansible-galaxy install logdna.logdna
ライセンス
mit
ダウンロード
11.3k
所有者
Supercharge Observability With Mezmo Telemetry Pipeline