목적 : CentOS7에서 ELK Stack 환경 구성
- 수행 내용 :
Java 설치, Elasticsearch, Kibana, Filebeat, Logstash 설치- 참고 내용 :
https://classicismist.blogspot.com/2020/01/centos7-elk-stack-filebeat-logstash.html (블로그를 따라 설치하다가 오류가 발생하는 부분이 있어 내 블로그에 정리해본다)
자바 버전 확인
# 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 빼고)
# 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
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
EOF
3) install
# yum install --enablerepo=elasticsearch elasticsearch
4) elasticsearch.yml 수정
# vi /etc/elasticsearch/elasticsearch.yml
5) es 재시작 및 설치 확인
# systemctl restart elasticsearch
# curl http://127.0.0.1:9200
아래와 같이 나오면 제대로 설치 된 것임!
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
EOF
3) install
# yum install kibana
4) kibana.yml 수정
# vi /etc/kibana/kibana.yml
5) kibana 재시작 및 설치 확인
# systemctl restart kibana
http://127.0.0.1:5601
아래와 같이 나오면 제대로 설치 된 것
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
EOF
3) install
# yum install logstash
4) filebeat && elasticsearch 연결 설정
elastic search 공식사이트에 나와있는 설치 방법을 따라서 진행
# cd /etc/logstash
에 config폴더에 demo-metrics-pipeline.conf를 생성 # 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}"
}
}
EOF
5) logstash 재실행
# systemctl restart logstash
=> 오류 발생
위와 같은 오류가 발생했을때 아래 방법을 따라하면 됨 (참고)
Unit logstash.service could not be found.
이런 메시지가 뜰 것이다./usr/share/logstash/bin/system-install /etc/logstash/startup.options systemd
service logstash status
1) rpm으로 설치
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2) install
# yum install filebeat
3) filebeat.yml 수정
# vi /etc/filebeat/filebeat.yml
#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"]
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
4) system 활성화 및 modules 리스트 확인
filebeat modules enable system
filebeat modules list
systemctl restart elasticsearch
systemctl restart logstash
systemctl restart kibana
systemctl restart filebeat
여기서부터의 내용은 참고 블로그 내용과 동일하다!
블로그 내용을 따라하면
요런 kibana 결과가 나온다