728x90
300x250

먼저 준비물은 다음과 같습니다.

ansible이 설치된 서버와 다른 pc와 연결된 상태여야 합니다.

연결이 됐는지 확인하려면 ansible hosts에 다른 pc IP를 입력한 후 

 

ansible all -m ping

 

을 통해 연결이 됐는지 확인할 수 있습니다.

연결 방법에 대해서는 개개인의 설정이 다르기에 알맞은 정보를 찾아서 연결하셔야 됩니다.

 

ping을 통해 연결이 된 것을 확인하면 다음과 같이 ansible playbook을 작성합니다.

 

node-exporter.yml

---
- hosts: exporter
  gather_facts: no
  tasks:
    - name: Create node-exproter dir # exporter가 설치 될 디렉토리를 만들어 줍니다.
      file:
        path: /home/daou_docker/exporters/node-exporter # 경로는 알맞게 변경하셔야 됩니다.
        state: directory

    - name: Install node-exporter # docker-compose 파일을 다른 pc의 경로에 옮깁니다.
      template:
        src: "/home/daou_docker/node-exporter/docker-compose.yml" # 대부분의 경로는 알맞게 변경하셔야 됩니다.
        dest: "/home/daou_docker/exporters/node-exporter"

    - name: Run node-exporter # 해당 docker-compose 파일을 실행합니다
      become: true # root 권한을 사용합니다
      shell:
        chdir: "/home/daou_docker/exporters/node-exporter"
        cmd: docker-compose up -d node-exporter

 

저는 node-exporter를 docker로 띄우기 위해 docker-compose를 사용했습니다.

아래는 docker-compose 파일 내용입니다.

 

docker-compose.yml

version: "3"

services:
  node-exporter:
    container_name: node-exporter
    image: prom/node-exporter
    ports:
      - "9100:9100"

 

prometheus가 제공하는 node-exporter 이미지를 다운받아 9100 포트에 마운트 해줍니다.

이렇게 파일이 작성되었으면 다시 ansible playbook이 있는 경로로 들어가 다음 명령어를 실행합니다.

 

ansible-playbook node-exporter.yml

 

명령어를 입력하면 정상적으로 작동되는 것을 볼 수 있습니다.

대부분의 오류는 다른 pc와의 연결문제이거나, 파일의 권한문제, 경로문제가 많으니 이를 확인하면서 진행해주시면 됩니다.

728x90
300x250