做网站送400电话,网站集约化建设 通知,wp网站如何做文件的付费下载,WordPress图片方案跟我之前Zabbix-agent批量部署脚本Linux and Windows#xff08;部署300可用#xff09;文章的套路一样#xff0c;在使用该脚本前#xff0c;请先准备好安装包及配置好安装包的资源下载点#xff0c;由于我这边是纯内网#xff0c;所以我就找了一个NAS做了共享目录…跟我之前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 临时客户端IP192.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: httpsusername: elasticpassword: 123456allow_older_versions: truessl.certificate_authorities: [/elkbeat/filebeat/http_ca.crt]indices:# 根据标签将日志事件发送到不同的索引- index: linux-error-%{[beat.version]}-%{yyyy.MM}when.contains:tags: error_logs- index: linux-login-%{[beat.version]}-%{yyyy.MM}when.contains:tags: login_logsprocessors:- 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/filebeatif [ -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-usertest --ftp-password123456 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
}# 检查服务状态
check_service_status() {systemctl restart filebeatservice_status$(systemctl is-active filebeat.service --quiet echo active || echo inactive)echo 服务状态$service_status
} # 设置服务启动及开机启动
set_service() {# 启动服务systemctl start filebeat# 设置开机启动systemctl enable filebeat}# 执行主程序
is_installed_check
if [ $? -eq 0 ]; thenecho 已安装filebeat相关软件包get_installed_packages_sh
elseecho 未安装filebeat相关软件包get_ip_addressdownload_packagesinstall_packagesreplace_configcheck_service_statusset_service
fi