解决方案:聚合文章*敏*感*词*(提供关键词自动生成文章)
优采云 发布时间: 2022-09-28 07:09解决方案:聚合文章*敏*感*词*(提供关键词自动生成文章)
目录:
1.关键词生成文章系统
什么是文章aggregation伪原创,文章aggregation伪原创就是把多篇内容相似的文章文章组装起来,从多个中生成一个新的文章文章。@文章,通过拼接类似标题主题的内容,使关键词重复出现,提高页面获得收录和排名的几率。
2.关键词自动聚合文章发布
自动文章聚合伪原创工具可以帮助我们快速进行文章的自动聚合和发布,通过关键词采集、文章段落重组, 关键词锚文本跳转和图片链接定位等,实现聚合的高度文章原创,使用文章聚合伪原创有什么好处@>? (如图所示)
3.输入关键词自动生成文章
一、关键词采集多个平台的类似文章可以聚合二、采集后面的文章可以聚合,并且自动生成目录发布,汇聚数百所学校的力量进行文章聚合,提高内容质量三、一个伪原创7@>页面提供更多内容和关键词,通过关键词 覆盖,提高网页权限。
4.关键词生成原创文章
四、通过栏目多权重页面之间的超链接,提供蜘蛛爬取通道,改进收录、五、通过多个文章段落重组,自动图片水印添加,图片链接本地化改进文章原创度六、标题可以自由组合,从原标题自动生成双标题和三标题。
5.一键生成文章的伪原创7@>
6.百度文章发电机
如果我们订阅了与我们的活动类型相关的各种博客和主题平台,我们应该注意用户评论部分。并非所有 伪原创7@> 都允许我们评论我们的工作。那些允许我们这样做的可能是反向链接和流量的重要来源。
7.输入关键词为文章生成软件
但是,值得注意的是,这里也需要尊重这一措施。过多的评论可能会导致搜索引擎将我们误认为垃圾邮件。在评论方面,不应该通过自动插入链接进行盲目和无意义的评论。
8.写作关键词*敏*感*词*
从高度权威和相关的 伪原创7@> 中选择配置文件。另外,请确保我们的评论对其他读者有用,并以权威的身份吸引他们访问我们的 伪原创7@>。他们几乎肯定会想在某个时候链接到它。
9.自动文章发生器伪原创7@>
在搜索引擎中排名时,反向链接很重要。对于搜索引擎,高质量反向链接的存在表明资源的受欢迎程度和可信度。然而,现代条件下的链接建设需要精确,因为并非所有的反向链接都是平等的。
10.关键词生成文章在线
为了充分利用这样的反向链接,我们应该确保它是相关的,被更权威的来源引用,收录用户可以理解和感兴趣的文本,并且设计和突出显示得当。我们的 伪原创7@> 及其内容只有遵循以上所有建议才有成功的机会。
光速搜索引擎优化
解决方案:Kubernetes 集群中日志采集的几种玩法
简介
对于企业应用系统来说,日志的状态非常重要,尤其是在Kubernetes环境中,日志采集比较复杂,所以DataKit对日志采集提供了非常强大的支持,支持多种环境,多个技术栈。接下来,我们将详细讲解如何使用DataKit log采集。
前提条件
登录【观测云】,【集成】->【Datakit】->【Kubernetes】,按照提示在Kubernetes集群中安装DataKit,部署时用到的datakit.yaml文件会在下一个操作到达。
DataKit 高级配置 1 设置日志级别
DataKit 的默认日志级别是 Info。如需调整日志级别为Debug,请在datakit.yaml中添加环境变量。
- name: ENV_LOG_LEVEL value: debug
2 设置日志输出方式
DataKit 默认会输出日志到 /var/log/datakit/gin.log 和 /var/log/datakit/log。如果不想在容器中生成日志文件,请在datakit.yaml中添加环境变量。
- name: ENV_LOG value: stdout - name: ENV_GIN_LOG value: stdout
DataKit 生成的日志可以通过在 kubectl 命令中添加 POD 名称来查看。
kubectl logs datakit-2fnrz -n datakit #
『注意』:设置ENV_LOG_LEVEL为debug后,会产生大量日志。目前不建议将 ENV_LOG 设置为 stdout。
日志采集1 个标准输出采集1.1 个标准输出日志已满采集
DataKit 可以采集 将容器日志输出到标准输出。使用datakit.yaml部署DataKit后,容器采集器默认开启。
- name: ENV_DEFAULT_ENABLED_INPUTS value: cpu,disk,diskio,mem,swap,system,hostobject,net,host_processes,container
此时会在DataKit容器中生成/usr/local/datakit/conf.d/container/container.conf配置文件。默认配置是采集除以/datakit/logfwd log开头的镜像以外的所有stdout。
container_include_log = [] # 相当于image:* container_exclude_log = ["image:pubrepo.jiagouyun.com/datakit/logfwd*"]
1.2 自定义标准输出日志采集
为了更好的区分日志来源,添加标签,指定日志切割管道文件,需要自定义方法。也就是在部署的yaml文件中添加注解。
apiVersion: apps/v1kind: Deploymentmetadata: name: log-demo-service labels: app: log-demo-servicespec: replicas: 1 selector: matchLabels: app: log-demo-service template: metadata: labels: app: log-demo-service annotations: # 增加如下部分 datakit/logs: | [ { "source": "pod-logging-testing-demo", "service": "pod-logging-testing-demo", "pipeline": "pod-logging-demo.p", "multiline_match": "^\\d{4}-\\d{2}-\\d{2}" } ]
注解参数说明
1.3 不是 采集容器标准输出日志
打开容器采集器会自动采集容器输出日志到stdout。对于不想要采集的日志,有以下方法。
1.3.1 关闭 POD 的 STDOUT 日志记录采集
在已部署应用的yaml文件中添加注解,并将disable设置为true。
apiVersion: apps/v1kind: Deploymentmetadata:<br />...<br />spec: ... template: metadata: annotations: ## 增加下面内容 datakit/logs: | [ { "disable": true } ]
1.3.2 标准输出重定向
如果开启stdout日志采集,容器的日志也会输出到stdout。如果两者都不想修改,可以修改启动命令重定向标准输出。
java ${JAVA_OPTS} -jar ${jar} ${PARAMS} 2>&1 > /dev/null
1.3.3 容器采集器过滤
如果想更方便控制stdout日志采集,建议重写container.conf文件,即使用ConfigMap定义container.conf,修改container_include_log和container_exclude_log的值,然后将其挂载到datakit。修改datakit.yaml如下:
---apiVersion: v1kind: ConfigMapmetadata: name: datakit-conf namespace: datakitdata: #### container container.conf: |- [inputs.container] docker_endpoint = "unix:///var/run/docker.sock" containerd_address = "/var/run/containerd/containerd.sock"<br /> enable_container_metric = true enable_k8s_metric = true enable_pod_metric = true<br /> ## Containers logs to include and exclude, default collect all containers. Globs accepted. container_include_log = [] container_exclude_log = ["image:pubrepo.jiagouyun.com/datakit/logfwd*", "image:pubrepo.jiagouyun.com/datakit/datakit*"]<br /> exclude_pause_container = true<br /> ## Removes ANSI escape codes from text strings logging_remove_ansi_escape_codes = false<br /> kubernetes_url = "https://kubernetes.default:443"<br /> ## Authorization level: ## bearer_token -> bearer_token_string -> TLS ## Use bearer token for authorization. ('bearer_token' takes priority) ## linux at: /run/secrets/kubernetes.io/serviceaccount/token ## windows at: C:\var\run\secrets\kubernetes.io\serviceaccount\token bearer_token = "/run/secrets/kubernetes.io/serviceaccount/token" # bearer_token_string = ""<br /> [inputs.container.tags] # some_tag = "some_value" # more_tag = "some_other_value"
volumeMounts: - mountPath: /usr/local/datakit/conf.d/container/container.conf name: datakit-conf subPath: container.conf
比如你只希望采集图片名收录log-order,而图片名不收录log-pay,可以进行如下配置。
container_include_log = ["image:*log-order*"] container_exclude_log = ["image:*log-pay*"]
“注意”:如果某个POD打开了采集stdout日志,请不要使用logfwd或socket log采集,否则会重复采集日志。
2 logfwd 采集
这是一个使用sidecar模式的log采集方法,即使用同一个POD中的容器共享存储,让logfwd读取sidecar模式下业务容器的日志文件,然后发送他们到 DataKit。具体用法请参考【Pod Log采集Best Practice 2】
3 个插座 采集
DataKit打开一个socket端口,比如9542,日志会推送到这个端口。 Java 的 log4j 和 logback 支持日志推送。下面以SpringBoot集成Logback为例实现socket log采集。
3.1 添加Appender
将 socket Appender 添加到 logback-spring.xml 文件中。
<br /> logback<br /> <br /> ${log.pattern} ... ${dkSocketHost}:${dkSocketPort} UTC+8 { "severity": "%level", "appName": "${logName:-}", "trace": "%X{dd.trace_id:-}", "span": "%X{dd.span_id:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger{40}", "msg": "%message\n%exception" }
3.2 添加配置
在SpringBoot项目的application.yml文件中添加配置
datakit: socket: host: 120.26.218.200 # port: 9542
3.3 添加依赖
在SpringBoot项目的pom.xml中添加依赖。
net.logstash.logback logstash-logback-encoder 4.9
3.4 DataKit 添加 logging-socket.conf 文件
在 DataKit 的 datakit.yaml 文件中
volumeMounts: # 此位置增加下面三行 - mountPath: /usr/local/datakit/conf.d/log/logging-socket.conf name: datakit-conf subPath: logging-socket.conf<br />--- apiVersion: v1kind: ConfigMapmetadata: name: datakit-conf namespace: datakitdata: logging-socket.conf: |- [[inputs.logging]] # only two protocols are supported:TCP and UDP sockets = [ "tcp://0.0.0.0:9542", #"udp://0.0.0.0:9531", ] ignore = [""] source = "demo-socket-service" service = "" pipeline = "" ignore_status = [] character_encoding = "" # multiline_match = '''^\S''' remove_ansi_escape_codes = false<br /> [inputs.logging.tags] # some_tag = "some_value" # more_tag = "some_other_value"
关于socket日志采集的更多信息,请参考【logback socket log采集最佳实践】
4 个日志文件采集
DataKit安装在Linux主机上采集登录主机的方式是复制logging.conf文件,然后将logging.conf文件中的logfiles值修改为日志的绝对路径。
cd /usr/local/datakit/conf.d/logcp logging.conf.sample logging.conf
在Kubernetes环境下,需要将Pod生成的日志目录/data/app/logs/demo-system挂载到宿主机的/var/log/k8s/demo-system,然后使用Daemonset进行部署数据套件。挂载 /var/log/k8s/demo-system 目录,以便 datakit 可以采集到主机上的 /rootfs/var/log/k8s/demo-system/info.log 日志文件。
volumeMounts: - name: app-log mountPath: /data/app/logs/demo-system<br /> ...<br /> volumes: - name: app-log hostPath: path: /var/log/k8s/demo-system
volumeMounts: # 此位置增加下面三行 - mountPath: /usr/local/datakit/conf.d/log/logging.conf name: datakit-conf subPath: logging.conf<br />--- apiVersion: v1kind: ConfigMapmetadata: name: datakit-conf namespace: datakitdata: #### logging logging.conf: |- [[inputs.logging]] ## required logfiles = [ "/rootfs/var/log/k8s/demo-system/info.log", ]<br /> ## glob filteer ignore = [""]<br /> ## your logging source, if it's empty, use 'default' source = "k8s-demo-system-log"<br /> ## add service tag, if it's empty, use $source. #service = "k8s-demo-system-log"<br /> ## grok pipeline script path pipeline = "" ## optional status: ## "emerg","alert","critical","error","warning","info","debug","OK" ignore_status = []<br /> ## optional encodings: ## "utf-8", "utf-16le", "utf-16le", "gbk", "gb18030" or "" character_encoding = ""<br /> ## The pattern should be a regexp. Note the use of '''this regexp''' ## regexp link: https://golang.org/pkg/regexp/syntax/#hdr-Syntax multiline_match = '''^\d{4}-\d{2}-\d{2}'''<br /> [inputs.logging.tags] # some_tag = "some_value" # more_tag = "some_other_value"
“注意”:由于日志是使用观察云采集的,所以日志已经持久化了,不需要保存到主机。所以不推荐在 Kubernetes 环境下使用这种方式采集。
管道
Pipeline主要用于切割非结构化文本数据,或从结构化文本(如JSON)中提取部分信息。对于日志,主要是提取日志生成时间、日志级别等信息。这里需要特别注意的是,Socket采集接收到的日志是JSON格式的,需要进行剪切才能在搜索框中通过关键字进行搜索。流水线使用详情,请参阅下面的 文章。
异常检测
当日志异常,对应用影响较大时,使用观察云的日志异常检测功能,并配置告警,及时通知观察对象。观察云报警支持邮件、钉钉、短信、企业微信、飞书等多种通知方式。下面以邮箱为例介绍报警。
1 创建通知对象
登录观察云,【管理】->【通知对象管理】->【新建通知对象】,选择邮件组,输入姓名和邮箱。
2 新显示器
点击【监控】->【新建监控】->【日志监控】。
输入规则名称,检测指标log_fwd_demo为采集日志中配置的来源,以下错误为日志内容,host_ip为日志标签。在事件内容中,可以使用 {{host_ip}} 把具体的标签值输出。触发条件填1,标题和内容将通过邮件发送。填写完成后点击【保存】。
3 配置警报
在【监控】界面,点击刚刚创建的监控,点击【报警配置】。
选择报警通知对象到第一步创建的邮件组,选择报警静音时间,点击【确定】。
4 触发警报
应用程序触发错误日志并将收到一封通知电子邮件。