LoginSignup
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-11-28

意図

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

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

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
1