trombik.sensu_go_agent

trombik.sensu_go_agent

ビルドステータス

sensu-agentsensu-goバージョン用のansibleロールです。

FreeBSDユーザーへの注意

この文書が書かれた時点(2020/04/16)では、公式のFreeBSDポートツリーには最新のsensu-goのバージョンがありません。利用可能なポートのバージョンではsensu-backendがインストールされません。自分でポートを修正するか、freebsd-ports-sensu-goから私のポートをインストールし、パッケージを別の場所に配置する必要があります。

要件

Rubyをインストールする必要があります。

ロール変数

変数 説明 デフォルト
sensu_go_agent_user sensu-agentのユーザー {{ __sensu_go_agent_user }}
sensu_go_agent_group sensu-agentのグループ {{ __sensu_go_agent_group }}
sensu_go_agent_extra_groups sensu_go_agent_userが所属する追加グループのリスト []
sensu_go_agent_home sensu-agentユーザーのホームディレクトリ /home/{{ sensu_go_agent_user }}
sensu_go_agent_package sensu-agentのパッケージ名 {{ __sensu_go_agent_package }}
sensu_go_agent_extra_packages インストールする追加パッケージのリスト {{ __sensu_go_agent_extra_packages }}
sensu_go_agent_log_dir ログディレクトリのパス /var/log/sensu
sensu_go_agent_cache_dir cache-dirのパス {{ __sensu_go_agent_cache_dir }}
sensu_go_agent_service sensu-agentのサービス名 {{ __sensu_go_agent_service }}
sensu_go_agent_conf_dir sensu_go_agent_conf_fileのベースディレクトリのパス {{ __sensu_go_agent_conf_dir }}
sensu_go_agent_conf_file sensu-agent.ymlのパス {{ sensu_go_agent_conf_dir }}/sensu-agent.yml
sensu_go_agent_config sensu-agent.ymlの内容 ""
sensu_go_agent_flags 以下を参照 ""
sensu_go_agent_ruby_plugins インストールするRubyのGemのリスト []
sensu_go_agent_use_embedded_ruby 組み込みのRubyを使用するか false
sensu_go_agent_embedded_ruby_dir 組み込みRubyディレクトリのパス /opt/sensu-plugins-ruby/embedded
sensu_go_agent_embedded_ruby_gem 組み込みRubyのGemのパス {{ sensu_go_agent_embedded_ruby_dir }}/bin/gem

sensu_go_agent_flags

この変数はサービスの起動オプションを設定するために使用されます。プラットフォームによって動作が異なります。

FreeBSD

sensu_go_agent_flags/etc/rc.conf.d/sensu_agentの内容です。

Debian

sensu_go_agent_flags/etc/default/sensu-agentの内容です。

RedHat

sensu_go_agent_flags/etc/sysconfig/sensu-agentの内容です。

Debian

変数 デフォルト
__sensu_go_agent_user sensu
__sensu_go_agent_group sensu
__sensu_go_agent_package sensu-go-agent
__sensu_go_agent_extra_packages []
__sensu_go_agent_cache_dir /var/cache/sensu/sensu-agent
__sensu_go_agent_service sensu-agent
__sensu_go_agent_conf_dir /etc/sensu
__sensu_go_agent_conf_file {{ __sensu_go_agent_conf_dir }}/agent.yml

FreeBSD

変数 デフォルト
__sensu_go_agent_user sensu
__sensu_go_agent_group sensu
__sensu_go_agent_package sysutils/sensu-go-agent
__sensu_go_agent_extra_packages []
__sensu_go_agent_cache_dir /var/cache/sensu/sensu-agent
__sensu_go_agent_service sensu-agent
__sensu_go_agent_conf_dir /usr/local/etc
__sensu_go_agent_conf_file {{ __sensu_go_agent_conf_dir }}/sensu-agent.yml

RedHat

変数 デフォルト
__sensu_go_agent_user sensu
__sensu_go_agent_group sensu
__sensu_go_agent_package sensu-go-agent
__sensu_go_agent_extra_packages []
__sensu_go_agent_cache_dir /var/cache/sensu/sensu-agent
__sensu_go_agent_service sensu-agent
__sensu_go_agent_conf_dir /etc/sensu
__sensu_go_agent_conf_file {{ __sensu_go_agent_conf_dir }}/agent.yml

依存関係

なし

例のプレイブック

---
- hosts: localhost
  roles:
    - role: trombik.freebsd_pkg_repo
      when: ansible_os_family == 'FreeBSD'
    - role: trombik.apt_repo
      when: ansible_os_family == 'Debian'
    - role: trombik.redhat_repo
      when: ansible_os_family == 'RedHat'
    - role: trombik.language_ruby
      when: ansible_os_family != 'RedHat'
    - role: ansible-role-sensu_go_agent
  vars:
    sensu_go_agent_extra_groups:
      - bin
    os_sensu_go_agent_use_embedded_ruby:
      FreeBSD: no
      Debian: no
      RedHat: yes
    sensu_go_agent_use_embedded_ruby: "{{ os_sensu_go_agent_use_embedded_ruby[ansible_os_family] }}"
    sensu_go_agent_ruby_plugins:
      - sensu-plugin
      - sensu-plugins-disk-checks

    #  /etc/default/sensuのEMBEDDED_RUBY=true
    sensu_go_agent_config:
      backend-url: ws://127.0.0.1:8081
      cache-dir: "{{ sensu_go_agent_cache_dir }}"

    os_sensu_go_agent_extra_packages:
      FreeBSD:
        - sysutils/sensu-go-cli
      Debian:
        - sensu-go-cli
        - ruby-dev
      RedHat:
        - sensu-go-cli
        - sensu-plugins-ruby
    sensu_go_agent_extra_packages: "{{ os_sensu_go_agent_extra_packages[ansible_os_family] }}"
    os_sensu_go_agent_flags:
      FreeBSD: ""
      Debian: ""
      RedHat: |
        EMBEDDED_RUBY=true
    sensu_go_agent_flags: "{{ os_sensu_go_agent_flags[ansible_os_family] }}"
    freebsd_pkg_repo:
      # デフォルトのパッケージリポジトリを無効にする
      FreeBSD:
        enabled: "false"
        state: present
      # 最新のパッケージがある私のパッケージリポジトリを有効にする
      FreeBSD_devel:
        enabled: "true"
        state: present
        url: "http://pkg.i.trombik.org/{{ ansible_distribution_version | regex_replace('\\.', '') }}{{ansible_architecture}}-default-default/"
        mirror_type: http
        signature_type: none
        priority: 100

    # 詳細はhttps://packagecloud.io/install/repositories/sensu/stable/script.deb.sh
    # とhttps://packagecloud.io/install/repositories/sensu/stable/config_file.list?os=debian&dist=buster&source=scriptを参照
    apt_repo_keys_to_add:
      - https://packagecloud.io/sensu/stable/gpgkey
    __apt_os: "{% if ansible_distribution == 'Devuan' %}debian{% else %}ubuntu{% endif %}"
    __apt_dist: "{% if ansible_distribution != 'Devuan' %}{{ ansible_distribution_release }}{% else %}{{ apt_repo_codename_devuan_to_debian[ansible_distribution_release] }}{% endif %}"
    apt_repo_to_add:
      - "deb https://packagecloud.io/sensu/stable/{{ __apt_os }}/ {{ __apt_dist }} main"
    apt_repo_enable_apt_transport_https: True

    redhat_repo_extra_packages:
      - epel-release

    # 詳細はhttps://packagecloud.io/install/repositories/sensu/stable/config_file.repo?os=centos&dist=7&source=scriptを参照
    redhat_repo:
      sensu:
        baseurl: "https://packagecloud.io/sensu/stable/el/{{ ansible_distribution_major_version }}/$basearch"
        # Package sensu-go-cli-5.19.1-10989.x86_64.rpmは署名されていません
        gpgcheck: no
        enabled: yes
      epel:
        mirrorlist: "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-{{ ansible_distribution_major_version }}&arch={{ ansible_architecture }}"
        gpgcheck: yes
        enabled: yes
      sensu_community:
        baseurl: https://packagecloud.io/sensu/community/el/{{ ansible_distribution_major_version }}/$basearch
        gpgkey: https://packagecloud.io/sensu/community/gpgkey
        repo_gpgcheck: yes
        gpgcheck: no
        enabled: yes

ライセンス

Copyright (c) 2020 Tomoyuki Sakurai <y@trombik.org>

このソフトウェアを、利用、コピー、修正、配布することを、手数料の有無にかかわらず許可します。上記の著作権表示とこの許可表示はすべてのコピーに表示されるものとします。

このソフトウェアは「現状のまま」提供され、著者はこのソフトウェアに関するすべての保証を否認します。販売可能性や特定の目的への適合性についての暗黙の保証を含め、著者は一切の責任を負いません。著者は、契約、不法行為またはその他の原因により、このソフトウェアの使用や性能に関連して発生した特別、直接、間接的または結果的な損害について、一切責任を負いません。

著者情報

Tomoyuki Sakurai y@trombik.org

このREADMEはqansibleによって作成されました。

プロジェクトについて

Manage sensu-go agent

インストール
ansible-galaxy install trombik.sensu_go_agent
ライセンス
isc
ダウンロード
1.9k
所有者
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/