Help us understand the problem. What is going on with this article?

Ansibleを使ってAmazon LinuxにMackerelのAgentをインストールする

More than 3 years have passed since last update.

意図

MackerelのAgent、EC2にインストールするときの手順は公式にあるのですが、対象サーバが複数台あると面倒なので、Ansible使って一気にインストールとエージェントの起動までしたいなあ、と思いました。

やり方

手順を見る限り、

  1. シェルスクリプトでリポジトリを登録
  2. yumでインストール
  3. コマンドでAPIキーの設定
  4. エージェント起動

ぐらいなので、簡単なPlaybookを一つ書いてしまえば十分かなあと。
てなわけで、下記のようにしてみました。

軽くこちらを参考にしてます。

インベントリファイル

hosts
[web]
xxx.xxx.xxx.xxx
yyy.yyy.yyy.yyy

[all:vars]
ansible_ssh_user=ec2-user
ansible_ssh_private_key_file=/path/to/ec2.pem

webのところに該当のホストのIPまたはパブリックDNSを記載。
SSHユーザはデフォルトのec2-user
鍵を指定してSSHするなら該当のホストに対するSSHに必要な秘密鍵のパスを記載
オプションで指定するのが面倒なのでここに書いてますが、
とりあえずSSHが通ればなんでもいいです(適当)
そもそもSSHが通らないとAnsible使えないのと、本題とそれるので細かくは割愛

Playbook

下記のようにしてみました。

Mackerel.yml
---
- hosts: all
  become: yes
  tasks:
    - name: Import GPG Key
      rpm_key: state=present key=https://mackerel.io/assets/files/GPG-KEY-mackerel

    - name: Install mackerel repo(Amazonlinux)
      yum: name=http://yum.mackerel.io/amznlinux/latest/x86_64/mackerel-repo-1-0.noarch.rpm state=present

    - name: Install yum mackerel angent
      yum: name=mackerel-agent state=present

    - name: Configure /etc/mackerel-agent/mackerel-agent.conf
      command: mackerel-agent init -apikey="<YOUR_API_KEY>"

    - name: Start mackerel-agent
      service: name=mackerel-agent state=started enabled=yes

インストール手順中にあるシェルスクリプトの中身ですが、

  1. MackerelのドメインからGPGキーをダウンロードしてインポート
  2. rpmコマンドでリポジトリ追加

を行っているだけでした。前半の2つのタスクがそれに該当します。
シェルスクリプトそのまま使っても良かったんですが、
既にリポジトリを追加済みだった場合、
シェルスクリプトがエラーを返してしまいそこでfailedになってしまうので、
同様のことをPlaybookで行うこととしました。

rpm_keyモジュールでGPGキーのインポートができて、
yumモジュールでリポジトリ追加ができるとのことなので、そちらで行いました。
Ansible本当に便利だなあ…。
<YOUR_API_KEY>のところは自分のAPIキーに置き換えてください。

あとは
ansible-playbook -i hosts Mackerel.yml
で行けるはずです。(hostsもMackerel.ymlもカレントディレクトリにある前提です。)

注意事項

AmazonLinuxでない場合URLが微妙に違ったりするので、Install mackerel repoのURLを変えないとダメだと思います。
RPMパッケージを使う場合(AmazonLinux以外)の手順は下記。
それ以外のところは公式サイトを。
https://mackerel.io/ja/docs/entry/howto/install-agent/rpm

何かあればご指摘くださると助かります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした