解决方案:数据采集-数据采集系统-免费数据可视化采集

优采云 发布时间: 2022-11-28 16:23

  解决方案:数据采集-数据采集系统-免费数据可视化采集

  数据采集​​,数据采集工具主要是用来采集数据的。这也是数据采集

工具最直接、最常见的用途。由于数据采集是一个工具,是一个软件,程序运行速度极快,做重复的事情不会觉得累,所以使用数据提取获取大量数据就变得非常容易和快速。现在95%以上的网站都是基于模板开发的。使用模板可以快速生成大量布局相同但内容不同的网页。所以我们只需要使用以下数据采集工具,点击需要爬取的内容,即可实现自动批量爬取。

  网站的运营往往比网站的建设要困难得多。毕竟网站的运营是需要持续的。以下是小编总结的一些SEO操作。如果对你有帮助,请关注我~如何做好网站SEO工作。如何优化和推广自己的网站,我觉得以下几点很重要。

  一、网站结构

  

" />

  我参与的网站优化项目是为机械设备行业的展台设计的。在这种情况下,我建议使用扁平结构来构建网站。扁平结构更受搜索引擎欢迎,这样可以节省搜索引擎抓取您网站的时间。同时,由于网站结构简单明了,潜在用户可以尽快找到目标页面。更重要的是网站是动态页面还是静态页面。我建议将站点设为静态页面。许多人说网站是动态的还是静态的并不重要。但是,我更喜欢静态页面优化。我觉得*敏*感*词*要明白一个问题:网站的体验不是做长图。事实上,搜索引擎对图片不感兴趣。

  2.关键词布局

  关键词有核心关键词,过程词,转换词,长尾词,短句,这些怎么排。个人觉得可以把核心的关键词(百度索引的词或者)放在首页,一些精准的词放在二级页面(有百度索引但是索引很低),第三- level pages 短句(没有百度索引,但有一些问答词、区域词、价格词、厂家词可以提供解决方案)。这样布局,然后使用内部链接来链接这些关键词。

  SEO网站优化换服务器会影响网站排名吗?服务器对于网站的重要性不言而喻,好的服务器必然会对网站的排名产生一定的影响。

  

" />

  网站备份是数据库备份。在更换新服务器之前,网站管理员应该将旧服务器上的所有数据下载到本地。如果您不知道如何下载,可以向空间提供者寻求帮助。

  会有一个“生存时间”的概念,简称TTL,指的是每条域名解析记录在DNS服务器中的保留时间。当站长为网站更换新的服务器时,DNS的TTL值越小越好,这样可以加快域名解析的有效时间,让搜索引擎第一时间知道更换了服务器可能的。否则,蜘蛛可能无法抓取该站点。

  站长应该把之前备份的网站数据上传到新的服务器,然后检查网站是否可以访问,数据库是否丢失,后台是否可以打开。如果没有问题,您可以将网站域名解析到新服务器。此时需要注意的是,在进行上述操作的同时,一定要保持网站在旧服务器上运行。只要用户访问正常,蜘蛛爬行正常,网站排名不会因为服务器变动而受到影响。

  站长还要注意新服务器网站的IIS日志,主要看蜘蛛是否开始爬新服务器上的数据。一旦产生了正常的蜘蛛爬行记录,就说明服务器更换成功了一大半。由于域名解析会在72小时内全部解析到替换服务器,因此替换服务器的数据在解析过程中应保持不变。返回搜狐查看更多

  优化的解决方案:观测云采集 Amazon ECS 日志

  介绍

  Amazon Elastic Container Service (Amazon ECS) 是一种高度可扩展的快速容器管理服务,可让您轻松地在集群上运行、停止和管理容器。这些容器可以在自己的 EC2 服务器上运行,也可以在 AWS Fargate 托管的无服务器基础设施上运行。要为任务使用 Fargate 启动类型,您需要启动容器的 awslogs 日志驱动程序。容器中运行的应用程序输出的日志以STDOUT和STDERR I/O流的形式发送到CloudWatch Logs的日志组,然后通过Func采集

这些日志,Func通过Func将日志写入观察云部署在 EC2 上的 DataKit。本文中的日志采集

是针对 AWS Fargate 托管的容器。

  环境版本

  前提

  这里使用的ECS集群的名字是cluster-docker,见下面的示例日志和日志组。登录“AWS”,进入“Elastic Container Service”,点击“Cluster”->“cluster-docker”。

  单击服务名称。

  输入任务。

  在 Details 选项卡中找到容器下的日志记录配置。

  单击收录

应用程序日志的日志选项卡,然后采集

这些日志。

  脚步

  第 1 步:AWS 配置

  1.1 用户密钥

  使用部署ECS时使用的账号,后面创建用户时AWS提供的Access key ID和Secret access key会用到。

  1.2 设置AWS用户权限

  登录AWS的IAM控制台,在用户下找到ECS所在的用户,点击“添加权限”。

  单击“直接附加现有策略”。过滤策略输入CloudWatchLogsReadOnlyAccess、CloudWatchEventsReadOnlyAccess,选择,然后点击“Next: Audit”。

  第二步:功能配置

  2.1 配置环境变量

  登录“Func”->“开发”->“环境变量”->“添加环境变量”。这里添加三个环境变量,AWS_LOG_KEY的值对应步骤1中AWS用户的Access key ID,AWS_LOG_SECRET_ACCESS_KEY的值对应步骤1中AWS用户的Secret access key,AWS_REGION_NAME的值对应AWS 用户所在的区域。

  2.2 配置连接器

  登录“功能”->“开发”->“连接器”->“添加连接器”。这里ID必须填写datakit,host对应安装DataKit的地址,port为DataKit的端口。本例直接使用IP,所以协议填HTTP。单击“Test Connectivity”并返回一个复选标记,表明 DataKit 可用。

  2.3 PIP工具配置

  登录“功能”->“管理”->“实验功能”,在右侧选择“启用PIP工具模块”。

  点击左侧“PIP工具”,选择“阿里云镜像”,输入“boto3”,点击“安装”。

  2.4 脚本库

  登录“功能”->“开发”->“脚本库”->“添加脚本集”,ID可自定义,点击“保存”。

  找到“AWS Log 采集

”并点击“Add Script”。

  输入此处定义的 ID 为“aws_ecs__log”,然后单击“保存”。

  单击“编辑”。

  输入以下内容。

  

import boto3

import json

import time

scope_id='ecs_log'

@DFF.API('aws_ecs log', timeout=500, api_timeout=180)

def run(measurement, logGroupName, interval):

print(measurement, logGroupName, interval)

get_log_data(measurement, logGroupName, interval)

# if data is not None:

# push_log(data)

# else:

# print("None")

<p>

" />

def get_cron_time(interval, measurement):

cache = DFF.CACHE.get(&#39;last_time_%s&#39; %measurement,scope=scope_id)

if cache == None:

currentTime = int(round(time.time() * 1000))

startTime = currentTime - int(interval) * 1000

endTime = currentTime

else:

currentTime = int(round(time.time() * 1000))

if currentTime - int(cache) > 10 * 60 * 1000:

startTime = currentTime - int(interval) * 1000

endTime = currentTime

else:

startTime = int(cache) + 1

endTime = currentTime

print(startTime, endTime)

return startTime, endTime

def get_log_data(measurement, logGroupName, interval):

logTime = get_cron_time(interval, measurement)

startTime = logTime[0]

endTime = logTime[1]

isPush = False

client = boto3.client(

&#39;logs&#39;,

aws_access_key_id=DFF.ENV(&#39;AWS_LOG_KEY&#39;),

aws_secret_access_key=DFF.ENV(&#39;AWS_LOG_SECRET_ACCESS_KEY&#39;),

region_name=DFF.ENV(&#39;AWS_REGION_NAME&#39;)

)# print(client.meta.config)

try:

nextToken = &#39;frist&#39;

logData = []

while nextToken != &#39;&#39;:

if nextToken == &#39;frist&#39;:

nextToken = &#39;&#39;

response = client.filter_log_events(

logGroupName=logGroupName,

startTime=startTime,

endTime=endTime,

limit=1000,

#filterPattern="?ERROR ?WARN ?error ?warn",

interleaved=False

)

else:

response = client.filter_log_events(

logGroupName=logGroupName,

startTime=startTime,

endTime=endTime,

nextToken=nextToken,

limit=1000,

#filterPattern="?ERROR ?WARN ?error ?warn",

interleaved=False

)

try:

if len(response[&#39;events&#39;]) > 0:

data = []

lastTimeList = []

for i in response[&#39;events&#39;]:

# print("hii", i[&#39;logStreamName&#39;])

  

" />

log = {

&#39;measurement&#39;: measurement,

&#39;tags&#39;: {

&#39;logGroupName&#39;: logGroupName,

&#39;logStreamName&#39;: i[&#39;logStreamName&#39;],

&#39;host&#39;: &#39;127.0.0.1&#39;

},

&#39;fields&#39;: {

&#39;message&#39;: i[&#39;message&#39;],

&#39;time&#39;: i[&#39;timestamp&#39;]

}

}

data.append(log)

lastTimeList.append(i[&#39;timestamp&#39;])

push_log(data)

print("max %s" % max(lastTimeList))

DFF.CACHE.set(&#39;last_time_%s&#39; % measurement, max(lastTimeList), scope=scope_id, expire=None)

isPush = True

else:

DFF.CACHE.set(&#39;last_time_%s&#39; % measurement, endTime , scope=scope_id, expire=None)

nextToken = response[&#39;nextToken&#39;]

except:

nextToken = &#39;&#39;

except Exception as e:

print(&#39;Error: %s&#39; % e )

return None

if not isPush:

DFF.CACHE.set(&#39;last_time_%s&#39; % measurement, endTime , scope=scope_id, expire=None)

def push_log(data):

datakit = DFF.SRC(&#39;datakit&#39;)

status_code, result = datakit.write_logging_many(data=data)

if status_code == 200:

print("total %d" % len(data))

print(status_code, result)

</p>

  2.5 测试脚本

  选择“运行”如下图所示。在第二个框中,输入“ecs_log_source”作为测量值。该值对应观察云日志中的日志源,logGroupName对应前置条件中找到的“awslogs-group”。interval值对应采集频率,这里是60秒。

  点击“Execute”,输出“total 8”,即上报8条日志。

  登录“观察云”,进入“日志”模块,数据源选择“ecs_log_source”,即可看到日志。

  点击右上角的“发布”。

  点击右上角的“结束编辑图标”。

  2.6 自动日志采集

  登录“功能”-&gt;“管理”-&gt;“自动触发配置”-&gt;“新建”,输入刚才执行的参数。

  {

"measurement": "ecs_log_source",

"logGroupName": "/ecs/demo-task",

"interval": 60

}

  选择每分钟或每 5 分钟的时间,然后单击“保存”。

  在“Automatic Trigger Configuration”列表中有“aws_ecs log”的记录,点击“Recent Execution”可以查看执行状态。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线