Node Exporter의 최신 Release는 여기에서 확인하실 수 있습니다.
위의 링크를 참조하여 모든 서버에 아래 버전을 수정해서 설치해주시면 됩니다.
#!/bin/bash
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz
sudo mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/
sudo cat > node_exporter.service <<-EOF
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=$USER
Group=$USER
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
sudo cp node_exporter.service /etc/systemd/system/node_exporter.service
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl status node_exporter
sudo systemctl enable node_exporter
sudo rm -rf node_exporter-0.18.1.linux-amd64.tar.gz
이제 Prometheus를 설치해보겠습니다. 최신 버전은 여기서 확인하실 수 있습니다.
#!/bin/bash
wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz
tar -xvf prometheus-2.16.0.linux-amd64.tar.gz
rm -rf prometheus-2.16.0.linux-amd64.tar.gz
mv prometheus-2.16.0.linux-amd64 prometheus
nohup ./prometheus/prometheus --web.enable-lifecycle --config.file ./prometheus/prometheus.yml > prometheus.log 2>&1 &
yaml을 따로 수정하지 않았다면 Localhost에 관해서만 매트릭이 수집되고 있는 상태입니다.
프로메테우스에 접속해서 Target을 통해 yaml에 정의한 서버들이 제대로 수집되고 있는지 확인할 수 있습니다.
여기서 --web.enable-lifecycle 옵션은 나중에 프로메테우스에 수집하고자 하는 메트릭을 추가할 때,
중지하지 않고 Reload 하기 위한 옵션입니다.
나중에 yaml을 수정한 후에는 아래 명령어를 통해 수집하고자 하는 metric들을 중지 없이 추가할 수 있습니다.
curl -s -XPOST localhost:9090/-/reload
마지막으로 Grafana를 설치하겠습니다. 최신 버전은 여기에서 확인할 수 있습니다.
#!/bin/bash
wget https://dl.grafana.com/oss/release/grafana-6.6.1-1.x86_64.rpm
sudo yum -y localinstall grafana-6.6.1-1.x86_64.rpm
sudo service grafana-server start
그라파나로 접속하고, 최초 로그인은 admin/admin 입니다.
이후 아래와 같이 비밀번호를 변경해서 사용하시면 됩니다.
이제 Grafana와 Prometheus를 연동하도록 하겠습니다.
DataSource를 Prometheus로 골라주시고, 저는 한 서버에 Prometheus와 Grafana를 설치 했기 때문에 로컬로 호출하도록 하겠습니다.
메트릭을 수집할 서버를 조금 다듬어 보도록 하겠습니다.
yml파일을 아래와 같이 수정해주세요
수집하고자 하는 job name은 Grafana 대시보드에 뜰 서버 이름이며, IP:9100를 적어주시면 됩니다.
리로드가 정상적으로 수행됐다면 아래 처럼 중단없이 잘 바뀌어 수집되고 있는 것을 확인할 수 있습니다.
만약 오토스케일링이 되는 서버들도 모니터링하기를 원하신다면
위와 같이 yml 파일을 수정하고 reload api call을 하게 끔 자동화시키면 해결할 수 있습니다.
이제 마지막으로 대시보드를 구성해보겠습니다
아래 번호를 입력하면 오픈소스 특성 상 다른 유저분들이 꾸며놓은 대시보드를 import하여 사용할 수 있습니다.
다음 게시글에서는 ECS에서 컨테이너들에 대한 메트릭 수집에 대해 알아보도록 하겠습니다.
'Mornitoring > Grafana' 카테고리의 다른 글
Grafana Mornitoring - 4. ECS Cluster & Container (0) | 2020.02.24 |
---|---|
Grafana Mornitoring - 3. 윈도우 서버 WMI Exporter 세팅 (0) | 2020.02.19 |
Grafana Mornitoring - 1. Intro (0) | 2020.02.17 |