[3] Linux에 ELK환경구축(apache,filebeat,metricbeat)
-2022.08.28-
ELK 환경 구축
Elasticsearch Logstash Kibana
이전편은 아래 링크로!
실습 설명
실습 시작
로그 스태쉬의 yml파일을 수정해보자.
빨간색의 영역을 변경해준다.
마지막의 set numbert 명령어를 이용하면 라인이 많은 파일 안에서 쉽게 라인 넘버 표시가 가능하다.
사용하는 방법은 yml 등의 모든 파일에 접근 후 아무것도 누르지 말고 그대로 아래와 같이 입력하는것이다.
변경 하면 이제 모니터링이 가능하게 바뀐다.
:set number
yml파일을 수정한다.
cd /etc/logstash
ls
sudo vim logstash.yml
Stack monitoring을 누른다.
셋업 말고 그 밑의 빨간 박스를 눌러 준다. 그리고 잠시 기다려준다.
스택들을 모두 모니터링 할 수 있는 매트릭스를 생성했다.
이제 이곳에서 전체적으로 모니터링 할 수 있다.
이제 파일비트를 구축하려고 한다.
우선 칼리로 돌아와 apache2 를 시작해준다.
위에 nginx는 이전에 docker를 구동하기 위해 잠시 시작했던 것으로 나는 stop을 입력해 서버를 중지하고
아파치 서버를 새로 열어 주었다.
sudo service nginx stop
sudo service apache2 start
닉토를 이용해 포트스캔을 한다.
칼리 IP가 192.168.20.128인데 칼리를 스캔하는 이유는 조금 전 아파치 서버에 로그를 남기기 위해서이다.
명령어를 이용하여 파일비트를다운받아 준다.
sudo wget https://artifacts.elasticsearch.co/downloads/beats/filebeat/filebeat-7.8.1-amd64.deb
그리고 dpkg명령어로 다운받은 deb파일을 설치해준다.
sudo dpkg -i filebeat-7.8.1-amd64.deb
다시 elk 우분투로 돌아와 해당 경로에서 web.conf를 생성 및 편집한다.
아래 코드를 복사하여 붙여 넣어 주자
input {
beats{
port => 5045
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
geoip {
source => "clientip"
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
index => "web-%{+YYYY.MM.dd}"
}
}
web.conf를 시작해준다.
./logstash -f /etc/logstash/conf.d/web.conf
정상작동 유무를 확인 할 수 있다. :)
저 중 에러가 떠서는 안됀다..
칼리로 돌아와서 filebeat.yml을 수정하기 위해 해당 경로로 이동한다.
cd /etc/filebeat
sudo vim filebeat.yml
24번째 줄을 true로, 28번째 줄에 있는 경로를 변환해준다.
역시나 set number명령어를 입력하면 훨씬 보기 편하다..
그 밑으로 내려서 logstash 영역도 위와 같이 수정해준다.
저장하고 나와서 서비스를 시작한다.
sudo service filebeat start
이제 9200번 포트에서 확인해보면 web-2022.08.26이라는 로그가 생긴것을 확인 할 수 있다.
역시 패턴등록을 같이 해준다.
Home에서 Logs 부분에 Add log data를 눌러 준다.
Metrics > Apache Metrics 클릭
DEB 탭을 누른 후 나와있는 명령어를 이용해 deb파일을 받아준다.
명령어를 이용해 deb파일을 다운로드 받는다.
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.8.1-amd64.deb
패키지 설치까지 진행한다.
sudo dpkg -i metricbeat-7.8.1-amd64.deb
이제 기존에 파일비트에서 했던 것 처럼 동일하게 yml파일들을 수정해준다.
cd /etc/metricbeat
ls
sudo vim metricbeat.yml
키바나 영역의 host를 수정해준다.
엘라스틱서치 영역도 동일하게 수정해주고 저장 후 빠져나온다.
module.d 폴더로 이동후 apache.yml이 disabled되어있는 것을 확인했다.
cd modules.d
ls
모듈을 활성화 해준다.
sudo metricbeat modules enable apache
명령어를 이용해 매트릭비트를 셋업한다.
sudo metricbeat setup
sudo service metricbeat start
엘라스틱에서도 매트릭비트에서 로그가 온것을 확인 할 수 있다.
매트릭비트 이름으로 패턴을 생성한다 :)
yml파일을 수정해준다.
cd /etc/filebeat
ls
sudo vim filebeat.yml
키바나 영역의 Host를 수정해준다.
Elasticsearch 영역의 hosts도 수정한다.
Logstash 영역에서 166번째줄에서 문자열 추가해준다.
파일 비트 셋업..
sudo filebeat setup
파일을 수정했다면 반드시 멈추었다 다시 시작해주자
sudo service filebeat stop
sudo service filebeat start
마 치 며
중간 중간 설명이 많이 부족했던 것 같다..
캡쳐하지 못한 부분들이 있어서 일부 스터디 하는 동기것을 그대로 가져온것도 있었다. ( 고마워 윰 노션~! )
물론 진행에 큰 무리가 없는 선에서..ㅎㅎ
다음에는 진행에 무리가 없도록.. 잘 메모해 둬야지 ㅠ
'OS > Linux X' 카테고리의 다른 글
[2] Linux에 ELK 환경구축(Losgstash) (0) | 2022.08.27 |
---|---|
[1] Linux에 ELK 환경 구축(Elasticsearch, Kibana) (0) | 2022.08.25 |
댓글
이 글 공유하기
다른 글
-
[2] Linux에 ELK 환경구축(Losgstash)
[2] Linux에 ELK 환경구축(Losgstash)
2022.08.27 -
[1] Linux에 ELK 환경 구축(Elasticsearch, Kibana)
[1] Linux에 ELK 환경 구축(Elasticsearch, Kibana)
2022.08.25