问题标签 [sre]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
55 浏览

sre - 谷歌如何运行生产系统——SRE 的“50% 的项目工作时间”到底是什么?

引用:“SRE 50% 的时间。他们剩余的时间应该用在项目工作上的编码技能上。” (第 7 页)”

正在看这本书,实在看不懂。

什么是“项目工作”?

它是生产代码还是 ansible yaml?

0 投票
0 回答
18 浏览

amazon-web-services - 气流中的数据库监控

如果运行时间超过定义的阈值,我有一个气流 dag 来监视 aws 中的数据库是否有任何查询。但是,dag 将每 10 分钟运行一次,因此 dag 每次都会发送相同的警报。我正在寻找一种方法来避免在每次 dag 运行期间发送重复消息,但我还找不到任何东西。有人可以帮我吗?

0 投票
0 回答
13 浏览

google-cloud-platform - Tracing 系统中仅 Child Span 的监控和警报延迟

需要你的支持。有什么方法可以监控和警告跟踪系统中唯一子跨度 graphQL 的延迟。

我已经设置了包括“env”和“Query”的标签,我想将它们可视化到仪表板并将延迟警报设置为“Query”标签和“env”标签下的过滤器组

集成跟踪和日志记录,它可以帮助我吗?

在此处输入图像描述

0 投票
0 回答
27 浏览

sharding - Google AdWords 日志分片重复日志条目

根据 SRE 工作簿https://sre.google/workbook/non-abstract-design/

如果我们的日志分片进程将重复的日志条目发送到两个分片,即使 LogJoiner 失败(可能是因为它所在的机器出现故障),系统也可以继续全速执行并处理准确的结果。

我可以理解,与其等待节点恢复以处理由于节点崩溃而丢失的分片,Google 的方法是将相同的项目发送到两个分片,因此即使其中一个节点崩溃,其中至少一个也会处理它. 但是,大多数日志条目最终会被 LogJoiners 重复处理。没有提到 LogJoiner 如何对此进行重复数据删除。也是通过 Paxos IdRegistry 1吗?但我认为 IdRegistry 用于跨数据中心重复数据删除,但不适用于数据中心内。也没有提到在1中有两个分片的重复日志条目

0 投票
1 回答
84 浏览

prometheus - Prometheus 选择性地抑制警报

我需要创建一个警报系统,它必须在满足特定条件(例如 Tomcat 宕机)时发出通知。部署在不同位置(具有不同时区)的多个远程服务器托管 Tomcat 服务并由 Prometheus 监控。我只需要在当地时间 8:05 到 22:45 收到警报,所以我按照以下步骤进行:

  1. 定义了一个自定义规则“check_system_time_in_interval”,如果服务器本地时间在 [8:05,22:45],则返回 1,否则返回 0
  2. 使用规则 1)在“prometheus.rule.yml”中定义一个警报Inhibit alert during NO working hours :
  1. 在“alertmanager.yml”文件中定义了一个新的inhibit_rule,当监控的服务器时间不在该时间间隔内时,它会禁止警报TOMCAT down (当TOMCAT服务停止服务时触发警报)

TOMCAT down 使用自定义规则“tomcat_up”检查 Tomcat 是否已启动。现在它似乎工作得很好但是使用这种方法我会因为时区而遇到问题:如果被监控服务器的本地时间在 [8:05,22:45] 内,我需要得到通知,即使 Prometheus 服务器位于到不同的时区。

一种简单的解决方案是仅当 check_system_time_in_interval 时间序列的“instance”标签等于 TOMCAT down 的“instance”标签时才禁止警报(例如,如果 check_system_time_in_interval{instance="10.41.0.118"}=0 和 tomcat_up{instance= “10.41.0.118}=1”然后发出警报)但我不知道如何修改“inhibit_rule”才能做到这一点。

0 投票
1 回答
82 浏览

amazon-web-services - 如何使用 Terraform 添加多个 AWS ClientVPN 路由

我有 AWS clientVPN,它是从 AWS 控制台手动创建的,它有大约 20 多个路由表条目。现在,我想对其进行地形改造,以便我们可以使用 terraform 添加任何新路线。

我已经使用 terraform import 导入了 ClientVPN 信息。要导入所有现有路由,我可以一次导入一条路由,也可以为每条路由导入我需要在 main.tf 中添加资源条目,如下所示:

每次导入路由,都需要在 main.tf 中添加资源。如果我有 20 个路由表条目,那么我必须在 main.tf 文件中写入 20 个资源条目吗?

我只想在 main.tf 中使用一个资源条目,这怎么可能?

导入后,当我运行 terraform 计划时,检查输出:

资源名称不匹配,这就是它再次销毁和创建的原因。但是,当我应用 terraform 时,它会失败,因为它首先创建资源并且由于相同的 CIDR 而失败。

0 投票
1 回答
179 浏览

azure - 授予对另一个 Azure 租户中的服务主体的访问权限

我们通过 Jenkins 在我们的 Azure 租户中部署资源,Jenkins 使用 terraform 来提供基础设施资源。我们使用同一租户中的服务主体进行身份验证和基础设施配置。在我们的基础设施部署中,我们还创建了与部署的新 Vnet 和我们的中央 VNET 对等的 VNET,它拥有所有基础设施资源,如监控和日志记录平台。现在我们有一个用例,通过使用相同的 Jenkins 和 terraform 脚本,我们希望在不同的租户上配置资源。这可以通过使用远程租户的服务主体来完成。但现在的问题是服务主体TenantB无权在TenantA. 要做到这一点,服务主体TenantB应该可以在 Vnet 上访问TenantA. 我正在寻找文档或指导,我们如何才能访问我们的服务TenantB主体TenantA

0 投票
2 回答
61 浏览

kubernetes - 如果容器超过请求的 cpu 但低于 kubernetes 的限制会发生什么?

在 Kubernetes 中,我们可以设置 CPU 的限制和请求。如果容器超过限制,据我了解,它将被限制。但是,如果容器超过了请求但仍低于限制,会发生什么?

我会在我的应用程序上看到性能问题吗?

0 投票
2 回答
36 浏览

azure-devops - 与 DevOps 相比,SRE 有哪些独特的功能?

我试图了解 SRE 与 DevOps 的不同之处,我在他的 SRE 书籍(SRE 书籍链接)中看到了谷歌副总裁 Benjamin Treynor Sloss 的这句话

人们可以等效地将 SRE 视为具有一些特殊扩展的 DevOps 的特定实现

我的问题是在哪里可以找到这些扩展的列表或详细信息?

0 投票
0 回答
11 浏览

elastic-stack - 正常运行时间监控服务发现(在 Elastic Stack 中)

是否可以在 Elastic Uptime 中对应用程序和服务进行某种发现/自我注册?

这样应用程序就可以注册所需的正常运行时间检查和警报,而不必打扰弹性管理员?