技术和经验:防采集技术
优采云 发布时间: 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、监控告警,希望能给大家在云原生监控的道路上带来一些启发~