Okerr 混合監控系統概述

兩年前我已經發過貼文了 網站的簡單故障轉移 關於 奧克爾。 現在專案有了一些進展,我也發表了 oker伺服器端原始碼開放許可證,這就是為什麼我決定寫這篇關於 Habr 的簡短評論。

Okerr 混合監控系統概述
[ 全尺寸 ]

誰可能感興趣

如果您在小團隊中工作或單獨工作,您可能會對這一點感興趣。 您沒有監控,並且不確定是否真的需要它。 要么你嘗試了一些流行的嚴肅監控“為大男孩”,但它不知何故“沒有起飛”為你,或者它在幾乎默認的配置下工作,並沒有改變你的生活太多。 而且 - 如果您絕對不打算分配整個員工(甚至一個部門)每天至少幾個小時來監控監控儀表板或對其進行配置。

為什麼 oker 不尋常

接下來我將展示 okerra 的有趣功能,這些功能將其與其他一些監控系統區分開來。

Okerr 是一種混合監控

在內部監控期間,「代理」在受監控的電腦上運行,它將資料傳輸到監控伺服器(例如,可用磁碟空間)。 在外部時,伺服器透過網路執行檢查(例如 ping 或網站可用性)。 每種方法都有其限制。 Okerr 使用這兩個選項。 伺服器內部的檢查是由一個非常輕的(30Kb)代理或您自己的腳本和應用程式執行的,網路檢查是透過不同國家的 okerr 感測器執行的。

okerr不只是軟體,更是服務

任何監控的伺服器部分都龐大且複雜,安裝和配置困難,並且需要資源。 使用 okerr,您可以安裝自己的監控伺服器(免費且開源),也可以僅使用客戶端部分並使用我們伺服器的服務。 也是免費的。

如果監控允許您彌補和掩蓋伺服器和應用程式可靠性的不足,那麼就會出現一個哲學問題 - 誰是守衛? 如果問題本身由於某種原因單獨或與其他資源一起「失效」(例如,通往資料中心的通道中斷),那麼監控將如何告訴我們問題? 當使用外部服務 okerr 時 - 這個問題已經解決 - 即使整個資料中心及其伺服器斷電或受到殭屍攻擊,您也會收到警報。

當然,存在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。 我們免費使用 新鮮作品 為了支持。 對於這一切,你不需要支付伺服器費用,不需要下載和配置,也不需要解決各種營運問題。 每個新專案、每個團隊都會立即擁有郵件、儲存庫和 CRM。 所有這一切都是非常高品質、免費且即時的。 我們希望它對於監控來說是一樣的——小公司和專案可以免費使用 oker,甚至在誕生和成長階段也具有成人嚴肅專案的可靠性。

來源: www.habr.com