第十二章 Logstash入门
一、概念介绍
Logstash是一个类似实时流水线的开源数据传输引擎,它像一个两头连接不 同数据源的数据传输管道,将数据实时地从一个数据源传输到另一个数据源中。在数据传输的过程中,Logstash还可以对数据进行清洗、加工和整理,使数据在 到达目的地时直接可用或接近可用,为更复杂的数据分析、处理以及可视化做准备。
既然需要将数据搬运到指定的地点,为什么不在数据产生时就将数据写到需要的地方呢?这个问题可以从以下几个方面理解。首先,许多数据在产生时并不支持直接写入到除本地文件以外的其他数据源。比如大多数第三方软件在运行中产生的日志,都以文本形式写到本地文件中。其次,在分布式环境下许多数据都分散在不同容器甚至不同机器上,而在处理这些数据时往往需要将数据收集到一起统一处理。 最后,即使软件支持将数据写入到指定的地点,但随着人们对数据理解的深人和新技术的诞生又会有新的数据分析需求出现,总会有一些接入需来是原生软件无法满足的。综上,Logstash的核心价值就在于它将业务系统与数摆处现系统隔离开来,屏蔽了各自系统变化对彼此的影响,使系统之间的依赖降低并可独自进化发展。
Logstash可以从多个数据源提取数据,然后再清洗过滤并发送到指定的目标 数据源。目标数据源也可以是多个,而且只要修改Logstash管道配置就可以轻松扩展数据的源头和目标。这在实际应用中非常有价值,尤其是在提取或发送的数据源发生变更时更为明显。比如原来只将数据提取到Elasticsearch中做检索,但 现在需要将它们同时传给Spark做实时分析。如果事先没有使用Logstash就必须设计新代码向Spark发送数据,而如果预先使用了Logstash则只需要在管道配置中添加新的输出配置。这极大增强了数据传输的灵活性。
Logstash负责日志收集和转发,支持日志过滤,支持普通log、自定义json格式的日志解析。
1、部署规划
计划在三台CentOS7机器上部署ELK,其中一台机器作为ELK的服务节点,IP为192.168.0.101;另外两台作为客户节点,IP为192.168.0.102/103。其中服务节点部署Elasticsearch、Logstash和Kibana三个组件,客户节点部署Logstash,Nginx等。
2、服务节点部署
2.1、环境准备
默认root用户下操作,其他用户请自觉添加sudo。
1)安装JDK,省略
2)关闭防火墙,关闭selinux
systemctl stop firewalld
systemctl disable firewalld
或者设置防火墙规则:
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload
2.2、添加ELK仓库
Add the following in your `/etc/yum.repos.d/` directory in a file with a `.repo` suffix, for example `logstash.repo`
cat <<EOF | tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
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=1
autorefresh=1
type=rpm-md
EOF
本文参考博文:https://www.voidking.com/dev-centos7-install-elk/
二、ES服务器部署logstash
Logstash是基于Java生态圈的语言开发的,所以安装Logstash之前需要先安装JDK。Logstash 7目前只支持Java8或Java 11,所以安装前要检查安装JDK的版本是否正确。Logstash提供了DEBh和RPM安装包,还提供了tar. gz和zip压缩包,也可以直接通过Docker启动Logstash。安装过程比较简单,直接解压缩文件是最简单的办法。
Logstash 的启动命令位于安装路径的 bin 目录中,直接运行 logstash 不行, 需要按如下方式提供参数: ./logstash -e "input {stdin {}} output {stdout{}}" 启动时应注意: -e 参数后要使用双引号。如果在命令行启动日志中看到 “Successfully started Logstash API end-point l:port= >9600”,就证明启动成功
在上面的命令行中,-e 代表输入配置字符串,定义了一个标准输入插件( 即 stdin) 和一个标准输出插件( 即 stdout),意思就是从命令行提取输入,并在命令行直接 将提取的数据输出。如果想要更换输入或输出,只要将 input 或 output 中的插 件名称更改即可,这充分体现了 Logstash 管道配置的灵活性。按示例启动 Logstash,命令行将会等待输入,键人“Hello, World!"后会在命令行返回结果如 下:
在默认情况下,stdout 输出插件的编解码器为 rubydebug,所以输出内容中 包含了版本、时间等信息,其中 message 属性包含的就是在命令行输入的内容。 试着将输出插件的编码器更换为 plain 或 line,则输入的结果将会发生变化: ./logstash -e "input {stdin {}} output {stdout{codec => plain}}"
1、RPM方式安装logstash
1.1、下载下载RPM安装包
1)192.168.0.101上执行:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.7.0.rpm
2)192.168.0.102上执行:
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.7.0.rpm
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-x86_64.rpm
wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.8.1-1.el7.ngx.x86_64.rpm
1.2、RPM方式安装:
1)下载并安装公共签名密钥
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2)安装logstash-7.7.0.rpm
sudo rpm --install logstash-7.7.0.rpm
3)设置Logstash开机自启动
sudo systemctl daemon-reload
sudo systemctl enable logstash
确认Logstash的安装信息:
rpm -qi logstash
4)测试
/usr/share/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
备注:具体配置参见后面步骤详述
2、yum方式部署logstash
官方安装手册: https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
2.1、下载yum源的密钥认证:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2.2、利用yum安装logstash
yum install -y logstash
查看下logstash的安装目录:
rpm -ql logstash
创建一个软连接,每次执行命令的时候不用在写安装路劲(默认安装在/usr/share下)
ln -s /usr/share/logstash/bin/logstash /bin/
2.3、启动测试执行logstash的命令
1)通过rubydebug来输出下更详细的信息 :
logstash -e 'input { stdin { } } output { stdout {codec => rubydebug} }'
执行成功输入: hello logstash
2)stdout输出的结果:
hello logstash { "message" => "hello logstash", "host" => "localhost.localdomain", "@timestamp" => 2020-07-08T15:24:35.594Z, "@version" => "1" }
3、压缩包方式部署logstash
3.1、下载安装包
到官方release发布也下载:
https://www.elastic.co/cn/downloads/past-releases
例如:https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-linux-x86_64.tar.gz
3.2、上传安装包并解压
这里安装目录为:
安装包目录:/usr/local/elk
解压:tar -zxvf logstash-7.7.0.tar.gz
3.3、修改配置
在安装包目录config下面添加配置:
安装路劲:/usr/local/elk/logstash-7.7.0
4、配置logsash并启动测试
官方指南: https://www.elastic.co/guide/en/logstash/current/configuration.html
4.1、创建配置文件elk.conf
1)如果是RPM或者yum安装方式,新建命令:
vim /etc/logstash/conf.d/elk.conf
2)如果是手动安装压缩包方式:则在config目录下面找到对应的logstash-sample.conf文件复制一个elk.conf文件,然后编辑。
4.2、文件中添加以下内容:
测试收集elasticsearch的日志并且将日志输出到elasticsearch,配置如下所示:
[es@localhost config]$ vim elk.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
file {
path => "/var/log/elasticsearch/my-application.log"
type => "elasticsearch"
start_position => "beginning"
}
}
filter {
}
output {
elasticsearch {
hosts => ["http://192.168.0.101:9200"]
index => "elasticsearch-%{+YYYY.MM.dd}"
}
}
4.3、配置logstash.yml(可选)
1)在/etc/logstash/logstash.yml文件最后加入以下几行
作用:加入以下配置后,可在kibana上上查看logstash的性能
xpack.monitoring.elasticsearch.username: es
xpack.monitoring.elasticsearch.password: chenhuajing710
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.hosts: ["http://192.168.0.101:9200"]
2)配置堆内存(建议配置)
修改/etc/logstash/jvm.options配置文件
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms4g
-Xmx4g
3) logstash的安装目录和日志目录
rpm包安装的目录:/etc/logstash
日志目录:/var/log/logstash (可在配置文件中elasticsearch.yml自定义)
创建一个软连接,每次执行命令的时候不用在写安装路劲(默认安装在/usr/share下)
ln -s /usr/share/logstash/bin/logstash /bin/
4.4、使用配置文件运行logstash
1)手动安装方式启动:
cd /usr/local/elk/logstash-7.7.0
./bin/logstash -f ./config/elk.conf
运行成功以后输入以及标准输出结果:
2)RPM方式安装启动
启动Logstash:
systemctl start logstash
systemctl restart logstash
3)以配置文件方式启动logstash(rpm安装):
主要配置文件路劲:cd /etc/logstash/conf.d/
/usr/share/logstash/bin/logstash -f ./elk.conf
查看Logstash运行状态:
systemctl status logstash
ps -ef | grep logstash
netstat -nlpt
4.5、通过rubydebug来输出下更详细的信息:
logstash -e 'input { stdin { } } output { stdout {codec => rubydebug} }'
执行成功输入: hello logstash,
stdout输出的结果:
hello logstash { "message" => "hello logstash", "host" => "localhost.localdomain", "@timestamp" => 2020-07-08T15:24:35.594Z, "@version" => "1" }
4.6、Logstash配置文件以服务方式运行
在安装目录下修改startip.optins文件
1)查看默认启动项配置:
vim /etc/logstash/config/startup.options
# Set a home directory
LS_HOME=/usr/share/logstash
# logstash settings directory, the path which contains logstash.yml
LS_SETTINGS_DIR=/etc/logstash
LS_OPTS="--path.settings ${LS_SETTINGS_DIR} --path.config /etc/logstash/conf.d"
LS_JAVA_OPTS=""
LS_USER=logstash
LS_GROUP=logstash
LS_GC_LOG_FILE=/var/log/logstash/gc.log
之后我们编辑logstash.conf 配置文件,下面的例子将heartbeat写到磁盘上
input {
beats {
port => 5044
}
file {
path => "/var/log/elasticsearch/my-application.log"
type => "elasticsearch"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "elasticsearch-%{+YYYY.MM.dd}"
}
}
2)修改启动服务
以root身份执行logstash命令创建服务:
vim /etc/systemd/system/logstash.service
添加:"--path.config" "/etc/logstash/conf.d"
注意修改完启动文件需要重新启动系统:
systemctl daemon-reload
3)以nohup方式后台启动运行:
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf>/dev/null &
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf -w 8 -b 1000 > /dev/null 2>&1 &
5、测试日志搜集与输出
完成上述安装配置并启动成功以后,我们可以通过查看es的索引管理接口,来确认我们前面配置的索引elasticsearch-*是否输入到Elasticsearch。
查看路劲:http://192.168.0.101:9200/_cat/indices,内容如下所示:
索引保存成功以后我们就可以在ES的可视化界面Kibana页面创建索引,如下如所示:
展开左侧菜单,点击management,Kibana区块点击索引模式(index Patterns),点击“创建索引模式”按钮,输入elasticsearch-*
点击“下一步”,选择时间字段为@timestamp,点击“创建索引模式”按钮:
展开左侧菜单,点击“Discover”,选择我们刚才创建的索引:
搜索出来的日志信息即为elasticsearch打印的日志信息。
三、客户节点部署logsash
1、安装nginx服务
1.1、nginx安装运行
安装Nginx(192.168.0.102)(为测试Logstash收集日志,本步骤非必须)
1)下载安装包:
wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm
2)Rpm安装:
rpm --install nginx-1.18.0-1.el7.ngx.x86_64.rpm
3)设置开机自启动
systemctl daemon-reload
systemctl enable nginx
4)启动Nginx
systemctl start nginx
备注:
Nginx启停命令:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定nginx.conf,默认为NGINX_HOME/conf/nginx.conf
./nginx -s stop 停止
./nginx -s quit 退出
./nginx -s reload 重新加载nginx.conf
浏览器访问Nginx:http://192.168.0.102/index.html
1.2、Nginx配置:
1)编辑nginx默认的配置文件
主要是将日志配置信息打开,为logstash收集日志提供数据。
然后修改/etc/nginx/nginx.conf配置,在http配置块中加入如下配置:
log_format access_log_json '{"user_ip":"$http_x_forwarded_for","lan_ip":"$remote_addr","log_time":"$time_iso8601","user_rqp":"$request","http_code":"$status","body_bytes_sent":"$body_bytes_sent","req_time":"$request_time","user_ua":"$http_user_agent"}';
access_log /var/log/nginx/access.log access_log_json;
vim /etc/nginx/nginx.conf
默认配置内容如下所示:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
2)设置日志文件权限:
chmod -R 755 /var/log/nginx/access.log
1.3、重启访问nginx
访问地址:http://192.168.0.102/index.html
2、安装logstash(略)
安装步骤参考前面的安装说明即可。
2.1、创建Logstash配置文件:
vim /etc/logstash/conf.d/elk.conf
输入以下配置:
input {
file {
path => "/usr/local/nginx/logs/host.access.log"
type => "nginx"
start_position => "beginning"
}
}
filter {
}
output {
elasticsearch {
hosts => ["http://192.168.0.101:9200"]
index => "nginx-%{+YYYY.MM.dd}"
user => "es"
password => "chenhuajing710"
}
}
2.2、重启Logstash
systemctl restart logstash
或者:./bin/logstash -f ./config/elk.conf
查看运行状态:
systemctl status logstash
完成上述安装配置并启动成功以后,我们可以通过查看es的索引管理接口,来确认我们前面配置的索引elasticsearch-*是否输入到Elasticsearch。
查看路劲:http://192.168.0.101:9200/_cat/indices,内容如下所示:
然后在kibana页面创建nginx-*索引,最后在Discover页面选择nginx索引查看日志数据:
3、收集Nginx的access.log和error.log
3.1、创建Logstash配置
vim /etc/logstash/conf.d/nginx_log.conf
配置如下:
[root@localhost config]# cat nginx_log.conf
input {
file {
path => "/var/log/nginx/access.log"
type => "nginx-access"
start_position => "beginning"
}
file {
path => "/var/log/nginx/error.log"
type => "nginx-error"
start_position => "beginning"
}
}
filter {
}
output {
if [type] == "nginx-access"{
elasticsearch {
hosts => ["http://192.168.0.101:9200"]
index => "nginx-log-access-%{+YYYY.MM.dd}"
user => "es"
password => "chenhuajing710"
}
}
if [type] == "nginx-error"{
elasticsearch {
hosts => ["http://192.168.0.101:9200"]
index => "nginx-log-error-%{+YYYY.MM.dd}"
user => "es"
password => "chenhuajing710"
}
}
}
关于filter的配置参考如下:
filter {
if [type] == "nginx-access"{
grok {
match => ["message","%{IPORHOST:remote_addr} - %{HTTPDUSER:remote_user} \[%{HTTPDATE:time_local}\] \"(?:%{WORD:method} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:status} (?:%{NUMBER:body_bytes}|-) %{QS:referrer} %{QS:user_agent} %{QS:x_forward_for}"]
}
}
if [type] == "nginx-error"{
grok {
match => [
"message", "(?<time_local>%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}[- ]%{TIME}) \[%{LOGLEVEL:log_level}\] %{POSINT:pid}#%{NUMBER}: %{GREEDYDATA:error_message}(?:, client: (?<client>%{IP}|%{HOSTNAME}))(?:, server: %{IPORHOST:server}?)(?:, request: %{QS:request})?(?:, upstream: (?<upstream>\"%{URI}\"|%{QS}))?(?:, host: %{QS:request_host})?(?:, referrer: \"%{URI:referrer}\")?",
"message", "(?<time_local>%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}[- ]%{TIME}) \[%{LOGLEVEL:log_level}\]\s{1,}%{GREEDYDATA:error_message}"
]
}
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
mutate {
convert => [ "status", "integer" ]
convert => [ "body_bytes","integer" ]
}
ruby {
code => "event.set('log_day', event.get('@timestamp').time.localtime.strftime('%Y%m%d'))"
}
}
检查配置:
/usr/share/logstash/bin/logstash --config.test_and_exit -f /etc/logstash/conf.d/nginx_log.conf
3.2、测试收集和解析日志
1)如果Logstash当前正在运行,先停掉
systemctl stop logstash
2)指定配置文件执行,测试终端输出结果
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/nginx_log.conf
nohup sh /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/nginx_log.conf &
systemd启动Logstash并查看运行状态
systemctl status logstash
3)生产错误日志:把Nginx配置文件改错,重启Nginx
systemctl restart nginx
4)查看ES索引存储情况:
在kibana页面创建access和error log的索引,然后查看错误信息:
改回正确配置,启动Nginx,浏览器访问Nginx,访问一个不存在的页面,生产错误日志:
访问:http://192.168.0.102/inde.html (将index.html改为inde.html)
生产访问日志:浏览器访问Nginx,访问一个存在的页面,可以看到正常的日志访问信息:
四、日志采集系统构建实战
1、环境准备
1)首先确保服务器已经运行了ES集群与Kibana组件。
2)确保服务器上已经安装部署了logstash。
备注:具体安装步骤参考前面章节。
2、配置与测试
2.1、Logstash配置
在Logstash安装路径下的config目录中,新建一个conf文件,取名为es_log.conf,并且填入以下内容:
input {
file {
path => "/opt/unimeta/uni-meta-getway/uni-meta-getway-1.0.log"
type => "uni-meta-getway"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-auth/uni-meta-auth-1.0.log"
type => "uni-meta-auth"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-manage/uni-meta-manage-1.0.log"
type => "uni-meta-manage"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
filter {
}
output {
if [type] == "uni-meta-getway"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-getway-%{+YYYY.MM.dd}"
}
}
if [type] == "uni-meta-auth"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-auth-%{+YYYY.MM.dd}"
}
}
if [type] == "uni-meta-manage"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-manage-%{+YYYY.MM.dd}"
}
}
stdout{}
}
2.2、以配置文件方式启动测试
进入Logstash的bin目录执行
./usr/share/logstash/bin/logstash -f ./etc/logstash/conf.d/elk.conf
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf>/dev/null &
控制台会输出:
我们到浏览器查询,发现ES中确实创建了一个索引es-log-2020.07.08
然后在在ES中查询这个索引的内容:
仔细检查存入的日志内容,发现日志信息是作为整体存入message字段的,有没有办法存入的更细粒些呢?仔细分析es的日志,呈现了一定的结构化特征,日志内容总是:“[时间戳][日志级别][输出信息的类名][节点名]具体的日志信息 ”这种格式,所以我们完全可以考虑使用过滤器插件对文本进行分析后再存入es,怎么分析?可以用grok过滤器。
3、使用grok过滤器
3.1、配置grok过滤器
在Logstash安装路径下的config目录中,新建conf文件,取名为log_grok.conf,并且填入以下内容:
input {
file {
path => "/opt/unimeta/uni-meta-getway/uni-meta-getway-1.0.log"
type => "uni-meta-getway"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-auth/uni-meta-auth-1.0.log"
type => "uni-meta-auth"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-manage/uni-meta-manage-1.0.log"
type => "uni-meta-manage"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
filter {
grok {
match=>{message=>"%{TIMESTAMP_ISO8601:time}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{NOT SPACE:loggerclass}%{SPACE}%{GREEDYDATA:char}%{SPACE}%{GREEDYDATA:msg}"
}
}
output {
if [type] == "uni-meta-getway"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-getway-%{+YYYY.MM.dd}"
}
}
if [type] == "uni-meta-auth"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-auth-%{+YYYY.MM.dd}"
}
}
if [type] == "uni-meta-manage"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-manage-%{+YYYY.MM.dd}"
}
}
stdout{}
}
如果担心自己写的conf有语法问题,可以执行:
./usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf -t
检查conf,当然只能检查语法,不能检查诸如正则表达式是否正确这类问题。
然后再次执行:
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf
ps -ef | grep logstash
netstat -nlpt
如果发现程序没有输出,有可能是elk的日志文件已经被处理过,logstash不会重复处理,这时可以到logstash的/data/plugins/inputs/file目录下,删除.sincedb文件(这个文件是个隐藏文件),再执行启动命令。
可以看见,每条日志已经成功的被解析了。
3.2、使用ES模板配置
现在考虑如何存入es,按照原来的方式配置是不行的,必须还要做点改变,在config目录下创建一个 es_template.json,配置内容如下所示:
vim /etc/logstash/es_template.json
{
"template":"es-log-text-%{+YYYY.MM.dd}",
"settings": {
"index.refresh_interval":"1s"
},
"mappings":{
"properties":{
"time":{
"type":"date"
},
"level":{
"type":"keyword"
},
"loggerclass":{
"type":"keyword"
},
"nodename":{
"type":"keyword"
},
"msg":{
"type":"text"
},
"message":{
"type":"text"
}
}
}
}
定义好索引的 mapping(映射),注意要和我们对日志的分解一一对应。
3.3、创建新的配置文件并启动
创建一个新的conf文件,取名elk-grok.conf,内容如下:
input {
file {
path => "/opt/unimeta/uni-meta-getway/uni-meta-getway-1.0.log"
type => "uni-meta-getway"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-auth/uni-meta-auth-1.0.log"
type => "uni-meta-auth"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
file {
path => "/opt/unimeta/uni-meta-manage/uni-meta-manage-1.0.log"
type => "uni-meta-manage"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
filter {
grok {
match=>{message=>"%{TIMESTAMP_ISO8601:time}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{NOT SPACE:loggerclass}%{SPACE}%{-}%{SPACE}%{GREEDYDATA:msg}"
}
}
output {
if [type] == "uni-meta-getway"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-getway-%{+YYYY.MM.dd}"
template_name => "es_template*"
template => "/etc/logstash/"
}
}
if [type] == "uni-meta-auth"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-auth-%{+YYYY.MM.dd}"
template_name => "es_template*"
template => "/etc/logstash/"
}
}
if [type] == "uni-meta-manage"{
elasticsearch {
hosts => ["http://192.168.0.209:9200"]
index => "uni-meta-manage-%{+YYYY.MM.dd}"
template_name => "es_template*"
template => "/etc/logstash/"
}
}
stdout{}
}
主要是在elasticsearch插件中增加了对刚才新增的json文件的读取。
执行启动命令:
./usr/share/logstash/bin/logstash -f ./etc/logstash/conf.d/elk.conf
会看到控制台的输出,同时在浏览器中,也会看到解析后的日志:
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- PubChem的Python接口PubChemPy使用心得
花了一整天琢磨PubChemPy这个接口,写一下自己的使用心得:目的:根据化合物名称批量下载化合物的smi格式参考资料:1. https://pubchempy.readthedocs.io/en/latest/2. https://github.com/mcs07/PubChemPy3. https://blog.csdn.net/u012325865/article/details/77148242 原文…...
2024/4/20 9:41:18 - 微信小程序使用swiper和scroll-view做Tab标签页
说白了,就是利用轮播图的特性做Tab标签页Page({data: {//顶部安全距离(状态栏高度)statusBarHeight: wx.getSystemInfoSync().statusBarHeight,navScrollLeft: 0,currentTab: 0,navData: [{text: A},{text: B},{text: C},{text: D},],},onLoad: function () {},switchNav(ev…...
2024/4/22 15:24:12 - 什么是数据结构与算法
数据结构,简单说就是数据的存放方式,不同的数据结构不过是数据的存放方式不一样,这里为了方便大家理解,我们用图书馆存放图书来举例,图书馆中的图书就是我们计算机中的数据。我们去图书馆会发现,图书馆一般存储图书是把相同类别的图书存放到一起,或者按照图书名字的首字…...
2024/5/10 8:56:52 - Laravel ENV—— 环境变量的加载与源码解析
laravel 在启动时,会加载项目的 env 文件,本文将会详细介绍 env 文件的使用与源码的分析。 ENV 文件的使用 多环境 ENV 文件的设置 laravel 支持在不同的环境下加载不同的 env 文件,若想要实现多环境 env 文件,需要做两件事: 一、在项目写多个 ENV 文件,例如三个 env 文件…...
2024/5/10 4:24:23 - 关于定时任务的时间表达式
一:定时cron的格式,一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为:1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(…...
2024/5/10 12:19:40 - 购物时使用第三方支付的业务序列图
Alan 2020-5-29 19:26抽空做了下测试题,竞赛题目,做满分确实难这题的是答案2,但我觉得应该是3UMLChina潘加宇答案C,就考一个知识点Alan嗯,分享拼单 参与拼单错了支付那条线是方向不大合理支付 修改成 第三方支付系统 请求用户授权,更符合事实焦利利是辅执行者商户APP 调 …...
2024/5/5 22:10:02 - 菜鸟安装Pyinstaller
安装环境win10 64位,python 3.6, cmd中输入命令 pip install pyinstaller 报错然后就网上找各种解决方法,先是pip install wheel 接着是pip install win32 接着是pip install--upgrade pip 接着是pip install--upgrade setuptools 最后pip install pyinstaller 才成功 真是曲…...
2024/4/28 0:56:51 - 剑指 Offer 39. 数组中出现次数超过一半的数字
题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 题目链接:数组中出现次数超过一半的数字 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2思路 方式1 排序,取中间 public int majority…...
2024/4/10 13:23:56 - 【STD 11】C++ 11标准(1)
导航声明autodecltype返回类型后置模板别名nullptr智能指针案例事项unique_ptr和auto_ptr 声明 auto 关键字auto是一个存储类型说明符,C++ 11将其用于实现自动类型推断. auto p1=122; auto p2=3.14; auto p3="hello"; for(auto it=il.begin(); it!=il.end(); ++it){…...
2024/4/10 1:38:38 - Angular启动项目时报错
@Angular Angular启动项目时报错An unhandled exception occurred: Cannot find module ‘acorn’ 之前查看网上教程,教程需要引入@angular/http,初学Angular还不是很了解Angular8已经换成HttpClient,不需要引入angular/http,于是在cmd中运行了npm install @angular/http,…...
2024/4/28 20:16:10 - Sqli-labs-Less-54(笔记)
Sqli-labs-Less-54(笔记)从这一关开始就接近真实的环境 在这一关中对输入的次数做了限制,必须在10次以内获取到数据,否则就会刷新数据。 判断注入点 http://www.web.com/sql/Less-54/?id=1’ 错误,没有错误回显进行注释,成功说明存在注入点 http://www.web.com/sql/Less…...
2024/5/8 13:02:40 - TS
TS(TypeScript)学习笔记ts-变量的定义 安装npm install -g typescript编译在命令行上,运行TypeScript编译器: tsc 文件名.tsts-变量的定义与js相比对变量做了一些类型限制布尔类型let flag:boolean = false;数值类型let num:number = 15;字符串类型let str:string = 眼小…...
2024/4/10 12:18:09 - 如何学会一门编程语言(针对初学者)
程序员之道,万变不离其宗,说相声讲究的是说、学、逗、唱,学习程序最快也是最好的办法就是:过、抄、仿、改、调、看、练、创、悟: 1、过: 学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求深解,只求了解——第一遍:无需了解太过深入的理论,大体知道这…...
2024/4/10 12:18:08 - 获取当前的工作路径和上层的工作路径
获取当前的工作路径和上层的工作路径 import osprint ***获取当前目录*** print os.getcwd() print os.path.abspath(os.path.dirname(__file__))print ***获取上级目录*** print os.path.abspath(os.path.dirname(os.path.dirname(__file__))) print os.path.abspath(os.path.…...
2024/4/23 3:36:58 - 终于弄明白 i = i++和 i = ++i 的区别了!
写在前面:前些天看完了JVM的内存结构,自以为自己是懂了,心里想想不就是分线程共享和线程私有嘛,然后又怎么怎么分怎么怎么的嘛…直到遇到了这道题目。说句实话,曾经自己做这种运算题目,完全是靠脑子空想,然后拿上笔颤抖的写下一个自己都不知道正不正确的答案。不过过了今…...
2024/4/10 13:23:52 - 利用oracle内建包utl_smtp来发送邮件的一段脚本
CREATE OR REPLACE PROCEDURE send_mail( p_recipient VARCHAR2, – 邮件接收人 p_subject VARCHAR2, – 邮件标题 p_message VARCHAR2 – 邮件正文 ) IS --下面四个变量请根据实际邮件服务器进行赋值 v_mailhost VARCHAR2(30) := smtp.qq.com; --SMTP服务器地址 v_u…...
2024/4/27 11:03:32 - 挺好的开源应用
基于SpringBoot,易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用。...
2024/4/10 13:23:51 - java-------------多态
java-------------多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当…...
2024/4/23 8:49:16 - 【读后感】知乎最高赞回答!零代码基础,把报表做出科技感是什么体验?
平台:CSDN分类:数据处理知识点:软件介绍原文地址:https://blog.csdn.net/yuanziok/article/details/106993610?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-2.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-alirecmd-2.nonecase&re…...
2024/4/10 13:23:50 - 排序
常见的排序算法:算法的时间,空间复杂度以及稳定性:1.插入排序:整个区间分为: (1)有序空间 (2)无序空间 每次在无序区间中选择第一个元素,在有序区间内选择一个合适的位置插入 实现 package PreviweSort;import java.util.Arrays;public class InsertSort {public sta…...
2024/4/28 4:27:50
最新文章
- 航空科技:探索飞机引擎可视化技术的新视界
随着航空技术的飞速发展,飞机引擎作为航空器最为关键的部件之一,其性能直接影响到飞机的安全性、经济性和环保性。因此,飞机引擎可视化技术的应用日益成为航空行业研究和发展的热点。 通过图扑将复杂的飞机引擎结构和工作原理以直观、生动的…...
2024/5/10 16:37:22 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/9 21:23:04 - 算法打卡day29
今日任务: 1)1005.K次取反后最大化的数组和 2)134.加油站 3)135.分发糖果 1005.K次取反后最大化的数组和 题目链接:1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 给定一个整数数组 A&…...
2024/5/10 13:26:02 - 文心一言 vs gpt-4 全面横向比较
文心一言是中国百度公司研发的大规模语言模型,它有超多的参数,就像一个超级大脑,特别擅长理解并生成中文内容。在聊天啊、写文章啊、答题这些任务上表现不错,对中国文化和国情有更深的理解和适应能力。 GPT-3.5是OpenAI公司的上一…...
2024/5/10 0:03:24 - 关于阿里云的高级运维面试题
1. 请简述阿里云的主要产品和服务? 阿里云作为国内领先的云服务提供商,提供了多达几百款的云产品和服务。这些产品和服务可以满足不同行业和业务需求的客户,主要可以分为以下几大类: 弹性计算:提供可伸缩的计算资源&…...
2024/5/9 1:26:47 - 416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
2024/5/10 1:36:26 - 【Java】ExcelWriter自适应宽度工具类(支持中文)
工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...
2024/5/9 7:40:42 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/9 2:44:26 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/10 2:07:45 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/10 8:07:24 - 【Objective-C】Objective-C汇总
方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...
2024/5/9 5:40:03 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/10 8:16:30 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/10 2:07:43 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/10 2:07:43 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/9 4:12:16 - 用欧拉路径判断图同构推出reverse合法性:1116T4
http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai 和 a i 1 a_{i1} ai1 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然࿰…...
2024/5/9 7:40:35 - 【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
2024/5/9 19:47:07 - Hive默认分割符、存储格式与数据压缩
目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...
2024/5/10 10:17:11 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/10 2:07:41 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/10 16:37:19 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/10 15:01:36 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/9 16:54:42 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/10 1:31:37 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/10 9:24:29 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/10 10:40:03 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57