当前位置: 首页 > news >正文

二手网站建设方案怎么做谷歌推广

二手网站建设方案,怎么做谷歌推广,免费空间列表,网站建设空间步骤详解简介 1.1 ELK 介绍 ELK 是 ‌Elasticsearch‌、‌Logstash‌、‌Kibana‌ 三款开源工具的首字母缩写,构成了一套完整的日志管理解决方案,主要用于日志的采集、存储、分析与可视化‌。 1)Logstash:数据管道工具,负责从…

简介

1.1 ELK 介绍

ELK 是 ‌Elasticsearch‌、‌Logstash‌、‌Kibana‌ 三款开源工具的首字母缩写,构成了一套完整的日志管理解决方案,主要用于日志的采集、存储、分析与可视化‌。

1)Logstash:数据管道工具,负责从多种来源(如文件、数据库、消息队列)采集日志,进行过滤、格式化后输出到目标(如 Elasticsearch)‌;

2)Elasticsearch:分布式实时搜索与分析引擎,基于 Lucene 构建,负责存储和检索数据。支持全文检索、结构化查询和大规模数据的高效处理‌;

3)Kibana:数据可视化平台,提供交互式图表、仪表盘和地图,提供 ‌Dev Tools‌ 直接操作 Elasticsearch 中的数据并生成可视化报告‌;

1.2 Elastic Stack 介绍

Logstash 是基于 JVM 运行,默认堆内存 1GB,资源消耗较高,单节点处理能力受限于 CPU 和内存‌ ,尤其在大规模日志场景下性能瓶颈明显‌ 。Elastic公司推出‌Beats家族‌,旨在提供轻量级、专一化的数据采集工具。Filebeat作为其中一员,专攻‌日志文件采集‌,解决了Logstash Forwarder(旧版采集器)的功能局限和性能问题‌。

Filebeat采用Go语言开发,具有低资源占用(CPU/内存消耗可忽略不计)、易部署等特点,尤其适合边缘节点和资源受限环境‌。

随着 Beats 等新成员的加入,原有名称无法涵盖全部组件。为统一品牌和技术生态,Elastic 公司将 ELK 更名为 ‌Elastic Stack‌,强调其能力的全面性(如支持日志、指标、安全监控等)。

1.3 高并发高可用架构(分布式)

在高并发的架构中,ELK可以结合Kafka作为中间件,用于解耦数据生产者和消费者,处理突发的数据流量,避免Logstash或Elasticsearch过载。

1)Beats‌(Filebeat/Metricbeat)直接采集数据并发送至 Kafka 主题,避免数据直接冲击下游组件‌;

2)Logstash‌ 从 Kafka 消费数据,进行过滤、富化等操作后批量写入 Elasticsearch‌;

准备工作

1)准备一台服务器,系统为CentOS8;

2)安装Docker及docker-compose;

注:在安装 Elasticsearch、Kibana、Logstash,需安装相同版本号的版本。Filebeat 和 ELK 的大版本也要保持一致。

Elasticsearch 安装

3.1 elasticsearch.yml 配置

a)创建elasticsearch用户

useradd elasticsearch

可通过 cat /etc/passwd 查看当前系统的用户信息。

b)在home目录中,创建elasticsearch目录,并授权给elasticsearch用户

mkdir elasticsearch

chown -R elasticsearch:elasticsearch /home/elasticsearch

c)在elasticsearch目录中,创建data、logs、conf目录

d)在conf目录中,创建elasticsearch.yml文件。文件的配置信息如下:

# 集群名称
cluster.name: es-cluster
network.host: 0.0.0.0
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 关闭安全认证
xpack.security.enabled: false

3.2 elk_elasticsearch-compose.yml 配置

编写 elk_elasticsearch-compose.yml,内容如下:

version: "3"
services:elasticsearch:container_name: elasticsearchhostname: elasticsearchimage: elasticsearch:8.16.0user: "elasticsearch:elasticsearch"ports:- 9200:9200volumes:- /home/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /home/elasticsearch/data:/usr/share/elasticsearch/data- /home/elasticsearch/logs:/usr/share/elasticsearch/logsenvironment:- "discovery.type=single-node"  # 设置elasticsearch为单节点- "TAKE_FILE_OWNERSHIP=true"   # 在容器启动时,自动将宿主机中挂载的卷的文件操作权限赋给容器的用户(默认为UID 1000)。- "ES_JAVA_OPTS=-Xms216m -Xmx512m"- "TZ=Asia/Shanghai"

1)user: "elasticsearch:elasticsearch"

elasticsearch容器的用户为elasticsearch

2)- "TAKE_FILE_OWNERSHIP=true"

在容器启动时,自动将宿主机中挂载的卷的文件操作权限赋给容器的用户(默认为UID 1000)。

生产环境慎用:自动修改目录权限可能存在安全风险,建议预配置权限

3.3 执行安装

进入elk_elasticsearch_compose.yml 目录,执行如下:

docker-compse -f elk_elasticsearch_compose.yml up -d

3.4 docker 常用命令

1)查看容器id

docker ps

2)查看容器实时日志

docker logs -f 容器id

3)将日志实时追加到日志文件中

docker logs -f 容器id  >> test.log 2>&1

4)进入容器

docker exec -it 容器id bash

Logstash 安装

4.1 logstash.yml 配置

在home目录中,创建logstash/conf目录,创建logstash.yml文件,文件的配置信息如下:

# 通过filebeat数据输入,端口为5044
input {beats {port => 5044}
}# 数据处理
filter {grok {   # Grok结构化文本解析,解析日志信息match => [    "message", "(?<logTime>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{3})\s+\[(?<thread>.*)\]\s+(?<level>\w*)\s{1,2}+(?<class>\S*)\s+-\s+(?<content>.*)\s*"] }date {    # 时间处理match => ["timestamp_string", "ISO8601"]}mutate {   # 字段操作remove_field => [message, timestamp_string]}   
}# 数据输出
output {        elasticsearch {   # 输出到elasticsearchhosts =>  ["http://192.168.199.210:9200"]index => "logstash-test"}stdout {   # 输出到控制器,用于调试codec => rubydebug}
}

1)logstash配置分为三部分,分别为

input {   ...    }       # 数据输入

filter {    ...    }       # 数据处理

output {   ...    }     # 数据输出

2)grok的match

a)logstash接收到内容会放到message字段中,通过正则表达式匹配message中的信息;

b)可配置多个解析规则,当任意一个 message 匹配上了这个正则,则 grok 执行完毕;

c)如果配置了多个规则,grok依然没有匹配上,message 也会输出到 ES,只是这条日志在 ES 中不会展示 logTime、level 等字段;

grok的正则表达式编写比较麻烦,可通过 kibana 进行调试

http://IP:5601/app/dev_tools#/grokdebugger

如上面的日志信息,通过解析后,会解析出level、thread、class、content 和 logTime

4.2 elk_logstash_compose.yml 配置

elk_logstash_compose.yml 的内容如下:

version: "3"
services:logstash:container_name: logstashhostname: logstashimage: logstash:8.16.0command: logstash -f ./conf/logstash.confvolumes:- /home/logstash/conf/logstash.conf:/usr/share/logstash/conf/logstash.confenvironment:- elasticsearch.hosts=http://192.168.199.210:9200- xpack.monitoring.elasticsearch.hosts=http://192.168.199.210:9200   # 解决logstash监控连接报错- "TZ=Asia/Shanghai"- "LS_JAVA_OPTS=-Xms216m -Xmx512m"ports:- 5044:5044

同3.3,执行 elk_logstash_compose.yml 进行安装

Filebeat 安装

5.1 filebeat.yml 配置

在home目录中,创建filebeat目录,创建conf、data 和 logs 文件夹。在conf中,创建logstash.yml文件,文件的配置信息如下:

filebeat.inputs:
- type: filestreamenabled: truepaths:- /home/app/*.log# 多行日志合并(处理Java异常堆栈)multiline:pattern: '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}'negate: falsematch: after
# 使用processors 提取字段
processors:# 第一步:使用 dissect 分解原始日志行- dissect:tokenizer: '%{timestamp} [%{thread}] %{level} %{logger} - %{message}'field: "message"  # 原始日志字段(默认存储为 message)target_prefix: ""   # 直接提取到根字段(非嵌套)# 第二步:解析时间戳(覆盖默认@timestamp)- timestamp:field: timestamp   # 从 dissect 提取的timestamp字段layouts:- '2006-01-02 15:04:05.000'   # Go 时间格式(必须与日志中的时间格式完全匹配)test:- '2025-03-07 10:12:23.123'   # 测试用例(可选)第三步:删除临时字段- drop_fields:fields: ["timestamp", "log.offset", "input.type"]  # 清理无用字段
# 输出到 Elasticsearch
output.elasticsearch:hosts: ["http://192.168.199.210:9200"]index: "filebeat-%{+yyyy.MM.dd}"
# 输出到控制台(测试时可查看结果)
output.console:pretty: truecodec.json:pretty: true  

在测试的时候,可以通过output.console,将信息输出到控制台。

5.2 elk_filebeat_compose.yml 配置

elk_filebeat_compose.yml 的内容如下:

version: "3"
services:filebeat:container_name: filebeathostname: filebeatimage: elastic/filebeat:8.16.4user: rootvolumes:# 映射到容器中【作为数据源】- /var/lib/docker/containers:/var/lib/docker/containers- /home/app:/home/app# 方便查看数据及日志- /home/filebeat/logs:/usr/share/filebeat/logs- /home/filebeat/data:/usr/share/filebeat/data- /home/filebeat/conf/filebeat.yml:/usr/share/filebeat/filebeat.yml

1)user: root

Filebeat 需要访问宿主机的文件,需要有 root 的权限

2)- /home/app:/home/app

注:在 filebeat.yml 中配置了文件的 paths 为 /home/app 下的文件,此处需要将 /home/app3 和容器进行映射,否则 filebeat 将访问不到日志文件

同3.3,执行 elk_logstash_compose.yml 进行安装

Kibana 安装

6.1 kibana.yml 配置

在home目录中,创建kibana/conf目录,创建kibana.yml文件,文件的配置信息如下:

# 服务端口
server.port: 5601
# 服务IP
server.host: "0.0.0.0"
# ES
elasticsearch.hosts: ["http://192.168.199.210:9200"]
# 汉化
i18n.locale: "zh-CN"

6.2 elk_kibana_compose.yml 配置

elk_kibana_compose.yml 的配置如下:

version: "3"
services:kibana:container_name: kibanahostname: kibanaimage: kibana:8.16.0ports:- 5601:5601volumes:- /home/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.ymlenvironment:- elasticsearch.hosts=http://192.168.199.210:9200- "TZ=Asia/Shanghai"- XPACK_SECURITY_ENABLED=false       # 关闭安全模块(非必要功能)- ELASTICSEARCH_ASSISTANT_ENABLED=false  # 禁用 Elastic Assistant 插件:ml-citation{ref="3,4" data="citationList"}

Kibana安装时,需关闭安全模块(非必要功能)和禁用Elastic Assistant 插件

注:不同版本的 ELK 可能会存在不同的问题

测试示例

容器都安装成功后,在 /home/app 中添加日志文件,测试的日志信息如下:

2025-03-04 01:34:24.143 [http-nio-8094-exec-7] INFO  c.q.s.s.i.SessionUserInterceptor - session user check ... false
2025-03-04 01:35:13.984 [nioEventLoopGroup-5-7] INFO  c.q.e.addsub.netty.WebSocketHandler - handlerRemove 调用fa163efffe9f832c-000079e3-00000973-55cbd5b44071a452-2c89d78a

结尾

以上为本篇分析的全部内容。

关于本篇内容你有什么自己的想法或独到见解,欢迎在评论区一起交流探讨下吧。

http://www.cadmedia.cn/news/1507.html

相关文章:

  • 阿里云主机可以放几个网站国内b站不收费网站有哪些
  • 0元建设黑网站搜索引擎优化的简称是
  • xampp做网站百度seo排名优化软件化
  • 河北建设厅网站官网日照高端网站建设
  • 网站框架类型广告主平台
  • 网站后台拿shell网络推广和网络销售的区别
  • 合肥推广优化公司宁波优化网站哪家好
  • 品牌设计作品seo优化与品牌官网定制
  • 书画网站 建设方案免费seo网站优化工具
  • 游戏外包公司是干嘛的沈阳seo关键字优化
  • 互联网公司排名2024中国持续优化疫情防控举措
  • 网站建设项目创业计划书市场营销分析案例
  • 稿定设计手机版下载福州短视频seo方法
  • 建设股票交易网站网络搭建是干什么的
  • 重庆电子商务网站广告投放渠道有哪些
  • 接外包网站2023第二波疫情已经到来了吗
  • 廊坊网站建设联系青橙网络神马网站快速排名案例
  • 好的网站建设公司哪家好网络推广是什么职业
  • 东莞智通人才最新招聘网百度seo排名优化教程
  • 为了 门户网站建设中国国家人事人才培训网证书查询
  • 网站基础建设英文翻译电商平台哪个最好最可靠
  • 住房和城乡建设部服务门户seo推广是什么
  • 如何给公司网站做优化做网络推广一个月的收入
  • 珠海免费模板建站站内优化seo
  • 自动发布到wordpress成都seo达人
  • 大型网站怎么加载图片的网推公司
  • 描述建设网站的一个具体步骤搜索引擎优化是什么工作
  • 免费h5页面制作工具seo关键词优化软件怎么样
  • 网站建设企业营销seo的搜索排名影响因素有哪些
  • 企业网站公司单位有哪些百度百家号官网