Okerr 混合监控系统概述

两年前我已经发过帖子了 网站的简单故障转移 关于 奥克尔。 现在项目有了一些进展,我也发表了 oker服务器端源代码开放许可证,这就是为什么我决定写这篇关于 Habr 的简短评论。

Okerr 混合监控系统概述
[ 全尺寸 ]

谁可能感兴趣

如果您在小团队中工作或单独工作,您可能会对这一点感兴趣。 您没有监控,并且不确定是否真的需要它。 要么你尝试了一些流行的严肃监控“为大男孩”,但它不知何故“没有起飞”为你,或者它在几乎默认的配置下工作,并没有改变你的生活太多。 而且 - 如果您绝对不打算分配整个员工(甚至一个部门)每天至少几个小时来监控监控仪表板或对其进行配置。

为什么 oker 不同寻常

接下来我将展示 okerra 的有趣功能,这些功能将其与其他一些监控系统区分开来。

Okerr 是一种混合监控

在内部监控期间,“代理”在受监控的计算机上运行,​​它将数据传输到监控服务器(例如,可用磁盘空间)。 在外部时,服务器通过网络执行检查(例如 ping 或网站可用性)。 每种方法都有其局限性。 Okerr 使用这两个选项。 服务器内部的检查是由非常轻量级(30Kb)的代理或您自己的脚本和应用程序执行的,网络检查是通过不同国家的 okerr 传感器执行的。

okerr不仅仅是软件,更是服务

任何监控的服务器部分都庞大且复杂,安装和配置困难,并且需要资源。 使用 okerr,您可以安装自己的监控服务器(免费且开源),也可以仅使用客户端部分并使用我们服务器的服务。 也是免费的。

如果监控允许您弥补和掩盖服务器和应用程序可靠性的不足,那么就会出现一个哲学问题 - 谁是守卫? 如果问题本身由于某种原因单独或与其他资源一起“失效”(例如,通往数据中心的通道中断),那么监控将如何告诉我们问题? 当使用外部服务 oker 时 - 这个问题已经解决 - 即使整个数据中心及其服务器断电或受到僵尸攻击,您也会收到警报。

当然,存在 okerr 服务器本身不可用的风险,这是事实(如您所知,90% 的可靠性总是通过简单且“免费”获得,99% 只需付出最少的努力,接下来的每 99.9 个都是难度成倍增加)。 但是,首先,发生这种情况的可能性较低,其次,只有当问题与我们服务器上的问题同时发生时,该问题才可能被忽视。 如果我们的可靠性为 99.9%,而您的可靠性为 0.1%(数字不是太高),则未检测到故障的几率为 0.1% of 0.0001% = XNUMX%。 几乎不费吹灰之力、无需成本即可为您的可靠性增加三个九,这非常好!

监控即服务的另一个优点是托管提供商或网络工作室可以安装 okerr 服务器并以付费或免费附加服务的形式向客户端提供访问权限。 您的竞争对手只有托管和网站,但您拥有带监控功能的可靠托管。

Okerr 是关于指标的

指示器是一个“灯泡”。 它有两种主要状态 - 绿色(OK)或红色(ERR)。 该项目包含许多分组(例如按服务器)的指标。 在项目的主页上,您立即看到所有内容要么都是绿色的(您可以将其关闭),要么某些内容呈红色亮起并且需要更正。 在这些状态之间转换时,会发送警报。 当您进行设置时,每天都会发送一次项目摘要。

Okerr 混合监控系统概述

每个 okerr 指标都有内置条件,通过这些条件可以改变状态(在 Zabbix 中这称为触发器)。 例如,平均负载不应超过2(当然,这是可配置的)。 对于每个内部检查(平均负载、磁盘空闲等),都有一个看门狗。 如果由于某种原因我们没有在指定时间收到成功确认,则会记录错误并发送警报。

我们通常的工作模式是早上检查电子邮件,然后在其他信件中查看摘要(我们将其安排在工作开始时)。 如果一切正常,我们会做其他重要的事情(但为了安全起见,我们可以快速查看 okerra 仪表板并确保此时一切都是绿色的)。 如果警报到来,我们会做出反应。

当然,可以简单地保留“信息”指标(从监控中看到网络图片),但一切都是为了简单、轻松、快速地创建专门用于自动监控和发送警报的指标。

您设置 okerr 的目的是在警报中,以便您可以在一分钟内创建一个指示器,它可以“休眠”一年,只接受更新,当一年后出现问题时,它会亮起并发送一个警报。 一旦您花在创建指标上的那一刻就得到了回报;您立即比其他人先了解了问题。 他们可能在有人注意到之前就修复了它。 快速升起的东西不算掉落!

安全

如果你为了提高可靠性而设置监控,结果却通过它受到网络攻击,那就太可惜了,而且不同的监控工具都存在相当多的网络漏洞(ZABBIX, Nagios的).

代理(来自包中的 okerrmod oker更新)系统上运行的不是网络服务器,而是客户端。 因此,受监控的服务器上没有额外的开放端口,客户端可以轻松地在防火墙或 NAT 后面工作,并且很难(我想说“不可能”)通过网络进行黑客攻击,因为原则上它不监听网络插座。

监控全覆盖

现在我们的规则是我们从oker那里了解所有的技术问题。 如果规则突然被违反(okerr 没有警告其即将发生(如果可能的话)或它已经发生) - 我们向 okerr 添加检查。

外部检查

很典型的一组:

  • http状态
  • 检查SSL证书的有效性和新鲜度(如果即将过期会发出警告)
  • 打开 TCP 端口和横幅
  • http grep(页面[不得]包含特定文本)
  • sha1 哈希以捕获页面更改。
  • DNS(DNS 记录必须具有特定值)
  • WHOIS(如果域名即将变坏将发出警告)
  • 反垃圾邮件 DNSBL(主机一次检查 50 多个反垃圾邮件黑名单)

内部检查

另外,这是一个相当标准的集合(但很容易扩展)。

  • df(可用磁盘空间)
  • 平均负载
  • opentcp(打开 TCP 侦听套接字 - 如果某些内容启动或崩溃,将发出通知)
  • 正常运行时间 - 只是服务器上的正常运行时间。 如果已更改(即服务器已超载),则会通知
  • 客户端IP
  • dirsize - 我们用它来跟踪我们的虚拟机 rootfs 何时超出允许的大小(不引入严格的限制)以及用户主目录的大小
  • 空和非空 - 监视应该为空(或非空)的文件。 例如,okerr服务器本身的错误日志应该是空的,如果里面有一行,我就会收到通知并检查它。 但邮件服务器上的mail.log 不应为空(轮换后N 分钟)。 有时,系统更新后,当 logrotate 无法正确重新启动 rsyslog 时,它对我们来说是空的。
  • linecount - 文件中的行数(如 wc -l)。 当错误日志仍然会增长但增长缓慢时(例如,Googlebot 会点击一些关闭的页面),我们将其用作空的更软的替代品。 2 分钟内仅限 20 行。 如果高于的话就会有警报

有趣的内部检查

如果到目前为止您一直在“对角”阅读,那么现在仔细阅读会更有趣。

备份

监视目录中的备份。 我们的备份文件的名称类似于“ServerName-20200530.tar.gz”。 对于 okerr 中的每个服务器,都会创建指标 ServerName-DATE.tar.gz(实际日期更改为“DATE”行)。 还监视新备份的存在及其大小(例如,它不能小于先前备份的 90%)。

在我们开始创建新备份并将其放入此目录后,需要做什么才能开始跟踪它? 没有什么! 当您需要“什么都不做”时,这是一种非常方便的方法,因为:

  • “什么都不做”很快,可以节省时间
  • 很难忘记“什么都不做”
  • 如果犯了错误,就很难“不做任何错事”。 没有什么是最可靠的方法

如果突然停止出现新的备份文件,将会发出警报。 例如,如果您禁用了其中一台服务器,并且不应再有备份,则您将需要删除该指示器(通过 Web 界面或通过 API 从 shell 中)。

最大文件数

跟踪最大文件的大小(通常:/var/log/*)。 这使您可以捕获不可预测的问题,例如,暴力破解密码或通过服务器发送垃圾邮件。

运行状态/运行线

这是两个重要的代理模块,用于在服务器上运行其他程序。 Runstatus 向指示器报告程序退出代码。 例如,okerr 不需要(需要)一个模块来检查 systemd 服务是否正在运行。 这是通过 runstatus 完成的(见下文)。 Runline - 向服务器报告程序生成的行。 例如, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" 在我们服务器上的 Runline 配置中创建一个带有处理器温度的指示器 servername:temp 。

SQL

对 MySQL 执行数值查询并将结果报告给指示器。 在简单的情况下,您可以执行“SELECT 1”等操作 - 这将检查整个 DBMS 是否正常工作。

但更有趣的应用程序是跟踪在线商店中的订单数量。 如果您知道每小时有 100 个或更多订单,您可以将最小限制设置为 100 或 80。然后,如果您的销售额突然下降,您将收到警报,您可以弄清楚。

请注意,发生这种情况的不可预测的原因并不重要:

  • 服务器根本不可用(断电或没有网络),警报来自于指示器“腐烂”的事实。
  • 服务器负载过重,运行缓慢或丢包,给用户带来不便,不购买就离开
  • 该服务器被列入垃圾邮件列表,不接受来自该服务器的邮件,用户无法注册
  • 广告活动预算已经用完,横幅也不再旋转。

原因可能有很多,而且所有这些原因都无法提前预见,而且在技术上也很难追踪。 但您可以方便地监视最终参数(订单),并从中确定情况可疑并值得处理。

逻辑指标

允许通过模块使用布尔表达式(Python 语法) 评估(关于哈布雷的文章)。 项目数据及其指标可供表达。 例如,在上面关于 SQL 检查的章节中,您可能已经注意到一个弱点 - 白天我们每小时可以有 100 笔销售,但晚上 - 20 笔,这是常见的,不是问题。 我应该怎么办? 晚上指标会不断恐慌。

您可以创建两个指标:白天和夜间。 将两者设为“静音”(它们不会发送警报)。 并且创建一个逻辑指标,要求20:00之前白天指标OK,20:00之后夜间指标OK就可以了。

使用逻辑指示器的另一个例子是 升级。 例如,项目经理取消订阅警报(他没有必要这样做,管理员应该对正常问题做出响应),但订阅了一个逻辑指示器,如果项目中的任何指示器在分配的时间内未得到纠正,该指示器就会变成红色。

此外,还可以设置允许工作的时间,例如凌晨 3 点到 5 点。 我们不关心服务器和网站在此期间是否崩溃。 但5:00他们就得上班了。 如果它们在其他时间不工作——请警惕。 逻辑指示器还允许您考虑服务器冗余。 如果您有 5 台 Web 服务器,那么管理员可以随时关闭 1-2 台服务器。 但如果3个服务器中少于5个服务器在战斗,就会出现警报。

上面的例子不是oker功能,不是一些需要激活和配置的功能。 Okerra 不具备所有这些功能,但有一个逻辑模块可以让您实现此功能(类似于编程语言 - 如果我们有算术运算符,那么我们不需要计算 20% 增值税的特殊函数从语言来看,您始终可以自己制作以满足您的需要)。

逻辑指标可能是 okerr 中为数不多的相对复杂的主题之一,但好消息是,除非需要,否则您不必掌握它。 但与此同时,它们极大地扩展了功能,同时保持系统本身相当简单。

添加您自己的支票

我真的很想传达这样的想法:okerr 并不是一组适用于所有场合的数千个现成的检查,而是相反 - 首先 - 一个简单的引擎,具有创建自己的检查的简单能力。 在 okerr 中创建自己的检查不是黑客、系统共同开发人员或至少是高级 okerr 用户的任务,但对于一个月前第一次安装 Linux 的任何管理员来说都是可行的任务。

通过该模块检查最低工资 运行状态:

配置中的这一行 运行状态 如果 /bin/true 突然不启动或返回 0 以外的内容,将会通知您。

true_OK=/bin/true

只有一行 - 我们已经到了一点点 扩大了 功能还可以。

即使这样的检查也已经有它的价值了:如果你的服务器突然崩溃了,okerr服务器上相应的指标不会及时更新,时间过去后就会出现警报。

此检查将通知 apache2 服务器已崩溃(好吧,你永远不知道......):

apache_OK="systemctl is-active --quiet apache2"

因此,如果您使用任何编程语言,并且至少可以编写 shell 脚本,那么您就可以添加自己的检查。

更困难的是 - 您可以(用任何语言)为 okerrmod 编写您自己的模块。 在最简单的情况下,它看起来像这样:

#!/usr/bin/python3

print("STATUS: OK")

是不是非常困难呢? 模块必须自行检查并将结果输出到 STDOUT。 例如,更复杂的模块给出:

$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52

NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32

它一次更新多个指标(用空行分隔),在必要时创建它们,指示验证详细信息和标签,通过该标签可以轻松在仪表板中找到必要的指标。

Telegram

有一个 Telegram 机器人 @OkerrBot。 你不需要用单独的应用程序让你的手机变得混乱(我不喜欢这样的情况,对于 Pyaterochka,你需要一个带有地图的应用程序,对于 Lenta,需要另一个应用程序,对于 MTS,需要第三个应用程序,等等)。 一封电报就足够了。 通过电报,您可以立即收到警报、检查项目状态并发出命令重新检查所有有问题的指标。 我们离开剧院/飞机,两个小时没有密切关注脉搏,打开手机,按下聊天机器人中的一个按钮,并确保一切都很好。

状态页

如今,状态页面几乎是任何拥有 IT、对可靠性负责任的态度并尊重客户/用户的企业的必备品。

想象一种情况 - 用户想要做某事、查看信息或下订单,但有些事情不起作用。 他不知道发生了什么事,问题是谁一方的,什么时候才能解决。 也许您的公司只是有一个无法正常运行的网站? 还是六个月前就坏了,两年后就修好了? 但你现在需要买一台冰箱,它已经在购物车里了……而当一个人看到你有问题时(至少很明显问题不在他这边),那是完全不同的事情了。问题已经被发现,你已经在努力解决它,甚至可能写下了纠正的大概时间。 用户可以订阅并在问题解决后收到电子邮件通知,并且他可以做他想做的事(购买冰箱)。

Okerr 混合监控系统概述

每个人都会遇到问题和停机。 但用户和合作伙伴更信任那些在解决问题上更加透明和负责任的人。

这里 审查其他 10 个允许您创建状态页面的项目。 以下是这些项目页面的示例 蟒蛇 и Dropbox. 奥克尔状态页面.

故障转移

为了不让这篇文章变得更长,我再次参考我之前的文章—— 网站的简单故障转移 。 如果你可以创建一个重复的服务器,然后使用故障转移,你基本上不会有很长的停机时间——一旦检测到问题,用户将自动被重定向到工作的备份服务器。 在我看来,这是一个非常有趣、明亮的功能,在任何地方都很少有。

系统要求低

对于 okerr 服务器,我们使用 RAM 为 2Gb 以上的机器。 对于网络传感器来说,甚至 512Mb 就足够了。 客户端部分一般几乎为零。 (塑料袋 oker更新 重 26 Kb,但需要 Python3 和标准库)。 客户端从 cron 脚本运行,因此它的持久内存消耗为零。 在我们监控的机器中,我们有传感器(具有 512Mb RAM 的超便宜 VPS)和 Raspberry Pi。 即使没有客户端部分也是可能的 通过curl发送更新! (见下文)

考虑到这一点 - 好吧,可能 最自由 从可用的监控系统,因为即使使用其他免费的开源系统,如Zabbix或Nagios,你也需要为其分配资源(服务器),而这已经是钱了。 此外,还需要进行一些服务器维护。 使用oker,这部分可以被删除。 或者您不必删除它并使用您自己的服务器,具体取决于您最喜欢的。

API 和集成到专有软件中

简单且开放的架构。 oker 有一个非常简单的 API,这很容易使用。 需要创建 1000 个指标? 一个 3-4 行的 shell 脚本即可完成此操作。 需要重新配置1000个指标? 这也很容易。 例如,我们想要仔细检查来自俄罗斯传感器的所有 HTTPS 证书:

#!/bin/sh

for indicator in `okerrclient --api-filter sslcert`
do
    echo set location for $indicator
    okerrclient --api-set location=ru retest=1 --name $indicator
done

您可以使用我们的客户端模块更新指标,即使没有它,只需通过curl即可。

# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK

# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/

您可以直接从您的程序更新指标。 例如,发送心跳信号,以便 okerr 知道它正在运行,并在崩溃或死机时发出警报。 顺便说一句,okerr 组件就是这样做的 - okerr 自我监控,几乎所有模块中的问题都会被检测到并生成有关该问题的警报。 (在这种“几乎”的情况下 - 它们是从另一台服务器进行交叉检查的)

这是我们的电报机器人中的代码(简化):

from okerrupdate import OkerrProject, OkerrExc

op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
        os.getpid(), dhms(uptime), commands_cnt))

有一个用于更新 Python 程序指标的库 oker更新,对于任何其他语言都没有库,但您可以调用 okerrupdate 脚本或向 okerr 服务器发出 HTTP 请求。

oker 如何帮助我们

奥克尔改变了我们的生活。 的确。 也许另一个监控系统也可以做同样的事情,但是使用 okerr 对我们来说非常简单,而且它具有我们需要的所有功能(我们添加了它没有的功能)。 顺便说一句,如果缺少某些功能,请询问,我会添加它们(我不保证,但我希望 okerr 成为中小型项目的最佳监控系统)。 或者更好的是,您自己添加它 - 这很容易。

我们设法遵循“从喀拉地区了解所有问题”的原则。 如果突然出现一个我们没有从 okerr 中了解到的问题,我们会向 okerr 添加检查。 (在这种情况下,“我们”是指我们作为系统的用户,而不是共同开发者)。 起初这种情况很常见,但现在已经变得非常罕见了。

监控

通过 okerr,我们监控所有服务器上的日志大小。 当然,不可能用眼睛深思熟虑地阅读日志的每一行,但仅仅监视增长率就已经给出了很多信息。 通过这一点,我们发现了垃圾邮件和暴力密码搜索,当某些应用程序“变得疯狂”时,某些东西对它们不起作用,它们会一次又一次地重复(每次都在日志中添加几行) )。

SSL 证书。 几乎在发布后立即 让加密 我们的客户开始向其客户(大约一千个)提供免费的 SSL 证书。 事实证明,这对政府来说简直就是地狱! 事实上,网站是“实时”的,客户定期要求他们做某事,程序员就会去做。 例如,他们可以完全自由地将站点转移到另一个 DocumentRoot。 或者向虚拟主机配置添加无条件重写。 当然,在此之后,证书的自动更新就失效了。 现在,我们通过包中的另一个有用的实用程序将所有 SSL 主机自动添加到 okerr a2conf。 让我们开始吧 a2okerr.py — 如果服务器上出现多个新站点,它们将自动出现在 oker 中。 如果由于某种原因突然没有更新证书,在证书过期前三周,我们就知道了,我们会弄清楚为什么不更新,这样的狗。 a2certbot.py 来自同一个包 - 它对此有很大帮助(它立即检查最可能的问题 - 并写下检查良好的内容以及最有可能出现问题的位置)。

我们监控所有域名的到期日期。 我们所有发送邮件的邮件服务器也会根据 50 多个不同的黑名单进行检查。 (有时他们也会陷入其中)。 顺便问一下,您知道 Google 邮件服务器也被列入黑名单吗? 只是为了自测,我们将mail-wr1-f54.google.com添加到受监控的服务器中,它仍然在SORBS黑名单中! (这就是“反垃圾邮件发送者”的价值)

备份 - 我已经在上面写过使用 okerr 监控它们是多么容易。 但我们会监控服务器上的最新备份以及(使用使用 okerr 的单独实用程序)上传到 Amazon Glacier 的备份。 而且,是的,问题时常发生。 难怪他们都在看。

我们使用升级指示器。 它表明某个问题是否很长时间没有得到解决。 而我自己,当我解决一些问题时,有时我会忘记它们。 即使您正在监控自己,升级也是一个很好的提醒。

总的来说,我相信我们的工作质量提高了一个数量级。 几乎没有停机时间(或者客户没有时间注意到它。嘘!),同时工作量变得更小,工作条件变得更平静。 我们已经从用胶带修补漏洞的紧急工作转向冷静和谨慎的工作,许多问题可以提前预测,并且有时间预防。 即使已经发生的问题也变得更容易修复:首先,我们在客户惊慌之前发现了问题,其次,经常会发生问题与最近的工作有关(当我在做一件事时,我破坏了另一件事) -所以热痕迹更容易处理。

但还有另外一个案例...

您是否知道在流行的 Debian 9 (Stretch) 中,像 phpmyadmin 这样流行的软件包仍然(好几个月!)处于易受攻击的状态? (CVE-2019-6798)。 当漏洞出现后,我们很快通过不同的方式进行了覆盖。 但我在 okerr 中设置了对安全跟踪器页面的监控,以了解何时会出现“漂亮”的解决方案(通过内容的 SHA1 总和)。 指标抽搐了我好几次,页面发生了变化,但正如你所看到的,它仍然(自 2019 年 XNUMX 月以来!)并不表明问题已解决。 顺便说一句,也许有人知道问题是什么,如此重要的软件包在一年多的时间里仍然容易受到攻击?

还有一次类似的情况:SSH 出现漏洞后,需要更新所有服务器。 当你设定任务时,你需要控制执行。 (下属容易误解、忘记、困惑和犯错误)。 因此,我们首先在所有服务器上向 okerr 添加了 SSH 版本检查,并通过 okerr 确保在所有服务器上推出更新。 (方便!我选择了这种类型的指标,你可以立即看到哪个服务器有哪个版本)。 当我们确定所有服务器上的任务都已完成时,我们删除了指示器。

有几次,出现了某个问题,然后又自行消失。 (想必大家都很熟悉吧?)。 当您注意到时,当您检查时(无需检查任何内容),一切都已经运行良好。 但随后它又破裂了。 例如,我们上传到亚马逊商城 (MWS) 的产品就发生过这种情况。 在某些时候,加载的库存不正确(货物数量错误和价格错误)。 我们想通了。 但为了解决这个问题,立即找出问题所在很重要。 不幸的是,像所有亚马逊服务一样,MWS 有点慢,所以总是有延迟,但我们仍然能够至少粗略地掌握问题和导致问题的脚本之间的联系(我们做了检查,卡住了)将其发送给 oker,并在收到警报后立即进行检查)。

最近,一家大型且昂贵的欧洲托管商添加了一个有趣的案例,我们的客户正在使用该案例。 突然,我们所有的服务器都从雷达上消失了! 首先,客户本人(比 okerra 更快!)注意到他正在使用的网站无法打开,并就此发出了一张罚单。 但不仅仅是一个网站瘫痪了,而是所有网站都瘫痪了! (娜塔莎,我们放弃了一切!)。 在这里,奥克尔开始寄出长长的脚套,上面有所有为他点亮的指示灯。 恐慌,恐慌,我们原地打转(我们还能做什么?)。 然后一切都上涨了。 事实证明,数据中心进行了例行维护(每多年一次),当然,我们应该得到警告。 但他们发生了一些问题,他们没有警告我们。 好吧,更多的心脏病发作,更少的心脏病发作。 但一切恢复后,你需要仔细检查一切! 我无法想象我会如何用我的双手做到这一点。 Okerr 在几分钟内测试了所有内容。 事实证明,大多数服务器只是暂时不可用,但它们可以工作。 有些人超负荷了,但也站了起来。 在所有损失中,我们丢失了两个备份,根据官方说法,这些备份应该是在这个完整的香蕉发生时创建和加载的。 我什至没有费心去创建它们,仅仅一天后就收到警报,一切正常,备份已经出现。 我真的很喜欢这个例子,因为事实证明 okerr 在我们事先没有想到的情况下非常有用,但这就是监控的目的 - 抵御不可预测的情况。

对于 Okerr 传感器,我们使用最便宜的托管(其中质量和可靠性并不重要,它们相互保证)。 所以,我们最近找到了一个非常好的托管服务,而且超级便宜,基准测试非常棒。 但是...有时,虚拟机的传出连接是从另一个(相邻)IP 建立的。 奇迹。 client_ip 模块与 https://diagnostic.opendns.com/myip 获取错误的IP。 从该指标的服务器日志中可以清楚地看出,更新也来自该相邻 IP。 现在让我们处理支持问题。 幸好我们在和平时期就注意到了这一点。 但是,例如,经常会发生根据IP白名单注册访问的情况 - 如果服务器有时会像这样短时间闪烁 - 您可以尝试捕获这个问题很长一段时间。

好吧,还有一件事——既然我们谈论的是 VPS 托管——我们总是使用便宜的(hetzner、ovh、scaleway)。 我真的很喜欢它的基准和稳定性。 我们还为其他项目使用更昂贵的 Amazon EC2。 因此,感谢 oker,我们有了自己的明智意见。 他们都倒下了。 我不会说,经过我们长期的观察,像 Hetzner 这样的廉价主机明显不如 EC2 稳定。 因此,如果您不依赖亚马逊的其他功能,为什么要支付更多费用呢? 🙂

接下来是什么?

如果在这个阶段我还没有把你从 Okerr 吓跑,那就试试吧! 您可以直接访问此链接 okrr 模拟账户 (立即点击!) 但请记住,每个人都只有一个模拟帐户,因此,如果您执行某项操作,同一帐户中的其他人可能会同时干扰您。 或者(更好)通过链接注册 异地奥克尔 - 一切都很简单,没有短信。 如果您不喜欢使用真实的电子邮件,您可以使用一次性电子邮件,例如 mailinator(我推荐 getnada.com)。 随着时间的推移,此类帐户可能会被删除,但它们可以用于测试。

注册后,您将被要求接受培训(执行一些不太困难的培训任务)。 初始限制非常小,但对于训练或一台服务器来说它们就足够了。 完成训练后,限制(例如指标的最大数量)将会增加。

从文档中 - 首先 WIKI 在服务器端和客户端(oker更新维基)。 但如果有什么不清楚的地方,请写信给 okerr.com 支持人员或留下一张票 - 我们将尽力快速解决所有问题。

如果您认真使用它并且这些增加的限制还不够,请写信给支持,我们将增加它(免费)。

您想在您的服务器上安装 oker 服务器吗? 这里 oker-dev 存储库。 我们建议在干净的虚拟机上安装,然后您只需使用安装脚本即可完成安装。 在您的虚拟机上 - 没有限制:-)。 好吧,再说一遍,如果发生任何事情,我们将始终尽力提供帮助。

我们希望这个项目能够成功,让世界因为我们而变得更加可靠。 得益于免费软件和服务,世界变得更加友好,并且发展更加活跃。 源代码可以存储在免费的 github 中,对于邮件,您可以使用免费的 gmail。 我们免费使用 freshworks 为了支持。 对于这一切,你不需要支付服务器费用,不需要下载和配置,也不需要解决各种运营问题。 每个新项目、每个团队都会立即拥有邮件、存储库和 CRM。 所有这一切都是非常高质量、免费且即时的。 我们希望它对于监控来说是一样的——小公司和项目可以免费使用 oker,甚至在诞生和成长阶段也具有成人严肃项目的可靠性。

来源: habr.com