filebeat+elasticSearch+kibana 로그 수집 시스템 구축

5794 단어 배우다

주의


filebeat는 로그를 수집하는 역할을 하기 때문에 로그가 있는 서버에 발표합니다
Elasitcsearch + Kibana 로그 최종 전송 대상 서버 발표
filebeat, Elasitcsearch, Kibana는 같은 버전을 사용하는 것이 좋습니다. 그렇지 않으면 호환되지 않을 수 있습니다
centos 6.x환경에서

1.1 로그가 있는 서버에 Filebeat 설치

sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

다음을
[elastic-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

파일로 저장 /etc/yum.repos.d/beat.repo설치 시작
yum -y install filebeat
chkconfig --add filebeat

시작 명령
/etc/init.d/filebeat start

1.2 별도의 설치 방법

https://www.elastic.co/downloads/beats/filebeat1

방식 1: 원본 코드
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-linux-x86_64.tar.gz
tar -zxvf filebeat-6.0.0-linux-x86_64.tar.gz

방식2:rpm
# 
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-x86_64.rpm
sudo rpm -ivh filebeat-6.0.0-x86_64.rpm

 
 

2. 로그 서버에 Elasticsearch 설치

mkdir -p ~/download && cd ~/download
​
wget -c https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.zip
unzip elasticsearch-1.7.2.zip 
( )
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
tar -xvf elasticsearch-6.0.0.tar.gz
​
mv elasticsearch-1.7.2 /usr/local/elasticsearch

시작 명령
cd /usr/local/elasticsearch/bin
./elasticsearch -d

참고: 보안을 고려하여 es는 루트 사용자로 실행할 수 없습니다. 따라서 절차는 다음과 같습니다.
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch  elasticsearch ( /usr/local/elasticsearch)
su elsearch # 
cd /usr/local/elasticsearch/bin # elasticsearch bin 
./elasticsearch -d

 
 

3. 로그 서버에 Kibana 설치

# 
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/kibana.repo  
​
[kibana-6.x]
name=Kibana repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
​
yum install kibana
chkconfig --add kibana
​
​
# 
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm
rpm -ivh kibana-6.0.0-x86_64.rpm
chkconfig --add kibana

 
 
시작 명령
/etc/init.d/kibana start

4.1 filebeat 구성

filebeat:
  prospectors:
    -
      document_type: "php-fpm"
      paths:
        - /var/log/php/php-fpm.log
    -
      document_type: "php-fpm.slow"
      paths:
        - /var/log/php/slow.log
      multiline:
          pattern: '^[[:space:]]'
          negate: true
          match: after
output:
  elasticsearch:
    hosts: ["192.168.1.88:9200"]
shipper:
  tags: ["web"]
​

위의 설정은 /var/log/server/php/php-fpm.log, /var/log/server/php/cloud.slow.log 두 위치에서 로그를 수집하는 것을 나타낸다. 그 중에서 슬로우 로그에 여러 줄이 하나의 기록으로 존재하기 때문에 filebeat는 세 개의 설정을 통해 여러 줄을 한 줄로 전환한다. pattern, negate, match, 위의 설정은 공백으로 시작하는 줄이 아니면 이전 줄의 뒤로 연결된다는 것을 나타낸다. 패턴은 golang의 정규 문법을 따른다.output 명령어에서 로그를 elasticsearch 로 출력하고 서비스가 있는 IP와 포트를 추가하여 여러 대를 추가할 수 있고 음의 균형을 지원할 수 있도록 지정합니다shipper 뒤에 키바나에서 데이터를 선별할 수 있도록 tag를 지정할 수 있습니다
자, Filebeat를 다시 시작하면 됩니다. /etc/init.d/filebeat restart

4.2 Elasticsearch 구성


Elasticsearch가 시작되었는지 확인합니다.

4.3 kibana 구성


filebeat를 설치하는 예시 계기판 등
mkdir -p ~/download && cd ~/download
curl -L -O http://download.elastic.co/beats/dashboards/beats-dashboards-1.3.1.zip
unzip beats-dashboards-1.3.1.zip
cd beats-dashboards-1.3.1/
./load.sh

기본적으로 스크립트는 127.0.1:9200에서 Elasticsearch를 실행한다고 가정합니다.-url 옵션을 사용하여 다른 위치를 지정합니다.예: ./load.sh -url http://192.168.1.88:9200.
kibana에서elasticsearch의 주소와 포트를 설정해야 합니다. 현재 두 서비스는 모두 같은 데스크톱에 있습니다. 설정은 기본값localhost:9200이기 때문에 변경할 필요가 없습니다.

4.4 키바나 열기


kibana 시작 후 기본 포트 5601, 브라우저에서 열기 http://192.168.1.88:5601

5. 액세스 권한 추가


elasticsearch 디렉터리에 들어가서 x-pack 다운로드
bin/elasticsearch-plugin install x-pack

설치 과정에서 옵션 y를 벗어나면 됩니다.
Elasticsearch에서 자동 인덱스 생성을 사용하지 않으면,elasticsearch에 있습니다.yml 설정 action.auto_create_index는 X-pack이 다음 지표를 만들 수 있도록 합니다.
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*

ES를 시작하면 오류가 발생할 가능성이 높습니다!
Exception in thread "main"org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException:/usr/local/elasticsearch/config/elasticsearch.keystore
알림 권한이 부족합니다. root 사용자로 전환하여 실행하십시오.
chown 사용자 이름(elsearch)/usr/local/elasticsearch-R
따로초기 계정 비밀번호가 틀렸을 가능성이 높기 때문에 자신의 비밀번호를 미리 설정할 수 있습니다 (이 방법은 6.x 및 상기 버전 적용)
bin/x-pack/setup-passwords interactive

 
kibana 디렉터리에 들어가서 x-pack 다운로드
bin/kibana-plugin install x-pack
# Plugin installation complete 

키바나 수정.yml의elasticsearch 계정 비밀번호, 기본값은 계정:elastic 비밀번호:changme
키바나 인터페이스에 들어가면 비밀번호 수정을 할 수 있지만 수정 후에는 키바나의 계정 비밀번호를 다시 수정하고 다시 시작합니다.
주: rpm 설치는 기본적으로/usr/share/kibana에 있습니다.kibana-plugin
 
 

6. 권한 관리 사용자 추가


 
키바나에 로그인한 후 관리 페이지로 들어가기
관리에서 새로운 사용자를 추가하고 다른 권한을 할당할 수 있습니다

좋은 웹페이지 즐겨찾기