설치 가이드 · 3 min read · Nov 19, 2025

CentOS 7에 Prometheus와 node_exporter 설치하는 방법

Prometheus는 구성된 대상 시스템에서 메트릭을 수집할 수 있는 오픈 소스 모니터링 시스템입니다. Prometheus는 강력한 쿼리, 훌륭한 시각화, 정확한 경고를 갖춘 다차원 데이터 모델을 구현하며, 많은 통합 기능을 제공합니다.

Prometheus는 원래 2012년 SoundCloud에 의해 만들어졌지만, 현재는 오픈 소스 커뮤니티에 의해 독립적으로 유지되는 독립적인 오픈 소스 프로젝트가 되었습니다. 모든 구성 요소는 Github에서 Apache 2 라이센스 하에 제공됩니다.

이 튜토리얼에서는 Prometheus와 node_exporter를 설치하고 구성하는 방법을 보여드리겠습니다. 우리는 Prometheus 모니터링 시스템을 설치한 후, 서버에서 메트릭을 수집하기 위해 node_exporter를 구성할 것입니다. 이 튜토리얼 가이드는 CentOS 7 서버를 사용할 것입니다.

전제 조건

  • CentOS 7 서버
  • 루트 권한

우리가 할 일

  1. 새 사용자 생성 및 Prometheus 다운로드
  2. Prometheus를 Systemd 서비스로 구성
  3. Firewalld 구성
  4. node_exporter 설치 및 구성
  5. node_exporter를 Prometheus 서버에 추가
  6. 테스트

1단계 - 새 사용자 생성 및 Prometheus 다운로드

이 튜토리얼에서는 Prometheus 서비스가 비루트 사용자로 실행됩니다. 따라서 시스템에 새 비루트 사용자를 생성해야 합니다. ‘prometheus’라는 이름의 새 사용자를 생성하고 모든 prometheus 서비스는 prometheus 사용자 아래에서 실행됩니다.

아래 명령어를 사용하여 새 ‘prometheus’ 사용자를 생성합니다.

useradd -m -s /bin/bash prometheus

새 사용자가 생성되었습니다. 이제 사용자로 로그인하고 wget 명령어를 사용하여 prometheus를 다운로드합니다.

su - prometheus  
wget https://github.com/prometheus/prometheus/releases/download/v2.2.1/prometheus-2.2.1.linux-amd64.tar.gz

prometheus-xx.x.x.tar.gz 파일을 추출하고 디렉토리 이름을 ‘prometheus’로 변경합니다.

tar -xzvf prometheus-2.2.1.linux-amd64.tar.gz  
mv prometheus-2.2.1.linux-amd64/ prometheus/

Prometheus가 서버에 다운로드되었으며, 모든 prometheus 파일은 ‘/home/prometheus/prometheus’ 디렉토리에 있습니다.

2단계 - Prometheus를 Systemd 서비스로 구성

이 단계에서는 prometheus를 systemd 서비스로 구성합니다. ‘/etc/systemd/system’ 디렉토리에 prometheus.service라는 새 서비스 파일을 생성합니다.

‘/etc/systemd/system/‘ 디렉토리로 이동하여 vim 편집기를 사용하여 새 서비스 파일 ‘prometheus.service’를 생성합니다.

cd /etc/systemd/system/  
vim prometheus.service

아래의 prometheus 서비스 구성을 붙여넣습니다.


[Unit]  
Description=Prometheus Server  
Documentation=https://prometheus.io/docs/introduction/overview/  
After=network-online.target  
  
[Service]  
User=prometheus  
Restart=on-failure  
  
#다른 경로에 Prometheus를 다운로드한 경우 이 줄을 변경하십시오.  
ExecStart=/home/prometheus/prometheus/prometheus \  
  --config.file=/home/prometheus/prometheus/prometheus.yml \  
  --storage.tsdb.path=/home/prometheus/prometheus/data  
  
[Install]  
WantedBy=multi-user.target

저장하고 종료합니다.

이제 아래의 systemctl 명령어를 사용하여 systemd 시스템을 다시 로드합니다.

systemctl daemon-reload

prometheus 서비스를 시작하고 시스템 시작 시마다 실행되도록 활성화합니다.

systemctl start prometheus  
systemctl enable prometheus

이제 prometheus가 systemd 서비스로 실행되고 있습니다. 아래 명령어를 사용하여 확인합니다.

systemctl status prometheus

‘Running’ 서비스 상태를 확인하십시오.

또는 아래의 netstat 명령어를 사용하여 확인합니다.

netstat -plntu

아래와 같은 결과를 확인하십시오.

prometheus가 실행 중인지 확인

Prometheus는 기본적으로 ‘9090’ 포트에서 실행되고 있습니다.

3단계 - Firewalld 구성

시스템에서 Firewalld를 사용하는 경우, 포트 9090을 Firewalld 목록 포트에 추가합니다.

아래의 firewall-cmd 명령어를 사용하여 Prometheus 접근을 위해 포트 9090을 엽니다.

firewall-cmd --add-port=9090/tcp --permanent  
firewall-cmd --reload

이제 웹 브라우저를 열고 포트 9090과 함께 서버 IP 주소를 입력합니다.

http://192.168.33.10:9090/graph

쿼리 필드에 ‘http_requests_total’을 입력하고 ‘Execute’ 버튼을 클릭합니다.

Prometheus 그래프

그러면 prometheus 서버에 대한 HTTP 요청과 시간, HTTP 상태 코드, 메서드 등의 모든 정보가 표시됩니다.

4단계 - node_exporter 설치 및 구성

node_exporter는 *Nix 및 Linux 시스템에서 실행할 수 있는 머신 메트릭의 익스포터입니다.

이 튜토리얼에서는 prometheus와 동일한 서버에 node_exporter를 설치합니다. 우리는 prometheus 서버의 메트릭을 모니터링하고 가져올 것입니다.

prometheus 사용자로 로그인하고 wget 명령어를 사용하여 ‘node_exporter’를 다운로드합니다.

su - prometheus  
wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0-rc.1/node_exporter-0.16.0-rc.1.linux-amd64.tar.gz

node_exporter를 추출하고 디렉토리 이름을 ‘node_exporter’로 변경합니다.

tar -xzvf node_exporter-0.16.0-rc.1.linux-amd64.tar.gz  
mv node_exporter-0.16.0-rc.1.linux-amd64 node_exporter

다음으로, node_exporter에 대한 새 서비스 파일을 생성합니다. 루트 셸로 돌아가서 ‘/etc/systemd/system’ 디렉토리로 이동하여 vim을 사용하여 새 node_exporter 서비스 파일 ‘node_exporter.service’를 생성합니다.

cd /etc/systemd/system/  
vim node_exporter.service

거기에서 아래의 node_exporter 서비스 구성을 붙여넣습니다.

[Unit]  
Description=Node Exporter  
Wants=network-online.target  
After=network-online.target  
  
[Service]  
User=prometheus  
ExecStart=/home/prometheus/node_exporter/node_exporter  
  
[Install]  
WantedBy=default.target

저장하고 종료합니다.

이제 systemd 시스템을 다시 로드합니다.

systemctl daemon-reload

그런 다음 node_exporter 서비스를 시작하고 시스템 시작 시마다 실행되도록 활성화합니다.

systemctl start node_exporter  
systemctl enable node_exporter

node_exporter 서비스가 이제 서버에서 실행되고 있습니다 - netstat 명령어를 사용하여 확인합니다.

netstat -plntu

그리고 node-exporter가 포트 9100에서 실행되고 있다는 것을 확인할 수 있습니다.

node_exporter 포트 확인

5단계 - node_exporter를 Prometheus 서버에 추가

이 단계에서는 node_exporter를 prometheus 서버에 추가합니다. prometheus 사용자로 로그인하고 구성 ‘prometheus.yml’ 파일을 편집합니다.

prometheus 사용자로 로그인합니다.

su - prometheus

‘prometheus’ 디렉토리로 이동하여 구성 파일 ‘prometheus.yml’을 편집합니다.

cd prometheus/  
vim prometheus.yml

‘scrape_config’ 라인 아래에 새로운 job_name node_exporter를 추가합니다. 아래 구성을 복사하여 붙여넣습니다.

  - job_name: 'node_exporter'  
    static_configs:  
      - targets: ['localhost:9100']

저장하고 종료합니다.

node_exporter를 Prometheus 서버에 추가

이제 prometheus 서비스를 재시작합니다.

systemctl restart prometheus

node_exporter가 prometheus 서버에 추가되었습니다.

6단계 - Prometheus 및 node_exporter 테스트

웹 브라우저를 열고 서버 IP 주소를 입력합니다.

http://192.168.33.10:9090/

쿼리 필드에 메모리 정보 수집기 ‘ node_memory_MemAvailable_bytes ‘를 입력하고 ‘Execute’ 버튼을 클릭합니다.

그리고 아래와 같은 결과를 얻을 수 있습니다.

node_memory_MemAvailable_bytes 결과

서버 인스턴스 ‘localhost:9100’에서 사용 가능한 메모리와 job_name ‘node-exporter’를 확인할 수 있습니다.

또는 node_exporter의 원시 데이터에 접근하려면 firewalld에 node_exporter 포트 9100을 추가해야 합니다.

firewall-cmd --add-port=9100/tcp  
firewall-cmd --reload

그런 다음 포트 9100과 함께 서버 IP 주소를 입력합니다.

http://192.168.33.10:9100/metrics

그리고 아래와 같은 node_exporter 원시 데이터를 얻을 수 있습니다.

결과 메트릭

CentOS 7에서 node_exporter와 함께 prometheus 모니터링 시스템의 설치 및 구성이 성공적으로 완료되었습니다.

참고

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.