1. elasticsearch+logstash+redis+kibana
1.1. 下载 elastic,logstash,kibana,redis
VERSION="7.17.17"
ES_URL="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz"
LG_URL="https://artifacts.elastic.co/downloads/logstash/logstash-${VERSION}-linux-x86_64.tar.gz"
KB_URL="https://artifacts.elastic.co/downloads/kibana/kibana-${VERSION}-linux-x86_64.tar.gz"
wget ${ES_URL} -O /root/elasticsearch-${VERSION}-linux-x86_64.tar.gz
wget ${LG_URL} -O /root/logstash-${VERSION}-linux-x86_64.tar.gz
wget ${KB_URL} -O /root/kibana-${VERSION}-linux-x86_64.tar.gz
1.2. 安装elastic,logstash,kibana,redis
1.2.1. 系统优化
1.2.1.1. 增加最大文件打开数
永久生效方法:echo "* - nofile 65536" >> /etc/security/limits.conf
1.2.1.2. 增加最大进程数
[root@mes-1 ~]# vim /etc/security/limits.d/20-nproc.conf ---在文件最后面添加如下内容
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
更多的参数调整可以直接用这个
1.2.1.3. 增加最大内存映射数
[root@mes-1 ~]# vim /etc/sysctl.conf ---添加如下
vm.max_map_count=262144
vm.swappiness=0
[root@mes-1 ~]# sysctl -p
@@一键脚本实现
# (1)增加最大文件打开数 - 永久生效
echo "* - nofile 65536" >> /etc/security/limits.conf
# (2)增加最大进程数
# 创建或修改 /etc/security/limits.d/20-nproc.conf 文件
cat > /etc/security/limits.d/20-nproc.conf << EOF
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
EOF
# (3)增加最大内存映射数
# 修改 /etc/sysctl.conf 文件
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
vm.swappiness=0
EOF
# 使 sysctl 配置生效
sysctl -p
1.2.2. 安装elastic
1.2.2.1. 解压
mkdir -p /data/
tar xzvf /root/elasticsearch-${VERSION}-linux-x86_64.tar.gz
mv /root/elasticsearch-${VERSION} /data/elasticsearch${VERSION}
mkdir -p /data/elasticsearch${VERSION}/{data,logs}
1.2.2.2. 配置基础环境elastic
# 系统中有其他版本jdk环境,直接使用elasticsearch-7.17.17安装包的jdk环境
# 修改/data/elasticsearch7.17/bin/elasticsearch-env,如下所示
# 定义要添加的内容
export_java_home="export JAVA_HOME=/data/elasticsearch${VERSION}/jdk"
export_es_java_home="export ES_JAVA_HOME=/data/elasticsearch${VERSION}/jdk"
sed -i "2i\\
$export_java_home\\
$export_es_java_home\\
" /data/elasticsearch${VERSION}/bin/elasticsearch-env
# 添加运行用户
id elsearch &>/dev/null || useradd elsearch
# 本地解析
cat >>/etc/hosts<< eof
192.168.6.200 elk01
eof
# 修改配置文件./config/elasticsearch.yml
ip_address=$(hostname -I | awk '{print $1}')
cat > /data/elasticsearch${VERSION}/config/elasticsearch.yml << EOF
cluster.name: elk
node.name: elk01
node.master: true
node.data: true
path.data: /data/elasticsearch${VERSION}/data
path.logs: /data/elasticsearch${VERSION}/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
##cluster为单机模式参数
cluster.initial_master_nodes: ["elk01"]
discovery.seed_hosts: ["${ip_address}:9300"]
##cluster为群集模式参数其他节点参数,注释单机模式参数,修改各node.name,在/etc/hosts中添加解析记录
#cluster.initial_master_nodes: ["elk02","elk03"]
#discovery.seed_hosts: ["192.168.241.25:9300","192.168.241.26:9300"]
EOF
# 指定内存大小./config/jvm.options
# 定义堆内存大小变量
HEAP_SIZE="512m"
# 使用 sed 命令取消注释并修改 -Xms 和 -Xmx 的值
sed -i "s|^\(## \)\(-Xms\).*|\2${HEAP_SIZE}|" /data/elasticsearch${VERSION}/config/jvm.options
sed -i "s|^\(## \)\(-Xmx\).*|\2${HEAP_SIZE}|" /data/elasticsearch${VERSION}/config/jvm.options
# 授权elsearch
chown -R elsearch:elsearch /data/elasticsearch${VERSION}
1.2.2.3. 配置启动关闭脚本
# 定义安装路径
INSTALL_PATH="/data/elasticsearch${VERSION}"
# 生成启动脚本
cat > ${INSTALL_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${INSTALL_PATH}'
su - elsearch -c "nohup \${INSTALL_PATH}/bin/elasticsearch &>\${INSTALL_PATH}/es.log &"
EOF
# 生成关停脚本
cat > ${INSTALL_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${INSTALL_PATH}'
ps aux | grep "\${INSTALL_PATH}/jdk/bin/java" | grep -v grep | awk '{print \$2}' | xargs kill &>/dev/null
EOF
# 给脚本添加执行权限
chmod +x ${INSTALL_PATH}/{start,stop}.sh
${INSTALL_PATH}/start.sh
1.2.3. 安装 kibana
1.2.3.1. 解压
tar xzvf /root/kibana-${VERSION}-linux-x86_64.tar.gz
mv /root/kibana-${VERSION}-linux-x86_64 /data/kibana-${VERSION}
1.2.3.2. 配置 kibana 读取 es 数据源
# 获取本机的 IP 地址
ip_address=$(hostname -I | awk '{print $1}')
# 使用 cat 命令生成 kibana.yml 文件
cat > /data/kibana-7.17.17/config/kibana.yml << EOF
server.port: 5601
server.host: "${ip_address}"
server.publicBaseUrl: "http://${ip_address}:5601"
elasticsearch.hosts: ["http://${ip_address}:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
EOF
1.2.3.3. 配置启动关闭脚本
# 定义 Kibana 安装路径
KIBANA_PATH="/data/kibana-${VERSION}"
# 生成启动脚本
cat > ${KIBANA_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${KIBANA_PATH}'
nohup \${INSTALL_PATH}/bin/kibana --allow-root &>\${INSTALL_PATH}/kibana.log & echo \$! >\${INSTALL_PATH}/kibana.pid
EOF
# 生成停止脚本
cat > ${KIBANA_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${KIBANA_PATH}'
PIDFILE="\${INSTALL_PATH}/kibana.pid"
GETPIDNUM=\$(cat \${PIDFILE} 2>/dev/null)
if [ -n "\${GETPIDNUM}" ];
then
kill \${GETPIDNUM} &>/dev/null
fi
EOF
# 给脚本添加执行权限
chmod +x ${KIBANA_PATH}/{start,stop}.sh
${KIBANA_PATH}/start.sh
1.2.4. 安装 Logstash
1.2.4.1. 解压
tar xzvf /root/logstash-${VERSION}-linux-x86_64.tar.gz
mv /root/logstash-${VERSION} /data/
1.2.4.2. 配置基本环节 logstash
# 修改logstash使用自带jdk./bin/logstash.lib.sh
export_java_home="export JAVA_HOME=/data/logstash-${VERSION}/jdk"
sed -i "1i\\
${export_java_home}\\
" /data/logstash-${VERSION}/bin/logstash.lib.sh
# 指定内存大小.config/jvm.options
HEAP_SIZE="1g"
sed -i "s|^\(-Xms\).*|\1${HEAP_SIZE}|" /data/logstash-${VERSION}/config/jvm.options
sed -i "s|^\(-Xmx\).*|\1${HEAP_SIZE}|" /data/logstash-${VERSION}/config/jvm.options
1.2.4.3. 配置启动关闭脚本
LOGSTASH_PATH="/data/logstash-${VERSION}"
# 生成启动脚本
cat > ${LOGSTASH_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${LOGSTASH_PATH}'
nohup \${INSTALL_PATH}/bin/logstash -f \${INSTALL_PATH}/conf.d/ --config.reload.automatic &>\${INSTALL_PATH}/logstash.log &
EOF
# 生成关停脚本
cat > ${LOGSTASH_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${LOGSTASH_PATH}'
ps aux | grep "\${INSTALL_PATH}/jdk/bin/java" | grep -v grep | awk '{print \$2}' | xargs kill &>/dev/null
EOF
# 给脚本添加执行权限
chmod +x ${LOGSTASH_PATH}/{start,stop}.sh
1.2.4.4. 配置 logstash 接入 redis
# 配置文件加载目录
mkdir -p /data/logstash-${VERSION}/conf.d
# 获取本机的 IP 地址
ip_address=$(hostname -I | awk '{print $1}')
# 定义 Logstash 安装路径
LOGSTASH_PATH="/data/logstash-${VERSION}"
# 定义 Logstash 配置文件路径
CONFIG_PATH="${LOGSTASH_PATH}/conf.d/filebeat.conf"
# 使用 cat 命令生成 filebeat.conf 文件
cat > ${CONFIG_PATH} << EOF
input {
beats {
port => 5044
codec => plain { charset => "ISO-8859-1" }
}
redis {
data_type => "list"
key => "filebeat-redis-web"
#redis中的键值,与filebeat中output.redis中的key: "filebeat-redis-web",保持一致
host => "${ip_address}"
port => "6379"
db => "0"
}
}
output {
elasticsearch {
hosts => ["http://${ip_address}:9200"]
index => "%{log_type}_%{+YYYY-MM}"
}
}
EOF
${LOGSTASH_PATH}/start.sh
1.2.5. 安装 redis
1.2.5.1. 略
此处为语雀内容卡片,点击链接查看:https://www.yuque.com/zhongzelin-k13tx/nc4np3/vgy4kehoq5n3684g
2. filebeat
2.1. 下载 filebeat
VERSION="7.17.17"
FB_URL="https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${VERSION}-x86_64.rpm"
wget ${FB_URL}
2.2. 安装 filebeat
2.2.1. rpm 安装
rpm -ivh filebeat-${VERSION}-x86_64.rpm
2.2.2. 配置文件
2.2.2.1. 配置 filebeat 接入 redis
/etc/filebeat/filebeat.yml
#自动加载
filebeat.config.inputs:
enabled: true
path: config/*.yml
reload.enabled: true
reload.period: 5s
# ---------------------------- Redis Output -----------------------------------
output.redis:
hosts: ["192.168.6.200:6379"]
#password: "123456"
key: "filebeat-redis-web"
db: 0
timeout: 10
#ttl过期
setup.template.name: "filebeat-redis-web"
setup.template.pattern: "filebeat-redis-web-*"
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- script:
lang: javascript
id: add_current_time
source: >
function process(event) {
var currentTime = new Date();
// 获取当前时间的时间戳(以毫秒为单位)
var timestamp = currentTime.getTime();
// 东八区的时区偏移量(单位:毫秒,东八区比 UTC 时间早 8 小时)
var offset = 8 * 60 * 60 * 1000;
// 根据偏移量调整时间戳,得到 CST 时间对应的时间戳
var cstTimestamp = timestamp + offset;
// 使用调整后的时间戳创建新的日期对象,代表 CST 时间
var cstTime = new Date(cstTimestamp);
// 将 CST 时间格式化为 ISO 8601 类似格式,但包含了时区信息 '+08:00',符合 CST 时间显示要求
var cstTimeString = cstTime.toISOString().replace('Z', '+08:00');
event.Put("custom_time", cstTimeString);
}
2.2.2.2. /etc/filebeat/config/ssh.yml
mkdir -p /etc/filebeat/config/
vim config/ssh.yml
- type: log
paths:
- /var/log/secure
scan_frequency: 5s
##允许添加自定义字段
fields_under_root: true
##指定时区
timezone: Asia/Shanghai
##字段名称
fields:
level: "secure_log"
log_type: "secure_log"
log_hostip: "192.168.6.100"
systemctl enable filebeat --now
1. elasticsearch+logstash+redis+kibana
1.1. 下载 elastic,logstash,kibana,redis
VERSION="7.17.17"
ES_URL="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz"
LG_URL="https://artifacts.elastic.co/downloads/logstash/logstash-${VERSION}-linux-x86_64.tar.gz"
KB_URL="https://artifacts.elastic.co/downloads/kibana/kibana-${VERSION}-linux-x86_64.tar.gz"
wget ${ES_URL} -O /root/elasticsearch-${VERSION}-linux-x86_64.tar.gz
wget ${LG_URL} -O /root/logstash-${VERSION}-linux-x86_64.tar.gz
wget ${KB_URL} -O /root/kibana-${VERSION}-linux-x86_64.tar.gz
1.2. 安装elastic,logstash,kibana,redis
1.2.1. 系统优化
1.2.1.1. 增加最大文件打开数
永久生效方法:echo "* - nofile 65536" >> /etc/security/limits.conf
1.2.1.2. 增加最大进程数
[root@mes-1 ~]# vim /etc/security/limits.d/20-nproc.conf ---在文件最后面添加如下内容
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
更多的参数调整可以直接用这个
1.2.1.3. 增加最大内存映射数
[root@mes-1 ~]# vim /etc/sysctl.conf ---添加如下
vm.max_map_count=262144
vm.swappiness=0
[root@mes-1 ~]# sysctl -p
@@一键脚本实现
# (1)增加最大文件打开数 - 永久生效
echo "* - nofile 65536" >> /etc/security/limits.conf
# (2)增加最大进程数
# 创建或修改 /etc/security/limits.d/20-nproc.conf 文件
cat > /etc/security/limits.d/20-nproc.conf << EOF
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
EOF
# (3)增加最大内存映射数
# 修改 /etc/sysctl.conf 文件
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
vm.swappiness=0
EOF
# 使 sysctl 配置生效
sysctl -p
1.2.2. 安装elastic
1.2.2.1. 解压
mkdir -p /data/
tar xzvf /root/elasticsearch-${VERSION}-linux-x86_64.tar.gz
mv /root/elasticsearch-${VERSION} /data/elasticsearch${VERSION}
mkdir -p /data/elasticsearch${VERSION}/{data,logs}
1.2.2.2. 配置基础环境elastic
# 系统中有其他版本jdk环境,直接使用elasticsearch-7.17.17安装包的jdk环境
# 修改/data/elasticsearch7.17/bin/elasticsearch-env,如下所示
# 定义要添加的内容
export_java_home="export JAVA_HOME=/data/elasticsearch${VERSION}/jdk"
export_es_java_home="export ES_JAVA_HOME=/data/elasticsearch${VERSION}/jdk"
sed -i "2i\\
$export_java_home\\
$export_es_java_home\\
" /data/elasticsearch${VERSION}/bin/elasticsearch-env
# 添加运行用户
id elsearch &>/dev/null || useradd elsearch
# 本地解析
cat >>/etc/hosts<< eof
192.168.6.200 elk01
eof
# 修改配置文件./config/elasticsearch.yml
ip_address=$(hostname -I | awk '{print $1}')
cat > /data/elasticsearch${VERSION}/config/elasticsearch.yml << EOF
cluster.name: elk
node.name: elk01
node.master: true
node.data: true
path.data: /data/elasticsearch${VERSION}/data
path.logs: /data/elasticsearch${VERSION}/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
##cluster为单机模式参数
cluster.initial_master_nodes: ["elk01"]
discovery.seed_hosts: ["${ip_address}:9300"]
##cluster为群集模式参数其他节点参数,注释单机模式参数,修改各node.name,在/etc/hosts中添加解析记录
#cluster.initial_master_nodes: ["elk02","elk03"]
#discovery.seed_hosts: ["192.168.241.25:9300","192.168.241.26:9300"]
EOF
# 指定内存大小./config/jvm.options
# 定义堆内存大小变量
HEAP_SIZE="512m"
# 使用 sed 命令取消注释并修改 -Xms 和 -Xmx 的值
sed -i "s|^\(## \)\(-Xms\).*|\2${HEAP_SIZE}|" /data/elasticsearch${VERSION}/config/jvm.options
sed -i "s|^\(## \)\(-Xmx\).*|\2${HEAP_SIZE}|" /data/elasticsearch${VERSION}/config/jvm.options
# 授权elsearch
chown -R elsearch:elsearch /data/elasticsearch${VERSION}
1.2.2.3. 配置启动关闭脚本
# 定义安装路径
INSTALL_PATH="/data/elasticsearch${VERSION}"
# 生成启动脚本
cat > ${INSTALL_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${INSTALL_PATH}'
su - elsearch -c "nohup \${INSTALL_PATH}/bin/elasticsearch &>\${INSTALL_PATH}/es.log &"
EOF
# 生成关停脚本
cat > ${INSTALL_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${INSTALL_PATH}'
ps aux | grep "\${INSTALL_PATH}/jdk/bin/java" | grep -v grep | awk '{print \$2}' | xargs kill &>/dev/null
EOF
# 给脚本添加执行权限
chmod +x ${INSTALL_PATH}/{start,stop}.sh
${INSTALL_PATH}/start.sh
1.2.3. 安装 kibana
1.2.3.1. 解压
tar xzvf /root/kibana-${VERSION}-linux-x86_64.tar.gz
mv /root/kibana-${VERSION}-linux-x86_64 /data/kibana-${VERSION}
1.2.3.2. 配置 kibana 读取 es 数据源
# 获取本机的 IP 地址
ip_address=$(hostname -I | awk '{print $1}')
# 使用 cat 命令生成 kibana.yml 文件
cat > /data/kibana-7.17.17/config/kibana.yml << EOF
server.port: 5601
server.host: "${ip_address}"
server.publicBaseUrl: "http://${ip_address}:5601"
elasticsearch.hosts: ["http://${ip_address}:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
EOF
1.2.3.3. 配置启动关闭脚本
# 定义 Kibana 安装路径
KIBANA_PATH="/data/kibana-${VERSION}"
# 生成启动脚本
cat > ${KIBANA_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${KIBANA_PATH}'
nohup \${INSTALL_PATH}/bin/kibana --allow-root &>\${INSTALL_PATH}/kibana.log & echo \$! >\${INSTALL_PATH}/kibana.pid
EOF
# 生成停止脚本
cat > ${KIBANA_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${KIBANA_PATH}'
PIDFILE="\${INSTALL_PATH}/kibana.pid"
GETPIDNUM=\$(cat \${PIDFILE} 2>/dev/null)
if [ -n "\${GETPIDNUM}" ];
then
kill \${GETPIDNUM} &>/dev/null
fi
EOF
# 给脚本添加执行权限
chmod +x ${KIBANA_PATH}/{start,stop}.sh
${KIBANA_PATH}/start.sh
1.2.4. 安装 Logstash
1.2.4.1. 解压
tar xzvf /root/logstash-${VERSION}-linux-x86_64.tar.gz
mv /root/logstash-${VERSION} /data/
1.2.4.2. 配置基本环节 logstash
# 修改logstash使用自带jdk./bin/logstash.lib.sh
export_java_home="export JAVA_HOME=/data/logstash-${VERSION}/jdk"
sed -i "1i\\
${export_java_home}\\
" /data/logstash-${VERSION}/bin/logstash.lib.sh
# 指定内存大小.config/jvm.options
HEAP_SIZE="1g"
sed -i "s|^\(-Xms\).*|\1${HEAP_SIZE}|" /data/logstash-${VERSION}/config/jvm.options
sed -i "s|^\(-Xmx\).*|\1${HEAP_SIZE}|" /data/logstash-${VERSION}/config/jvm.options
1.2.4.3. 配置启动关闭脚本
LOGSTASH_PATH="/data/logstash-${VERSION}"
# 生成启动脚本
cat > ${LOGSTASH_PATH}/start.sh << EOF
#!/bin/bash
INSTALL_PATH='${LOGSTASH_PATH}'
nohup \${INSTALL_PATH}/bin/logstash -f \${INSTALL_PATH}/conf.d/ --config.reload.automatic &>\${INSTALL_PATH}/logstash.log &
EOF
# 生成关停脚本
cat > ${LOGSTASH_PATH}/stop.sh << EOF
#!/bin/bash
INSTALL_PATH='${LOGSTASH_PATH}'
ps aux | grep "\${INSTALL_PATH}/jdk/bin/java" | grep -v grep | awk '{print \$2}' | xargs kill &>/dev/null
EOF
# 给脚本添加执行权限
chmod +x ${LOGSTASH_PATH}/{start,stop}.sh
1.2.4.4. 配置 logstash 接入 redis
# 配置文件加载目录
mkdir -p /data/logstash-${VERSION}/conf.d
# 获取本机的 IP 地址
ip_address=$(hostname -I | awk '{print $1}')
# 定义 Logstash 安装路径
LOGSTASH_PATH="/data/logstash-${VERSION}"
# 定义 Logstash 配置文件路径
CONFIG_PATH="${LOGSTASH_PATH}/conf.d/filebeat.conf"
# 使用 cat 命令生成 filebeat.conf 文件
cat > ${CONFIG_PATH} << EOF
input {
beats {
port => 5044
codec => plain { charset => "ISO-8859-1" }
}
redis {
data_type => "list"
key => "filebeat-redis-web"
#redis中的键值,与filebeat中output.redis中的key: "filebeat-redis-web",保持一致
host => "${ip_address}"
port => "6379"
db => "0"
}
}
output {
elasticsearch {
hosts => ["http://${ip_address}:9200"]
index => "%{log_type}_%{+YYYY-MM}"
}
}
EOF
${LOGSTASH_PATH}/start.sh
1.2.5. 安装 redis
1.2.5.1. 略
此处为语雀内容卡片,点击链接查看:https://www.yuque.com/zhongzelin-k13tx/nc4np3/vgy4kehoq5n3684g
2. filebeat
2.1. 下载 filebeat
VERSION="7.17.17"
FB_URL="https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${VERSION}-x86_64.rpm"
wget ${FB_URL}
2.2. 安装 filebeat
2.2.1. rpm 安装
rpm -ivh filebeat-${VERSION}-x86_64.rpm
2.2.2. 配置文件
2.2.2.1. 配置 filebeat 接入 redis
/etc/filebeat/filebeat.yml
#自动加载
filebeat.config.inputs:
enabled: true
path: config/*.yml
reload.enabled: true
reload.period: 5s
# ---------------------------- Redis Output -----------------------------------
output.redis:
hosts: ["192.168.6.200:6379"]
#password: "123456"
key: "filebeat-redis-web"
db: 0
timeout: 10
#ttl过期
setup.template.name: "filebeat-redis-web"
setup.template.pattern: "filebeat-redis-web-*"
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- script:
lang: javascript
id: add_current_time
source: >
function process(event) {
var currentTime = new Date();
// 获取当前时间的时间戳(以毫秒为单位)
var timestamp = currentTime.getTime();
// 东八区的时区偏移量(单位:毫秒,东八区比 UTC 时间早 8 小时)
var offset = 8 * 60 * 60 * 1000;
// 根据偏移量调整时间戳,得到 CST 时间对应的时间戳
var cstTimestamp = timestamp + offset;
// 使用调整后的时间戳创建新的日期对象,代表 CST 时间
var cstTime = new Date(cstTimestamp);
// 将 CST 时间格式化为 ISO 8601 类似格式,但包含了时区信息 '+08:00',符合 CST 时间显示要求
var cstTimeString = cstTime.toISOString().replace('Z', '+08:00');
event.Put("custom_time", cstTimeString);
}
2.2.2.2. /etc/filebeat/config/ssh.yml
mkdir -p /etc/filebeat/config/
vim config/ssh.yml
- type: log
paths:
- /var/log/secure
scan_frequency: 5s
##允许添加自定义字段
fields_under_root: true
##指定时区
timezone: Asia/Shanghai
##字段名称
fields:
level: "secure_log"
log_type: "secure_log"
log_hostip: "192.168.6.100"
systemctl enable filebeat --now