- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有超过 100 个运行 php 的 Web 服务器实例应用程序使用 apc我们偶尔(整个机队每周一次)看到其中一个缓存损坏,这会导致一条独特的错误日志消息。
一旦发生这种情况,应用程序将在该节点上停止运行,任何路由到它的事务都将失败。
我已经围绕 tail -F
编写了一个简单的包装器,它可以在日志文件中出现的任何时候发现模式并评估 shell 命令(使用 bash eval
) 使用react。我使用来自 salt-stack 的 salt-call
命令得到了这个触发处理关闭 nginx 的自定义模块服务器,预热(刷新)缓存,当然,还会重新启动 Web 服务器。 (实际上我有两种形式的包装器,bash
和 Python)。
这很好,事件发生的频率很高,不太可能成为问题。然而,我的老板很合理地担心常见模式故障模式......正则表达式可能会同时出现在太多这样的日志中并占据整个站点。
我的第一个想法是将我的 salt-call
包装在 redis 中检查(我们已经有一个用于缓存和某些其他数据结构的 Redis 基础设施)。这将被实现为一个整数,有一个过期时间。检查将调用 INCR,检查结果,如果返回的数量超过 N(或者 Redis 服务器无法访问),则休眠。如果结果低于阈值,则 salt-call
将被调度,并在服务器备份并运行后调用减量。 (Redis key 的过期可能会在一天甚至几个小时后杀死任何陈旧的增量......我们的警报系统已经通知我们服务器停机并且我们的响应时间对于这样的时间范围来说绰绰有余)。
但是,我正在阅读有关 Saltstack 事件处理功能的信息,并想知道是否改用它会更好。 (优点是,节点没有 redis-cli
命令工具,也没有 Python Redis 库,但很明显,salt-call
已经有了必要的支持)。因此,在 Salt 中使用一些东西可以最大限度地减少向这些系统添加额外包和依赖项的需要。 (或者,我可以将所有 Redis 处理编写为单独的 PHP 命令行实用程序,然后让我的 shell 脚本调用它)。
是否有编写简单 Saltstack 模块的 HOWTO?文档似乎在没有任何方向的情况下深入到引用细节。甚至关于搜索哪些术语的一些建议也会有所帮助(因为他们对 pillars、grains、minions 等术语的使用似乎有些不透明)。
最佳答案
编写 Salt 模块的主要文档在这里:http://docs.saltstack.com/en/latest/ref/modules/index.html
Salt 附带的许多模块可能有助于激发灵感。您可以在这里找到它们:https://github.com/saltstack/salt/tree/develop/salt/modules
要记住的一件事是,除非您告诉它做某事,否则 Salt Minion 不会做任何事情。因此,您可以创建一个模块来检查您提到的错误模式,但您需要将它添加到 Salt Scheduler 或 cron 以确保它经常运行。
如果您需要更多帮助,您可以在 #salt on freenode 的 IRC 上找到有帮助的人。
关于python - Saltstack 通过事件和 salt-call 管理和查询理货/阈值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794302/
我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。 我的查询需要显示值和选项的名称,而
在mysql中,如何计算一行中的非空单元格?我只想计算某些列之间的单元格,比如第 3-10 列之间的单元格。不是所有的列...同样,仅在该行中。 最佳答案 如果你想这样做,只能在 sql 中使用名称而
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为版本7.6进行Elasticsearch查询 我的查询是这样的: { "query": { "bool": { "should": [ {
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
是否可以编写一个查询来检查任一子查询(而不是一个子查询)是否正确? SELECT * FROM employees e WHERE NOT EXISTS (
我找到了很多关于我的问题的答案,但问题没有解决 我有表格,有数据,例如: Data 1 Data 2 Data 3
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
我从 EditText 中获取了 String 值。以及提交查询的按钮。 String sql=editQuery.getText().toString();// SELECT * FROM empl
我有一个或多或少有效的查询(关于结果),但处理大约需要 45 秒。这对于在 GUI 中呈现数据来说肯定太长了。 所以我的需求是找到一个更快/更高效的查询(几毫秒左右会很好)我的数据表大约有 3000
这是我第一次使用 Stack Overflow,所以我希望我以正确的方式提出这个问题。 我有 2 个 SQL 查询,我正在尝试比较和识别缺失值,尽管我无法将 NULL 字段添加到第二个查询中以识别缺失
什么是动态 SQL 查询?何时需要使用动态 SQL 查询?我使用的是 SQL Server 2005。 最佳答案 这里有几篇文章: Introduction to Dynamic SQL Dynami
include "mysql.php"; $query= "SELECT ID,name,displayname,established,summary,searchlink,im
我有一个查询要“转换”为 mysql。这是查询: select top 5 * from (select id, firstName, lastName, sum(fileSize) as To
通过我的研究,我发现至少从 EF 4.1 开始,EF 查询上的 .ToString() 方法将返回要运行的 SQL。事实上,这对我来说非常有用,使用 Entity Framework 5 和 6。 但
我在构造查询来执行以下操作时遇到问题: 按activity_type_id过滤联系人,仅显示最近事件具有所需activity_type_id或为NULL(无事件)的联系人 表格结构如下: 一个联系人可
如何让我输入数据库的信息在输入数据 5 分钟后自行更新? 假设我有一张 table : +--+--+-----+ |id|ip|count| +--+--+-----+ |
我正在尝试搜索正好是 4 位数字的 ID,我知道我需要使用 LENGTH() 字符串函数,但找不到如何使用它的示例。我正在尝试以下(和其他变体)但它们不起作用。 SELECT max(car_id)
我有一个在 mysql 上运行良好的 sql 查询(查询 + 连接): select sum(pa.price) from user u , purchase pu , pack pa where (
我是一名优秀的程序员,十分优秀!