如何快速找到做網站的客戶seo關鍵詞排名優(yōu)化哪好
跟我之前Zabbix-agent批量部署腳本Linux and Windows(部署300+可用)文章的套路一樣,在使用該腳本前,請先準備好安裝包及配置好安裝包的資源下載點,由于我這邊是純內網,所以我就找了一個NAS做了共享目錄,用于安裝腳本去下載安裝包
至于怎么做共享目錄就不多說,我的目錄包含4個文件:
filebeat.service
#用于配置filebeat服務及自啟動filebeat.yml
#filebeat的配置文件filebeat-8.3.3-linux-x86_64.tar.gz
#filebeat的主要安裝包http_ca.crt
#與Elasticsearch連接的證書文件
測試參數,請酌情修改:
Elasticsearch服務器:192.168.1.1
Elasticsearch賬號:elastic/123456
Kibana服務器:192.168.1.1
資源下載點:192.168.1.2
訪問資源的賬號:nasuser/123456
臨時客戶端IP:192.168.1.3 (這個在批量部署腳本中是可以被自動修改為實際IP的)
Filebeat配置文件詳情:
filebeat.inputs:# 配置日志輸入- type: logenabled: truepaths:- /var/log/messages- /var/log/secureprocessors:# 處理器,過濾不包含特定關鍵詞的日志事件- drop_event.when.not.regexp.message: "error|exception|fail"- add_tags:tags: ["error_logs"]tags: ["192.168.1.3 "] # 添加額外的標簽- type: logenabled: truepaths:- /var/log/secureprocessors:- drop_event.when.not.regexp.message: "sshd|login|logout|session|pam_unix|pam_succeed_if|Accepted|Failed|Invalid user|user .* from|pam_unix(sshd:session)"- add_tags:tags: ["login_logs"]tags: ["192.168.1.3 "] # 添加額外的標簽output.elasticsearch:# 輸出到Elasticsearchhosts: ["192.168.1.1:9200"]protocol: "https"username: "elastic"password: "123456"allow_older_versions: truessl.certificate_authorities: ["/elkbeat/filebeat/http_ca.crt"]indices:# 根據標簽將日志事件發(fā)送到不同的索引- index: "linux-error-%{[beat.version]}-%{+yyyy.MM}"when.contains:tags: "error_logs"- index: "linux-login-%{[beat.version]}-%{+yyyy.MM}"when.contains:tags: "login_logs"processors:- drop_fields:fields: ["agent", "ecs", "@metadata", "input"] # 刪除指定的字段setup.kibana:host: "192.168.1.1:5601" # 配置連接到Kibana的地址logging.level: error
logging.to_files: true
logging.files:path: /var/log/filebeat # 日志文件輸出路徑name: filebeat.log # 日志文件名keepfiles: 7 # 保留的日志文件數量
批量部署腳本如下:
#!/bin/bash# 檢查是否已安裝filebeat相關軟件包(通過文件查詢方式)
is_installed_check() {file="/elkbeat/filebeat/filebeat"if [ -e "$file" ]; thenreturn 0elsereturn 1fi
}# 獲取已安裝的filebeat相關軟件包列表(通過腳本方式)
get_installed_packages_sh() {installed_packages=$(/elkbeat/filebeat/filebeat version)echo "已安裝軟件包:$installed_packages"
}# 獲取主機的IP地址(以192.168開頭)
get_ip_address() {ip_address=$(ip addr | awk '/inet / && /192\.168\./ {gsub(/\/[0-9]+/, "", $2); print $2}')echo "主機IP:$ip_address"
}# 下載安裝包
download_packages() {mkdir -p /elkbeatwget -nc --ftp-user=test --ftp-password=123456 ftp://192.168.1.2/Temp/yum/* -P /elkbeat/ &> /dev/null
}#安裝軟件包
install_packages() {cd /elkbeatmkdir -p /elkbeat/filebeat/rm -rf /elkbeat/filebeat/*tar -xzf filebeat-8.3.3-linux-x86_64.tar.gzmv /elkbeat/filebeat-8.3.3-linux-x86_64/* /elkbeat/filebeat/cp /elkbeat/filebeat.service /lib/systemd/system/cp /elkbeat/http_ca.crt /elkbeat/filebeat/cd /elkbeatrm -rf filebeat-8.3.3*
}# 替換配置文件
replace_config() {cd /elkbeat/filebeatcp filebeat.yml filebeat.yml.bakcp -f /elkbeat/filebeat.yml /elkbeat/filebeat/sed -i "s/tags: \[\"10\.115\.85\.195\"\]/tags: \[\"$ip_address\"\]/g" /elkbeat/filebeat/filebeat.yml
}# 檢查服務狀態(tài)
check_service_status() {systemctl restart filebeatservice_status=$(systemctl is-active filebeat.service --quiet && echo "active" || echo "inactive")echo "服務狀態(tài):$service_status"
} # 設置服務啟動及開機啟動
set_service() {# 啟動服務systemctl start filebeat# 設置開機啟動systemctl enable filebeat}# 執(zhí)行主程序
is_installed_check
if [ $? -eq 0 ]; thenecho "已安裝filebeat相關軟件包"get_installed_packages_sh
elseecho "未安裝filebeat相關軟件包"get_ip_addressdownload_packagesinstall_packagesreplace_configcheck_service_statusset_service
fi