[ElasticSearch] CentOS7 ELK Stack 설치
목적 : CentOS7에서 ELK Stack 환경 구성
- 수행 내용 :
Java 설치, Elasticsearch, Kibana, Filebeat, Logstash 설치- 참고 내용 :
https://classicismist.blogspot.com/2020/01/centos7-elk-stack-filebeat-logstash.html (블로그를 따라 설치하다가 오류가 발생하는 부분이 있어 내 블로그에 정리해본다)
01. Java 설치
- 
자바 버전 확인 
 # java -version 
- 
자바 설치 
 1) open-jdk 1.8 설치 (자바가 없다면)
 # yum install java-1.8.0-openjdk
 # yum install java-1.8.0-openjdk-devel
 .
 2) 환경 변수 등록
 readlink -f /usr/bin/java명령어를 치고 아래에 출력되는 경로 복사 JAVA_HOME = 복사한 경로(/jre/bin/java 빼고) JAVA_HOME = 복사한 경로(/jre/bin/java 빼고)
      # cat >> /etc/profile <<EOF
      JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
      PATH=$PATH:$JAVA_HOME/bin
      CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
      export JAVA_HOME PATH CLASSPATH
      EOF.
3) # source /etc/profile 명령어로 활성화 
4) 환경 변수 등록 테스트
  # echo $JAVA_HOME
  # echo $PATH
  # echo $CLASSPATH
02. ES 설치
1) rpm으로 설치
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) elasticsearch.repo 수정
# cat >> /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
EOF3) install
# yum install --enablerepo=elasticsearch elasticsearch
4) elasticsearch.yml 수정
# vi /etc/elasticsearch/elasticsearch.yml
- 주석 제거
 network.host : localhost
 http.port:9200
5) es 재시작 및 설치 확인
# systemctl restart elasticsearch
# curl http://127.0.0.1:9200
아래와 같이 나오면 제대로 설치 된 것임!

03.Kibana 설치
1) rpm으로 설치
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) kibana.repo 수정
# cat >> /etc/yum.repos.d/kibana.repo <<EOF
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF3) install
# yum install kibana
4) kibana.yml 수정
# vi /etc/kibana/kibana.yml
- 주석 제거
 server.port:5601
 server.host: "localhost"
 elasticsearch.hosts: ["http://localhost:9200"]
5) kibana 재시작 및 설치 확인
# systemctl restart kibana
http://127.0.0.1:5601
아래와 같이 나오면 제대로 설치 된 것 
04.logstash 설치
1) rpm으로 설치
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) logstash.repo 수정
# cat >> /etc/yum.repos.d/logstash.repo <<EOF
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF3) install
# yum install logstash
4) filebeat && elasticsearch 연결 설정
elastic search 공식사이트에 나와있는 설치 방법을 따라서 진행 
- # cd /etc/logstash에 config폴더에 demo-metrics-pipeline.conf를 생성
  
- conf 파일에 내용 추가
 +port => 5044 밑에 host =>"0.0.0.0" 추가 
- 아래 코드 입력
  # cat > /etc/logstash/config/demo-metrics-pipeline.conf <<EOF
  input {
    beats {
      port => 5044
      host => "0.0.0.0"
    }
  }
  filter {
    if [system][process] {
      if [system][process][cmdline] {
        grok {
          match => {
            "[system][process][cmdline]" => "^%{PATH:[system][process][cmdline_path]}"
          }
          remove_field => "[system][process][cmdline]"
        }
      }
    }
  }
  output {
    elasticsearch {
      hosts => "localhost:9200"
      manage_template => false
      index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    }
  }
  EOF5) logstash 재실행
# systemctl restart logstash => 오류 발생 
위와 같은 오류가 발생했을때 아래 방법을 따라하면 됨 (참고)
- logstash service status를 확인
 Unit logstash.service could not be found.이런 메시지가 뜰 것이다.
- 아래 커멘드 입력
 /usr/share/logstash/bin/system-install /etc/logstash/startup.options systemd
- logstash status 확인
 service logstash status
  
05.filebeat 설치
1) rpm으로 설치
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) install
# yum install filebeat
3) filebeat.yml 수정
# vi /etc/filebeat/filebeat.yml
- logstash를 이용해 elasticsearch로 보내고 싶을 때 - output.elasticsearch 부분을 주석
 
    #output.elasticsearch:
      # Array of hosts to connect to.
      #hosts: ["localhost:9200"]- output.logstash 부분 주석 제거
 
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]4) system 활성화 및 modules 리스트 확인
filebeat modules enable system
filebeat modules list
06. 시스템 가동
- 모든 시스템 가동
systemctl restart elasticsearch
systemctl restart logstash
systemctl restart kibana
systemctl restart filebeat여기서부터의 내용은 참고 블로그 내용과 동일하다!
블로그 내용을 따라하면
 요런 kibana 결과가 나온다
요런 kibana 결과가 나온다 
Author And Source
이 문제에 관하여([ElasticSearch] CentOS7 ELK Stack 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yje876/ElasticSearch-CentOS7-ELK-Stack-설치저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)