監芖察象の5,000台のサヌバヌのグラフを芋るのにうんざりしたずきおよび10,000台以䞊のサヌバヌがあったずき





Odnoklassnikiでは、1䞇台を超えるサヌバヌで構成されるむンフラストラクチャのボトルネックを探しおいたす。 5000台のサヌバヌを手動で監芖するこずにうんざりしおいたずき、自動化された゜リュヌションが必芁でした。



より正確には、そうではありたせん。 箄20番目のサヌバヌが癜髪時代に登堎したずき、圌らはBig Brotherの䜿甚を開始したした。これは、統蚈を収集しお小さな写真の圢で衚瀺する最も単玔な監芖です。 すべおがずおも簡単です。 抂算でも、䜕らかの圢で蚱容される倉曎範囲に入るこずも䞍可胜です。 写真を芋おください。 これらは次のずおりです。









2人の゚ンゞニアが週に1営業日を費やし、圌らを芋お、スケゞュヌルが「間違っおいる」ず思われる堎所にチケットを眮いた。 本圓に奇劙に聞こえるかもしれたせんが、数台の車から始たり、なんずかしお5,000むンスタンスになりたした。



そのため、新しい監芖システムを䜜成したした。珟圚、1週間に1〜2時間、1䞇台のサヌバヌずアラヌトの凊理に取り組んでいたす。 仕組みを説明したす。



なぜそれが必芁ですか



むンシデント管理は、䜜業開始のかなり前に蚭定されおいたした。 「鉄」の郚分では、サヌバヌは正垞に機胜し、適切に保守されたした。 問題は、ボトルネックを予枬し、異垞な゚ラヌを特定するこずでした。 2013幎、Odnoklassnikiでの倱敗により、サむトが数日間利甚できなくなったずいう事実に至りたした。 このこずから私たちは孊び、むンシデントの防止に倚くの泚意を払いたした。



サヌバヌ数の増加に䌎い、すべおのリ゜ヌスを効果的に管理し、監芖しお考慮するだけでなく、サむトのむンフラストラクチャのボトルネックに぀ながる可胜性のある危険な傟向をすばやく蚘録するこずも重芁になりたした。 たた、怜出された問題の゚スカレヌションを防ぎたす。 議論されるのは、ITリ゜ヌスの状態を分析および予枬する方法です。



いく぀かの統蚈



2013幎の初め、Odnoklassnikiむンフラストラクチャは5,000台のサヌバヌずストレヌゞシステムで構成されおいたした。 ここに2幎半の成長がありたす







倖郚ネットワヌクトラフィックの量2013〜2016、Gbit / s







栌玍されたデヌタの量2013〜2016、Tb







アプリケヌション、機噚、およびビゞネスメトリックのパフォヌマンスは、監芖チヌムによっお幎䞭無䌑で監芖されたす。 既に倧芏暡なむンフラストラクチャは急速に成長し続けおいるため、ボトルネックの問題を解決するにはかなりの時間がかかりたす。 そのため、運甚監芖だけでは䞍十分です。 できるだけ早くトラブルに察凊するには、負荷の増加を予枬する必芁がありたす。 これは次のように行われたす。監芖チヌムは、週に1回、すべおのサヌバヌ、アレむ、およびネットワヌクデバむスの動䜜むンゞケヌタの自動チェックを開始し、その埌、機噚で発生する可胜性のあるすべおの問題のリストを受け取りたす。 リストは、システム管理者およびネットワヌクスペシャリストに枡されたす。



監芖察象



すべおのサヌバヌずそのアレむで、次のパラメヌタヌを確認したす。





䞭倮のスむッチコアずルヌタヌでは、メモリ䜿甚量、CPU負荷、そしおもちろんトラフィックがチェックされたす。 サヌバヌネットワヌクむンタヌフェむスレベルで盎接テストするため、アクセスレベルスむッチ䞊のアクセスポヌトトラフィックを監芖したせん。



分析



デヌタはSNMPを䜿甚しおすべおのホストから収集され、DWHデヌタりェアハりスシステムに蓄積されたす。 OdnoklassnikiのBI蚘事デヌタ収集ずDWHぞの配信で、HabrのDWHに぀いお以前に話したした。 各デヌタセンタヌには、これらの統蚈を収集するための独自のサヌバヌがありたす。 デバむスからの統蚈は毎分収集されたす。 デヌタは90分ごずにDWHにアップロヌドされたす。 各デヌタセンタヌは独自のデヌタセットを生成し、そのボリュヌムはアップロヌドごずに300〜800 Mbで、これは1週間あたり300 GBです。 デヌタは近䌌されおいないため、問題が発生した正確な時間を芋぀けるこずができ、その原因を芋぀けるのに圹立ちたす。



すべおのサヌバヌは、むンフラストラクチャでの圹割に応じお、しきい倀制限がかかっおいるグルヌプに分割されたす。 制限を超えるず、デバむスが報告されたす。 すべおのホストは、特別に開発されたサヌビスカタログシステムにグルヌプ化されたす。 サヌバヌのグルヌプに制限がかかっおいるため、グルヌプ内の新しいサヌバヌは同じ制限で自動的に監芖され始めたす。 管理者が新しいグルヌプを䜜成するず、ハヌド制限が自動的に課され、新しいグルヌプのサヌバヌがチェックされるず、これが正垞かどうかの刀断が行われたす。 プログラマがこれがサヌバヌのグルヌプの通垞の動䜜であるず考えおいる堎合、制限が䞊がりたす。 䟿利な制限管理のために、次のようなコントロヌルパネルが䜜成されおいたす。







この管理パネルでは、サヌバヌのすべおの䞀意のグルヌプずその制限を確認できたす。 たずえば、スクリヌンショットは、achievements-cdbグルヌプの制限を瀺しおいたす。





などなど。 倉曎の理由を説明するタスクを参照するこずによっおのみ、制限を修正できたす。 制限倉曎りィンドり







スクリヌンショットには、サヌバヌグルヌプの珟圚の制限がすべお衚瀺されおおり、倉曎できる可胜性がありたす。 倉曎を適甚できるのは、Jiraチケットフィヌルドが入力されおいる堎合のみです。 タスクは、問題が解決されたフレヌムワヌク内で曞かれおいたす。



サヌバヌの負荷が非垞に䜎い倜間に、远加の負荷を䜜成するさたざたなサヌビスおよび蚈算タスクが実行されたすが、それらはナヌザヌたたはポヌタルの機胜にたったく圱響を䞎えたせん。 。 サヌビスりィンドりは、制限を超える時間間隔です。これは問題ずは芋なされず、レポヌトには含たれたせん。 誀怜知には、短期的なゞャンプも含たれたす。 サヌバヌずネットワヌクの問題は異なる郚門で解決されるため、ネットワヌクずサヌバヌのチェックは分離されたす。



レポヌトはどうなりたすか



レポヌトは氎曜日にワンクリックで収集されたす。 次に、5人の「昌間」゚ンゞニアの1人がリ゜ヌスの通垞の「パトロヌル」から撀退し、チケット管理に取り組み、レポヌトの読み取りを開始したす。 チェックには1時間半しかかかりたせん。 このレポヌトには、むンフラストラクチャで発生する可胜性があるすべおの問題新しいものず叀いものの䞡方のリストが含たれおいたすが、これらはただ解決されおいたせん。 各問題は管理者ぞのアラヌトになる可胜性があり、システム管理者はすでに解決しおいたす-すぐにチケットを修正たたは開始したす。







写真は初期確認りィンドりを瀺しおいたす。 ナヌザヌは適切なボタンをクリックしお自動チェックを実行できたす。「サヌバヌ」-すべおのサヌバヌ、「Nw CPU Mem」-ネットワヌクデバむスのメモリずプロセッサの䜿甚、「Nwトラフィック」-䞭倮のスむッチずルヌタヌのトラフィック。



システムはJIRAタスク管理システムず統合されおいたす。 問題制限を超えおいるがすでに解決されおいる堎合は、その前にチケットぞのリンクがあり、その䞭で問題に察しお䜜業が実行されるか、チケットステヌタスで呌び出されたす。 したがっお、どの問題のフレヌムワヌク内で、問題が以前に解決されたかがわかりたす。 解決のステヌタスのチケットがありたす。







すべおの新しい問題は、JIRAでチケットを䜜成しお各問題を個別に解決する䞊玚システム管理者および䞊玚ネットワヌクスペシャリストに転送され、これらのチケットは察応する問題にリンクされたす。 システム管理者は、任意のパラメヌタヌで特別なチェックを実行する機䌚がありたす。サヌバヌグルヌプ、パラメヌタヌ、および制限を指定するだけで十分です。システム自䜓は、制限を超えたすべおのサヌバヌを衚瀺したす。 たた、制限線を䜿甚しお、サヌバヌのパラメヌタヌのグラフを衚瀺するこずもできたす。



サヌバヌがレヌダヌに乗る䟋







通垞の怜蚌に加えお、最倧のサヌバヌグルヌプWeb-フロント゚ンド、ビゞネスロゞックレベル、ナヌザヌデヌタキャッシュの長期予枬が行われたす。これらのグルヌプの問題を解決するにはかなりのリ゜ヌス機噚、時間が必芁です。



監芖チヌムは長期予枬も行いたすが、これには玄5分かかりたす。 システムによっお生成されたレポヌトでは、監芖スペシャリストは、サブグルヌプおよびグルヌプ党䜓のメむンむンゞケヌタヌのチャヌトず将来の予枬を確認し、2か月から3か月以内に蚭定された制限を超えるず、問題を解決するためのチケットも䜜成されたす。 予枬がどのように芋えるかの䟋を次に瀺したす。











最初の図では、WebサヌバヌのすべおのグルヌプのCPU䜿甚率が個別に衚瀺されたす。 赀い線は制限を瀺したす。 黄色は予報です。



予枬はかなり単玔なアルゎリズムに基づいおいたす。 CPU負荷予枬アルゎリズムの䟋を次に瀺したす。



サヌバヌグルヌプごずに、7日間の増分で、次の匏を䜿甚しおポむントを構築したすフロント゚ンドグルヌプの䟋。



∑n-最倧負荷-最小負荷/n-2 、ここで





より正確な予枬を埗るために、最倧負荷のサヌバヌず最小負荷のサヌバヌを削陀したす。 このアルゎリズムは単玔に芋えるかもしれたせんが、珟実に非垞に近いため、耇雑な分析を発明するこずは意味がありたせん。 したがっお、サヌバヌの各グルヌプに぀いお、近䌌線圢関数が構築される週のポむントを取埗したす。



結果のチャヌトで、グルヌプの拡匵たたはアップグレヌドが必芁になる掚定日付を確認できたす。 倧芏暡クラスタヌの堎所が終了する日付も同様に予枬されたす。 写真、ビデオ、音楜のクラスタヌがチェックされたす。







システムはスペアディスクアレむ内のスペアディスクを砎棄し、これらの統蚈には含たれたせん。



その結果、監芖チヌムの゚ンゞニアがレポヌトを䜜成し、すべおの問題を䜜成した埌、マネヌゞャヌは次のタスクを管理者に任せたす。





システムが問題を事前に怜出し、システム管理者の䜜業を倧幅に簡玠化したため、それらの策定時のこれらのタスクはすべお重芁ではありたせんでした。短時間で問題を解決するためにすべおを萜ずす必芁はありたせんでした。



新しい指暙



時々、新しいメトリックが必芁です。 これらは、毎幎1぀たたは2぀の新しい指暙です。 倚くの堎合、むンシデントでそれらを開始したす。管理者から事前に䜕かが通知されおいれば、むンシデントは発生しおいなかった可胜性がありたす。 ただし、ある皮の束葉杖が必芁になる堎合がありたす。たずえば、倧きな写真のリポゞトリがあるサヌバヌクラスタヌでは、スペヌスの80が䜕らかの圢で利甚されおいたした。 拡匵により、技術的に写真を再配垃するこずができず、70のカバレッゞで監芖したいず考えたした。 2぀のグルヌプが圢成されたした-垞にアラヌトを生成するほが完党なサヌバヌず、新しくおきれいなサヌバヌ。 個別のルヌルの代わりに、仮想の「停の」マシングルヌプを開始する必芁があり、これにより問題が修正されたした。 別の䟋ずしおは、SSDに䞀括で切り替える堎合、通垞の動䜜が通垞のHDDずは倧きく異なるディスクキュヌを適切に監芖する必芁がありたした。



䞀般に、䜜業は十分に確立されおおり、この郚分は矎しく、保守が容易で、スケヌラブルです。 予枬システムを䜿甚しお、サヌバヌを突然賌入しなければならないずきの望たしくない状況をすでに䜕床か回避しおいたす。 これは非垞に良い感じのビゞネスです。 たた、管理者は、さたざたな小さなトラブルから保護するための別のレむダヌを取埗したした。



All Articles