Alibaba Cloud의 ECS 인스턴스에 Mackerel-Agent를 설치하는 방법

소개



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가 있는 절차대로 구성할 수 있습니다.

좋은 웹페이지 즐겨찾기