filebeat7.5.1+elasticsearch7.5.1+elastAlert0.2.1+elastalert-dingtalk-plugin 로그 감시 못 경고 실현
7391 단어 전체 텍스트 인덱스활용단어참조
CentOS7.5
jdk1.8
python3.6
1. 먼저 버전 문제를 정리한다.
git clone https://github.com/Yelp/elastalert.git
git clone https://github.com/xuyaoqiang/elastalert-dingtalk-plugin.git
2、python3.6 환경 설치
python 홈페이지 선택 3.6.10 버전 wget 다운로드 명령 속도가 느립니다. 다운로드 후 업로드 서버 다운로드 완료 후 컴파일 설치 권장
tar -zxf Python-3.6.10.tgz
#
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel
cd Python-3.6.10
#
./configure --prefix=/usr/local/python3.6
#
make && make install
설치가 완료되면/usr/local 디렉터리에서python3을 생성합니다.6 디렉토리 및 소프트 링크 만들기
ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
테스트 인쇄 버전 번호, 3.6.10 표시는 설치 성공
python3 -V
python3.6 자체 pip3를 가지고 있으면 소프트 링크를 직접 만들 수 있습니다
ln -s /usr/local/python3.6/bin/pip3 /usr/bin/pip3
Elasticsearch7.5.1 설치
config/elasticsearch 구성yaml
node.name: node-1
network.host: 192.168.0.99
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
#
http.cors.enabled: true
http.cors.allow-origin: "*"
시스템/etc/security/limits 구성conf
* soft nofile 65535
* hard nofile 65535
* - nofile 65536
* - memlock unlimited
시스템/etc/sysctl을 구성합니다.conf
vm.max_map_count=262144
구성 완료 후 실행
/sbin/sysctl -p
터미널을 종료하고 다시 입장해야 효력이 발생합니다
이어서 바로 Elasticsearch를 시작할 수 있습니다. 시작 명령. - d 백엔드 시작 명령.
./bin/elasticsearch -d
로그에 이상이 있는지 확인
tail -100f logs/elasticsearch.log
filebeat7. 설치5.1
Filebeat는 로그를 수집해야 하는 서버에 filebeat를 설정해야 하는 채집기입니다.yml, 이곳은nginxaccess를 채집할 수 있습니다.lo를 예로 들면 로그는 json 형식으로 출력하는 것이 좋습니다.구체적으로 어떻게 nginx 로그 형식을 설정하고 자료를 스스로 찾습니까?서로 다른 버전의 filebeat 설정은 일치하지 않는 부분이 있을 수 있습니다.자세한 내용은 공식 문서 참조
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/access.log
json.keys_under_root: true
json.overwrite_keys: true
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
setup.template.name: "nginx-access"
setup.template.pattern: "nginx-access-*"
setup.ilm.enabled: false
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["xxx.xxx.xxx.xxx:9200"]
index: nginx-access-%{+yyyy-MM-dd}
백그라운드 시작 명령
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &
ElastAlert 설치(python 3.6 환경 기반)
ElastAlert doc 문서 관련 구성은 여기서python3을 볼 수 있습니다.6 위에서 설치가 완료되었습니다.python3 명령을 사용하여 ElastAlert 설치를 완료하고 Elastalert 설치 디렉터리에 들어갈 수 있습니다
##
pip3 install -r requirements.txt
python3 setup.py install
설치가 완료되면python 3.6 디렉토리에서 4개의 elastalert* 명령을 생성하여 소프트 링크 추가
ln -s /usr/local/python3.6/bin/elastalert* /usr/bin
추가가 완료되면 명령을 사용하여 설치할 수 있습니다
elastalert==0.2.1
elasticsearch>=7.0.0
pyOpenSSL==16.2.0
requests==2.18.1
setuptools>=11.3
그리고 설치 의존, 설치 완료 시 오류 없이 다음과 같은 조작을 진행하며, 오류 신고가 스스로 해결되면 정상적으로 오류 신고가 되지 않습니다
pip3 install -r requirements.txt
그리고 config를 설정합니다.yaml .이 구성은 실제 Elastalert 구성 파일로 뒤에 구성해야 하는 rules를 포함하여 모두 Elastalert 구성입니다. 자세한 내용은 ElastAlert doc 설명서를 참조하십시오.
rules_folder: rules
run_every:
minutes: 1
buffer_time:
minutes: 15
es_host: 192.168.0.99
es_port: 9200
writeback_index: elastalert_status
alert_time_limit:
days:
그리고 rules/apierror.yaml
name: API (status >= 400)
type: frequency
index: nginx-access-*
num_events: 5
timeframe:
minutes: 1
filter:
- range:
status:
from: 400
to: 599
# https://elastalert.readthedocs.io/en/latest/ruletypes.html#include
include: ["_index","uri","remote_addr","http_x_forwarded_for","status"]
alert:
- "elastalert_modules.dingtalk_alert.DingTalkAlerter"
dingtalk_webhook: "https://oapi.dingtalk.com/robot/send?access_token=xxxxx"
dingtalk_msgtype: "text"
그리고 elastalert-dingtalk-plugin 디렉토리에서 시작 명령 실행 상세 정보 GITHUB 참조
#
python3 -m elastalert.elastalert --verbose --rule rules/api_error.yaml
구체적인 각 항목의 규칙과 더 많은 배치는 스스로 깊이 파고들어 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL 전체 텍스트 인덱스 사용 안내전체 텍스트 인덱스 는 문자(CHAR,VARCHAR,TEXT 형식의 열)기반 검색 을 지원 하 며,자연 언어 모드(Natural Language Mode,기본 값)와 불 모드(Boolean Mode)도 지원 합 니 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.