はじめに
qiitaでは、Mackerelについての記事が多いですが、クラウドサーバー(Alibaba Cloud, AWS)へのインストール方法をまとめる記事がまだ存在していないため、インストール方法について書きたいと思います。
Mackerelのインストール手順
グローバルIPを持つインスタンスの場合
グローバルIPを持つインスタンスはインターネットへ接続可能のため、公式ドキュメントにある手順の通りにインストールすることができます。自動化したい場合は、ansible
やchef
といったプロビージョンニングツールを使えばよいでしょう。
その一方、Alibaba Cloud のECSの場合は、「ユーザーデータ」という機能を利用してインストールすることもできます。Alibaba CloudのECSを購入する画面にあります。
ユーザーデータの入力ボックスに渡されるコマンドは、インスタンスが作成・初期化された後で実行されます。この機能を使えば、インスタンスを初期設定をBootstrapすることができます。
今回は、ユーザーデータを使用して、インスタンスを作成した後で mackerel-agent
を自動インストールしたいと思います。インスタンス購入画面で、スペックなどを選択した後で、ユーザーデータのところに、以下のBashスクリップを入力することで、インスタンス作成が終わったあとで、mackerel-agent
がインストールされます。
# !/bin/bash
curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh
sudo yum install -y mackerel-agent
sudo yum update -y mackerel-agent
echo 'apikey = "<YOUR_API_KEY>"' | sudo tee --append /etc/mackerel-agent/mackerel-agent.conf
systemctl enable mackerel-agent
YOUR_API_KEY
はMackerelの管理画面で確認できます
インスタンスが「実行中」の状態になったら、SSHでログインしmackerel-agent
のインストールが確認できます。
[telescreen@iz6weh3wauwb270w71hzitz ~]$ cat /etc/mackerel-agent/mackerel-agent.conf$ cat /etc/mackerel-agent/mackerel-agent.conf
# pidfile = "/var/run/mackerel-agent.pid"
# root = "/var/lib/mackerel-agent"
# verbose = false
# apikey = ""
# [host_status]
# on_start = "working"
...
apikey = "<YOUR_API_KEY>"
[telescreen@iz6weh3wauwb270w71hzitz ~]$ sudo systemctl start mackerel-agent
[telescreen@iz6weh3wauwb270w71hzitz ~]$ systemctl status mackerel-agent
● mackerel-agent.service - LSB: start and stop mackerel-agent
Loaded: loaded (/etc/rc.d/init.d/mackerel-agent; bad; vendor preset: disabled)
Active: active (running) since Fri 2017-05-12 17:11:09 CST; 2 days ago
Docs: man:systemd-sysv-generator(8)
Process: 2127 ExecStart=/etc/rc.d/init.d/mackerel-agent start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mackerel-agent.service
└─2129 /usr/bin/mackerel-agent --pidfile=/var/run/mackerel-agent.pid --root=/var/lib/mackerel-agent
May 12 17:11:06 iZ6weh3wauwb270w71hzitZ systemd[1]: Starting LSB: start and stop mackerel-agent...
May 12 17:11:09 iZ6weh3wauwb270w71hzitZ mackerel-agent[2127]: Starting mackerel-agent:[ OK ]
May 12 17:11:09 iZ6weh3wauwb270w71hzitZ systemd[1]: Started LSB: start and stop mackerel-agent.
Mackerel管理画面の方でも、インスタンスのホスト名が表示されます。
グローバルIPを持たない場合
VPCのSNATゲートウェイの作成手順に書いた通りにまずSNATゲートウェイを設定してから、グローバルIPを持つ手順通りに設定できます。