LoginSignup
3
1

More than 5 years have passed since last update.

UbuntuにAnsibleでmackerel-agentをインストールする

Last updated at Posted at 2018-09-28

mackerel-agentをubuntuにインストールするときに作成したansibleのめも

  • 環境

    • ubuntu16.04
    • ansible2.5
  • やったこと

    • Ubuntu環境のため、Ubuntu以外で実行したらFailさせる
    • AutoScaling環境を使うため、Mackerelの機能である自動退役モードを設定する
    • PackerでAMIを作成するため、インストール・設定後にidファイルを削除する
    • (※ mackerel_agent_apikeyはansible-vaultで暗号化する必要あり)
  • 参考: AnsibleでインストールするためのMackerel公式のGitHubがある

roles/mackerel/tasks/main.yml
---
- name: Import mackerel GPG key v2
  apt_key: url=https://mackerel.io/file/cert/GPG-KEY-mackerel-v2 state=present
  failed_when:
    - ansible_distribution != 'Ubuntu'
  become: yes


- name: Add repository mackerel v2
  apt_repository: repo='deb http://apt.mackerel.io/v2/ mackerel contrib' state=present update_cache=yes
  failed_when:
    - ansible_distribution != 'Ubuntu'
  become: yes


- name: Install mackerel-agent
  apt:
    name: mackerel-agent
    state: latest
    update_cache: yes
    force: yes
    dpkg_options: 'force-confdef,force-confold'
  become: yes


- name: Install mackerel-agent-plugins
  apt:
    name: mackerel-agent-plugins
    state: latest
    update_cache: yes
    force: yes
    dpkg_options: 'force-confdef,force-confold'
  when: mackerel_use_plugins
  become: yes


- name: Install mackerel-check-plugins
  apt:
    name: mackerel-check-plugins
    state: latest
    update_cache: yes
    force: yes
    dpkg_options: 'force-confdef,force-confold'
  when: mackerel_use_plugins
  become: yes


- name: Update agent config
  template:
    src: mackerel-agent.conf.j2
    dest: /etc/mackerel-agent/mackerel-agent.conf
  become: yes


- name: Set auto-retirement agent
  template: src=auto-retirement.conf.j2 dest=/etc/default/mackerel-agent
  become: yes


- name: Apply mackerel-agent conf
  systemd:
    name: mackerel-agent.service
    state: reloaded
  become: yes


- name: Enable mackerel-agent
  systemd:
    state: started
    daemon_reload: yes
    enabled: yes
    name: mackerel-agent.service
  become: yes


- name: Wait until created mackerel-id file
  wait_for:
    path: /var/lib/mackerel-agent/id
    timeout: 30


- name: Stop service mackerel-agent if running for createAMI
  systemd:
    name: mackerel-agent.service
    state: stopped
  become: yes


- name: Check mackerel-id file for createAMI
  stat:
    path: /var/lib/mackerel-agent/id
  become: yes
  register: mackerel_id_file


- name: Delete mackerel-id file if exist for createAMI
  file:
    state: absent
    path: /var/lib/mackerel-agent/id
  become: yes
  when: mackerel_id_file.stat.exists

roles/mackerel/templates/auto-retirement.conf.j2
AUTO_RETIREMENT=1
roles/mackerel/templates/mackerel-agent.conf.j2
apikey = "{{ mackerel_agent_apikey }}"
include = "/etc/mackerel-agent/*"
roles/mackerel/defaults/main.yml
mackerel_use_plugins: yes
mackerel_agent_start_on_setup: yes
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1