메뉴 닫기

Ansible을 활용한 Kibana 및 Elasticsearch 설치 및 구성

– Ansible :

IT 자동화 및 구성 관리 도구로, 서버 환경을 효과적으로 관리하고 자동화하기 위해 설계된 오픈 소스 도구이다.

서버 프로비저닝, 설정 관리, 배포 자동화 등 다양한 운영 작업을 지원하여 IT 인프라를 효과적으로 관리하는 데 사용된다.

⋅ 기본 사용법

Ansible 설치 -> Inventory 파일 작성 -> 플레이북 작성 -> 작성한 플레이북을 실행

– Elasticsearch :

오픈 소스 실시간 분산형 검색 및 분석 엔진으로, 대용량의 데이터를 신속하게 쿼리하고 분석할 수 있다. 주로 로그 데이터, 지표, 메트릭스 등의 다양한 유형의 데이터에 대한 검색과 분석에 사용된다.

– Kibana :

Kibana는 Elasticsearch에서 수집한 데이터를 시각적으로 탐색하고 대시보드를 생성하는 오픈 소스 도구이다. 직관적인 사용자 인터페이스를 제공하여 데이터를 쉽게 이해하고 관리할 수 있다.

https://www.elastic.co/kr/kibana​

 

• 테스트 환경

Ubuntu 22.04 LTS(원본 서버, Source Server), CentOS 7(대상 서버, Destination Server)

1. Ansible 설치

# Ubuntu에서 Ansible 설치
apt update
apt upgrade
apt install -y ansible
apt -y install ansible sshpass (SSH 기반으로 사용되기 때문에 sshpass 패키지까지 설치)

 

2. 인벤토리 파일 생성

servers.ini 파일을 생성하고 동기화할 서버의 IP 주소 또는 도메인을 등록

# vi servers.ini

[servers]
remote_server ansible_ssh_host=(ip) ansible_ssh_user=(user)

 

3. Ansible 플레이북 작성 (Kibana 및 Elasticsearch 설치 및 구성)

elk.yml 플레이북을 작성

# vi elk.yml

---
- hosts: servers
  become: true
  tasks:
    - name: Install Java
      yum:
        name: java-1.8.0-openjdk
        state: present

    - name: Install Elasticsearch
      yum:
        name: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-x86_64.rpm
        state: present

    - name: Install Kibana
      yum:
        name: https://artifacts.elastic.co/downloads/kibana/kibana-7.15.1-x86_64.rpm
        state: present

    - name: Configure Kibana server.host and server.port
      lineinfile:
        path: /etc/kibana/kibana.yml
        line: "{{ item }}"
        state: present
      with_items:
        - "server.host: '0.0.0.0'"
        - "server.port: 5601"

    - name: Start Elasticsearch and Kibana services
      systemd:
        name: "{{ item }}"
        state: started
        enabled: yes
      loop:
        - elasticsearch
        - kibana

 

a. Java 설치

Elasticsearch 및 Kibana는 Java를 필요로 하므로, 먼저 Java를 설치해 준다.

- hosts: servers
  become: true
  tasks:
    - name: Install Java
      yum:
        name: java-1.8.0-openjdk
        state: present

b. Elasticsearch 및 Kibana 설치 (7.15.1v)

    - name: Install Elasticsearch
      yum:
        name: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-x86_64.rpm
        state: present

    - name: Install Kibana
      yum:
        name: https://artifacts.elastic.co/downloads/kibana/kibana-7.15.1-x86_64.rpm
        state: present

c. Kibana 구성

Kibana를 외부에서 접속할 수 있도록 서버 호스트를 0.0.0.0으로, 포트를 5601로 설정한다.

    - name: Configure Kibana server.host and server.port
      lineinfile:
        path: /etc/kibana/kibana.yml
        line: "{{ item }}"
        state: present
      with_items:
        - "server.host: '0.0.0.0'"
        - "server.port: 5601"

d. Elasticsearch 및 Kibana 서비스 시작

Elasticsearch와 Kibana 서비스를 시작하고, 부팅 시 자동 실행되도록 설정한다.

    - name: Start Elasticsearch and Kibana services on CentOS
      systemd:
        name: "{{ item }}"
        state: started
        enabled: yes
      loop:
        - elasticsearch
        - kibana

 

4. SSH 키 복사

Ansible을 사용하여 SSH 키를 복사하여 원격 서버에 접속이 가능하도록 설정한다.

ssh-keygen # SSH 키 생성
ssh-copy-id (user)@(ip) # SSH 키 복사

 

5. 플레이북 실행

ansible-playbook -i inventory.ini elk.yml

 

6. Kibana 접속 확인

Kibana의 port는 5601로 설정되어 있어 IP:5601로 접속하면 된다.

 

Ansible

접속 확인!!

이렇듯 Kibana는 사용자가 데이터를 직관적이고 효과적으로 탐색하고 관리할 수 있는 다양한 도구들을 제공하고 있어, 잘 활용한다면 데이터 관리와 분석에 매우 유용하게 사용할 수 있을 것이다.

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x