RPM으로 Elasticsearch 설치
Elasticsearch PGP 키 가져 오기
Elasticsearch 서명 키 ( https://pgp.mit.edu 에서 사용 가능한 PGP 키 D88E42B4 )를 지문으로 모든 패키지에 서명합니다 .
4609 5ACC 8548582C 1A26 99A9 D27D 666C D88E 42B4
공개 서명 키를 다운로드하고 설치합니다.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
RPM 저장소에서 설치
라는 파일 만들기 elasticsearch.repo
에서 /etc/yum.repos.d/
레드햇 기반의 배포판에 대한 디렉토리를, 또는에 /etc/zypp/repos.d/
포함, 오픈 수세 기반의 배포판에 대한 디렉토리 :
[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
그리고 저장소를 사용할 준비가되었습니다. 이제 다음 명령을 사용하여 Elasticsearch를 설치할 수 있습니다.
sudo yum install --enablerepo=elasticsearch elasticsearch
RPM을 수동으로 다운로드 및 설치
Elasticsearch v7.10.0 용 RPM은 웹 사이트에서 다운로드하여 다음과 같이 설치할 수 있습니다.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-7.10.0-x86_64.rpm.sha512
sudo rpm --install elasticsearch-7.10.0-x86_64.rpm
다운로드 한 RPM의 SHA와 게시 된 체크섬을 비교하여 elasticsearch-{version}-x86_64.rpm: OK
.
SysV init
vs systemd
Elasticsearch는 설치 후 자동으로 시작되지 않습니다. Elasticsearch를 시작하고 중지하는 방법은 시스템이 SysV를 사용하는지 init
또는 systemd
(최신 배포에서 사용 되는지)에 따라 다릅니다 . 다음 명령을 실행하여 사용중인 것을 알 수 있습니다.
ps -p 1
SysV로 Elasticsearch 실행 init
chkconfig
명령을 사용하여 시스템이 부팅 될 때 자동으로 시작되도록 Elasticsearch를 구성합니다.
sudo chkconfig --add elasticsearch
Elasticsearch는 다음 service
명령을 사용하여 시작 및 중지 할 수 있습니다 .
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
어떤 이유로 Elasticsearch가 시작되지 않으면 실패 이유를 STDOUT에 인쇄합니다. 로그 파일은 /var/log/elasticsearch/
.
Elasticsearch 실행 systemd
시스템이 부팅 될 때 Elasticsearch가 자동으로 시작되도록 구성하려면 다음 명령을 실행하십시오.https://github.com/elastic/elasticsearch/edit/7.10/docs/reference/setup/install/systemd.asciidoc)
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
Elasticsearch는 다음과 같이 시작 및 중지 할 수 있습니다.
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
이러한 명령은 Elasticsearch가 성공적으로 시작되었는지 여부에 대한 피드백을 제공하지 않습니다. 대신이 정보는에있는 로그 파일에 기록됩니다 /var/log/elasticsearch/
.
Elasticsearch 키 저장소를 암호로 보호 systemd
한 경우 로컬 파일 및 시스템 환경 변수를 사용하여 키 저장소 암호 를 제공해야 합니다. 이 로컬 파일은 존재하는 동안 보호해야하며 Elasticsearch가 실행되고 실행되면 안전하게 삭제할 수 있습니다.
echo "keystore_password" > /path/to/my_pwd_file.tmp
chmod 600 /path/to/my_pwd_file.tmp
sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp
sudo systemctl start elasticsearch.service
기본적으로 Elasticsearch 서비스는 systemd
저널에 정보를 기록하지 않습니다 . journalctl
로깅 을 활성화하려면 파일 --quiet
의 ExecStart
명령 줄에서 옵션을 제거해야 elasticsearch.service
합니다.
systemd
로깅이 활성화 되면 다음 journalctl
명령을 사용하여 로깅 정보를 사용할 수 있습니다 .
저널을 마무리하려면 :
sudo journalctl -f
elasticsearch 서비스에 대한 저널 항목을 나열하려면 다음을 수행하십시오.
sudo journalctl --unit elasticsearch
지정된 시간부터 시작하는 elasticsearch 서비스에 대한 저널 항목을 나열하려면 다음을 수행하십시오.
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
Elasticsearch가 실행 중인지 확인
다음의 포트 9200
에 HTTP 요청을 전송하여 Elasticsearch 노드가 실행 중인지 테스트 할 수 있습니다 localhost
.
GET /
다음과 같은 응답을 제공해야합니다.
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "7.10.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}
Elasticsearch 구성
/etc/elasticsearch
디렉토리 Elasticsearch에 대한 기본 런타임 구성이 포함되어 있습니다. 이 디렉토리 및 포함 된 모든 파일의 소유권은 root:elasticsearch
패키지 설치시 로 설정됩니다 .
setgid
플래그는에 그룹 권한을 적용 /etc/elasticsearch
Elasticsearch 어떤 포함 된 파일 및 서브 디렉토리를 읽을 수 있도록 디렉토리. 모든 파일과 하위 디렉터리는 root:elasticsearch
소유권을 상속합니다 . 이 디렉터리 또는 elasticsearch-keystore 도구 와 같은 하위 디렉터리에서 명령을 실행 하려면 root:elasticsearch
권한이 필요합니다 .
Elasticsearch /etc/elasticsearch/elasticsearch.yml
는 기본적으로 파일 에서 구성을로드합니다 . 이 구성 파일의 형식은 Elasticsearch 구성에 설명되어 있습니다.
RPM으로 Kibana 설치
Elastic PGP 키 가져 오기
모든 패키지에 Elastic Signing Key (PGP 키 D88E42B4 , https://pgp.mit.edu 에서 사용 가능 )를 지문으로 서명합니다 .
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
공개 서명 키를 다운로드하고 설치합니다.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
RPM 저장소에서 설치
라는 파일 만들기 kibana.repo
에서 /etc/yum.repos.d/
레드햇 기반의 배포판에 대한 디렉토리를, 또는에 /etc/zypp/repos.d/
포함, 오픈 수세 기반의 배포판에 대한 디렉토리 :
[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
그리고 저장소를 사용할 준비가되었습니다. 이제 다음 명령 중 하나로 Kibana를 설치할 수 있습니다.
sudo yum install kibana
RPM을 수동으로 다운로드 및 설치
Kibana v7.10.0 용 RPM은 웹 사이트에서 다운로드하여 다음과 같이 설치할 수 있습니다.
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-x86_64.rpm
shasum -a 512 kibana-7.10.0-x86_64.rpm
sudo rpm --install kibana-7.10.0-x86_64.rpm
에서 생성 한 SHA를 게시 된 SHAshasum
와 비교합니다 .
SysV init
vs systemd
Kibana는 설치 후 자동으로 시작되지 않습니다. Kibana를 시작하고 중지하는 방법은 시스템에서 SysV를 사용하는지 init
또는 systemd
(최신 배포판에서 사용 하는지)에 따라 다릅니다 . 다음 명령을 실행하여 사용중인 것을 알 수 있습니다.
ps -p 1
SysV로 Kibana 실행 init
다음 chkconfig
명령을 사용하여 시스템이 부팅 될 때 자동으로 시작되도록 Kibana를 구성합니다.
sudo chkconfig --add kibana
다음 service
명령을 사용하여 Kibana를 시작하고 중지 할 수 있습니다 .
sudo -i service kibana start
sudo -i service kibana stop
어떤 이유로 든 Kibana가 시작되지 않으면 실패 이유를 STDOUT
. 로그 파일은 /var/log/kibana/
.
Kibana 실행 systemd
시스템이 부팅 될 때 Kibana가 자동으로 시작되도록 구성하려면 다음 명령을 실행하십시오.
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable kibana.service
Kibana는 다음과 같이 시작 및 중지 할 수 있습니다.
sudo systemctl start kibana.service
sudo systemctl stop kibana.service
이러한 명령은 Kibana가 성공적으로 시작되었는지 여부에 대한 피드백을 제공하지 않습니다. 로그 정보는를 통해 액세스 할 수 있습니다 journalctl -u kibana.service
.
구성 파일을 통해 Kibana 구성
Kibana /etc/kibana/kibana.yml
는 기본적으로 파일 에서 구성을로드합니다 . 이 구성 파일의 형식은 Kibana 구성에 설명되어 있습니다.
Logstash 설치
다운로드 한 바이너리에서 설치
파일의 압축을 풉니다. 콜론 (:) 문자가 포함 된 디렉토리 경로에 Logstash를 설치하지 마십시오.
패키지 저장소에서 설치
APT 및 YUM 기반 배포에 사용할 수있는 저장소도 있습니다. 패키지는 Logstash 빌드의 일부로 생성되므로 바이너리 패키지 만 제공하고 소스 패키지는 제공하지 않습니다.
Logstash 패키지 저장소를 버전별로 별도의 URL로 분할하여 주요 버전간에 우발적 인 업그레이드를 방지했습니다. 모든 7.xy 릴리스의 경우 버전 번호로 7.x를 사용합니다.
Elastic의 서명 키인 PGP 키 D88E42B4 를 지문과 함께 사용합니다.
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
모든 패키지에 서명합니다. https://pgp.mit.edu 에서 구할 수 있습니다 .
APT
공개 서명 키를 다운로드하고 설치합니다.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
apt-transport-https
계속하기 전에 Debian에 패키지 를 설치해야 할 수 있습니다 .
sudo apt-get install apt-transport-https
저장소 정의를 /etc/apt/sources.list.d/elastic-7.x.list
다음에 저장하십시오 .
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
실행 sudo apt-get update
하면 저장소를 사용할 수 있습니다. 다음과 같이 설치할 수 있습니다.
sudo apt-get update && sudo apt-get install logstash
YUM
공개 서명 키를 다운로드하고 설치합니다.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
예를 들어 접미사 /etc/yum.repos.d/
가있는 파일 의 디렉토리에 다음을 추가합니다..repo``logstash.repo
[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
그리고 저장소를 사용할 준비가되었습니다. 다음과 같이 설치할 수 있습니다.
sudo yum install logstash
Systemd를 사용하여 Logstash 실행
Debian Jessie, Ubuntu 15.10+ 및 많은 SUSE 파생물과 같은 배포판은 systemd 및 systemctl
명령을 사용하여 서비스를 시작 및 중지합니다. Logstash /etc/systemd/system
는 deb 및 rpm 모두 에 대해 systemd 단위 파일을 배치합니다 . 패키지를 설치 한 후 다음을 사용하여 Logstash를 시작할 수 있습니다.
sudo systemctl start logstash.service
Filebeat 빠른 시작 : 설치 및 구성
- 모니터링하려는 각 시스템에 Filebeat를 설치하십시오.
- 로그 파일의 위치 지정
- 로그 데이터를 필드로 구문 분석하여 Elasticsearch로 보냅니다.
- Kibana에서 로그 데이터 시각화
시작하기 전에
데이터를 저장하고 검색하려면 Elasticsearch가 필요하고 시각화하고 관리하려면 Kibana가 필요합니다.
1 단계 : Filebeat 설치
모니터링하려는 모든 서버에 Filebeat를 설치합니다.
Filebeat를 다운로드하고 설치하려면 시스템에서 작동하는 명령을 사용하십시오.
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-x86_64.rpm
sudo rpm -vi filebeat-7.10.0-x86_64.rpm
또는
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-linux-x86_64.tar.gz
tar xzvf filebeat-7.10.0-linux-x86_64.tar.gz
2 단계 : Elastic Stack에 연결
Filebeat를 설정하려면 Elasticsearch 및 Kibana에 대한 연결이 필요합니다.
에서 연결 정보를 설정합니다 filebeat.yml
. 이 구성 파일을 찾으려면 디렉토리 레이아웃을 참조하십시오 .
Filebeat가 Elasticsearch 설치를 찾을 수있는 호스트 및 포트를 설정하고 Filebeat를 설정할 권한이있는 사용자의 사용자 이름과 비밀번호를 설정합니다. 예를 들면 :
output.elasticsearch:
hosts: ["myEShost:9200"]
username: "filebeat_internal"
password: "YOUR_PASSWORD"
이 예는 하드 코딩 된 비밀번호를 보여 주지만 중요한 값은 secrets keystore 에 저장해야합니다 .
사전 구축 된 Kibana 대시 보드를 사용하려는 경우 Kibana 엔드 포인트를 구성하십시오. Kibana가 Elasticsearch와 동일한 호스트에서 실행중인 경우이 단계를 건너 뜁니다.
setup.kibana:
host: "mykibanahost:5601"
username: "my_kibana_user"
password: "{pwd}"
Kibana가 실행중인 머신의 호스트 이름 및 포트 (예 : mykibanahost:5601
. 포트 번호 뒤에 경로를 지정하는 경우 스킴과 포트를 포함하십시오 : http://mykibanahost:5601/path
.
Kibana 의 username
및 password
설정은 선택 사항입니다. Kibana에 대한 자격 증명을 지정하지 않으면 Filebeat는 Elasticsearch 출력에 대해 username
및 지정된를 사용합니다 password
.
사전 빌드 된 Kibana 대시 보드를 사용하려면이 사용자에게 대시 보드를 볼 수있는 권한이 있거나 kibana_admin
기본 제공 역할 이 있어야합니다 .
3 단계 : 데이터 수집 모듈 활성화 및 구성
Filebeat는 모듈을 사용하여 로그 데이터를 수집하고 구문 분석합니다.
- 활성화해야하는 모듈을 식별합니다. 사용 가능한 모듈 목록을 보려면 다음을 실행하십시오.
filebeat modules list
설치 디렉토리에서 하나 이상의 모듈을 활성화합니다. 예를 들어, 다음 명령은 수 system
, nginx
및 mysql
모듈 CONFIGS를 :
filebeat modules enable system nginx mysql
모듈 구성에서 modules.d
환경에 맞게 모듈 설정을 변경합니다.
예를 들어 로그 위치는 OS에 따라 설정됩니다. 로그가 기본 위치에없는 경우 paths
변수를 설정합니다 .
- module: nginx
access:
var.paths: ["/var/log/nginx/access.log*"]
구성 파일을 테스트하려면 Filebeat 바이너리가 설치된 디렉토리로 변경하고 다음 옵션을 지정하여 포 그라운드에서 Filebeat를 실행합니다 ./filebeat test config -e
.. 구성 파일이 Filebeat에서 예상하는 경로에 있는지 확인하거나 ( 디렉토리 레이아웃 참조 ) -c
플래그를 사용하여 구성 파일의 경로를 지정합니다.
4 단계 : assets 설정
Filebeat는 데이터 구문 분석, 인덱싱 및 시각화를위한 사전 정의 된 자산(assets)과 함께 제공됩니다. 이러한 자산을로드하려면 :
- 에 지정된 사용자
filebeat.yml
가 Filebeat를 설정할 권한 이 있는지 확인하십시오 . - 설치 디렉토리에서 다음을 실행하십시오.
filebeat setup -e
-e
선택적이며 구성된 로그 출력 대신 표준 오류로 출력을 보냅니다.
이 단계에서는 Elasticsearch에 쓰기위한 권장 인덱스 템플릿 을 로드하고 Kibana에서 데이터를 시각화하기위한 샘플 대시 보드를 배포합니다.
이 단계는 로그 라인을 구문 분석하는 데 사용되는 수집 파이프 라인을로드하지 않습니다. 기본적으로 수집 파이프 라인은 모듈을 처음 실행하고 Elasticsearch에 연결할 때 자동으로 설정됩니다.
5 단계 : Filebeat 시작
Filebeat를 시작하기 전에에서 사용자 자격 증명을 수정하고 이벤트 게시 권한filebeat.yml
이있는 사용자를 지정 합니다 .
Filebeat를 시작하려면 다음을 실행하십시오.
systemctl enable filebeat
systemctl start filebeat
로그확인
journalctl -u filebeat.service
6 단계 : Kibana에서 데이터보기
Filebeat는 로그 데이터 시각화를위한 사전 구축 된 Kibana 대시 보드 및 UI와 함께 제공됩니다. setup
명령을 실행할 때 이전에 대시 보드를로드했습니다 .
대시 보드를 열려면 :
- Kibana를 시작합니다.
브라우저에서 http : // localhost : 5601을localhost
가리키고 Kibana 호스트의 이름으로 바꿉니다 .
2.측면 탐색에서 클릭 발견을 . Filebeat 데이터를 보려면 사전 정의 된 filebeat-*
인덱스 패턴이 선택되어 있는지 확인하십시오 .
Kibana에 데이터가 표시되지 않으면 시간 필터를 더 큰 범위로 변경해보십시오. 기본적으로 Kibana는 지난 15 분을 표시합니다.
3.측면 탐색에서 대시 보드를 클릭 한 다음 열려는 대시 보드를 선택합니다.
대시 보드는 예제로 제공됩니다. 필요에 맞게 사용자 지정 하는 것이 좋습니다 .