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. 권한 관리 사용자 추가
키바나에 로그인한 후 관리 페이지로 들어가기
관리에서 새로운 사용자를 추가하고 다른 권한을 할당할 수 있습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위챗 애플릿의 간단한 로그인 페이지 이동우선 APP에 tapbar를 설정합니다.js에서 관련 데이터 사용자의 정보를 설정합니다. login 페이지는 귀속 데이터가 필요합니다.사용자 이름 로그인 이벤트 바인딩하기; 사용자 정보를 표시하는 사용자 페이지use...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.