– 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로 접속하면 된다.
접속 확인!!
이렇듯 Kibana는 사용자가 데이터를 직관적이고 효과적으로 탐색하고 관리할 수 있는 다양한 도구들을 제공하고 있어, 잘 활용한다면 데이터 관리와 분석에 매우 유용하게 사용할 수 있을 것이다.