技术和经验:防采集技术

优采云 发布时间: 2022-11-17 02:31

  技术和经验:防采集技术

  

  反采集技术 首先声明,本文与构图无关。下面是我总结的一些反采集技巧,有没有用,对搜索引擎有没有影响,我不敢保证。这些技术都在本站应用,所有技术都是我的原创。不知道前辈有没有用过。1.大小写,将源码中的tablepscript等标签改成不规则的大小写字母。针对早期采集工具采集的有效保护。2. 加密列表。文章列表通常使用数字来增加或减少。加密列表可以增加采集的难度。3.在文中添加脚本,这些脚本包括你自己设置的广告,包括一些必要的元素,比如标点符号,比如关键点关键词。这样一来,采集工具就无法对脚本进行过度过滤,如果过度过滤,那么文章当然不是他想要的结果。如果您对这些技术感兴趣,请直接与我联系。

  

  操作方法:图解 | 监控系统 Prometheus 的原理

  本文将以图形化的方式分析Prometheus的原理。本文主要内容如下:

  1.什么是普罗米修斯?

  ELK Stack日志采集和检索平台想必大家都不陌生,Elasticsearch + Filebeat + Logstash + Kibana。

  麋鹿建筑

  而Prometheus相当于一整个ELK,但不适合存储大量日志,也不适合长期存储(默认15天)。它的优点是可以查看最近的趋势数据,还有一个报警机制。下图是Prometheus架构图:

  Prometheus架构,来自官网

  Prometheus 实时从应用程序中获取时间序列数据,然后使用强大的规则引擎来帮助您识别监控环境所需的信息。

  Prometheus作为一个metrics-based的系统,不适合存储事件或者日志等,更多的是展示趋势监控。如果用户需要数据的准确性,可以考虑ELK或者其他日志架构。

  普罗米修斯的特点普罗米修斯不足

  Prometheus主要是做性能和可用性监控,不适合监控日志(Log)、事件(Event)、调用链(Tracing)等。

  重点是最近的数据,默认保存15天的监控数据。

  2.普罗米修斯指标采集

  下图是Prometheus的WebUI界面,其中显示了Targets和Endpoint,显示了当前有哪些目标服务可以被Prometheus捕获。

  下面是 Prometheus 爬取目标的配置:

  -job_name:mysqld

  

  静态配置:

  -目标:['192.168.0.100:9104']

  标签:

  实例:mysql-exporter

  抓取到目标的指标数据后,会生成时序数据存储在Prometheus服务器本地,也可以设置从服务器发送数据到外部存储或其他时序数据库。

  3. 普罗米修斯 采集 方法

  Prometheus可以通过直接采集和间接采集两种方式抓取数据。

  直接 采集 和配置文件 采集

  直接采集就是埋点,比如你自己的应用使用Prometheus客户端的代码,自己埋点。比如etcd、kubenetes、docker直接采集,已经埋点埋点,暴露metrics断点。这些都是Prometheus-friendly,已经埋了一点,直接用Prometheus抓取就行了。

  但是对于一些黑盒系统,比如操作系统、Redis、MySQL,都是成熟的产品,我们一般不会用它们去修改。在这种情况下,我们通常使用间接的采集方法。

  4. 出口商监控程序

  当 Prometheus 使用间接 采集 方法时,需要使用 Exporter。中文翻译为exporter,我们可以理解为从内部导出数据。

  Exporter是Prometheus中的一个概念,类似于sidecar或者Agent,如下图所示。

  间接 采集 方法中的导出器

  Exporter用于采集黑盒系统,它会从黑盒中抓取数据,然后暴露metrics端点供Prometheus抓取。Prometheus可以通过Exporter间接抓取这些target上的数据。

  Exporter本质上是将采集到的数据转换成相应的文本格式,并为Prometheus提供一个HTTP接口来周期性的采集数据。

  Exporter有很多,比如操作系统的Node-Exporter,MySQL的mysql-exporter等。

  Linux服务器内部部署了一个node-exporter服务,用于采集Linux服务器上的磁盘、内存等数据。然后暴露一个端口,Prometheus通过这个端口抓取数据。

  

  MySQL服务器上的mysql-exporter也类似。其实mysql-exporter并不需要部署在被监控的MySQL服务器上,而是可以独立部署在不同的机器上。

  从 Prometheus 的客户端界面也可以看到有哪些 Target 被抓取,这些 Target 通过 exporter 暴露端口。

  从这个官方网站链接看到很多出口商

  5.ProQL

  PromQL 在名称上看起来与 SQL 非常相似,但它实际上是另一种查询语言。

  Prometheus 提供了强大的表达语言PromQL(Prometheus Query Language)。PromQL 允许用户实时选择和聚合时间序列数据。是Prometheus自己开发的一种数据查询DSL(domain-specific language)。使用这种查询语言可以进行各种聚合、分析和计算,使管理员能够根据指标性能更好地了解系统。

  如下图所示,PromQL 内置于 Prometheus 中。通过 Prometheus WebUI、Grafana 和 API 客户端查询。

  下面是Prometheus WebUI界面:

  下面是Grafana的界面,通常我们会配合Grafana进行监控。

  6.监控报警发送报警

  Prometheus报警规则触发后,信息会在报警规则触发后发送给独立的组件Alertmanager。告警处理完成后,最终通过接收者(如Email)通知用户。(报警规则定义在Prometheus server端)

  *敏*感*词**敏*感*词*

  七、总结

  通过图表,分别介绍了Prometheus的优缺点、指标采集、采集方法、Exporter、PromQL、监控告警,希望能给大家在云原生监控的道路上带来一些启发~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线