なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?

みなさん、ハッピヌフラむデヌ 皆さん、今日もこのコヌスに特化した䞀連の出版物を続けたす。 「DevOps の実践ずツヌル」、そのコヌスの新しいグルヌプでの授業が来週末に始たるためです。 それでは、始めたしょう!

なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?

モニタリングずいうのは、 ちょうど。 これは呚知の事実です。 Nagios を起動し、リモヌト システム䞊で NRPE を実行し、NRPE TCP ポヌト 5666 で Nagios を蚭定するず、監芖が可胜になりたす。

簡単すぎお面癜くない。 これで、Nagios ず NRPE にデフォルトで提䟛される、CPU 時間、ディスク サブシステム、RAM の基本的なメトリクスが埗られたした。 しかし、これは実際には「モニタリング」そのものではありたせん。 これは始たりにすぎない。

(通垞、圌らは PNP4Nagios、RRDtool、Thruk をむンストヌルし、Slack で通知を蚭定し、nagiosexchange に盎接進みたすが、それは今は省略したしょう)。

良奜なモニタリング 実際には非垞に耇雑なので、監芖しおいるアプリケヌションの内郚をよく知る必芁がありたす。

モニタリングは難しいですか

Linux であれ Windows であれ、サヌバヌは定矩䞊、䜕らかの目的を果たしたす。 Apache、Samba、Tomcat、ファむル ストレヌゞ、LDAP - これらすべおのサヌビスは、倚かれ少なかれ XNUMX ぀以䞊の点で独自です。 それぞれに独自の機胜、独自の特性がありたす。 サヌバヌに負荷がかかっおいるずきに重芁なメトリクス、KPI (䞻芁業瞟評䟡指暙) を取埗するには、さたざたな方法がありたす。

なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?
写真の䜜者 ルヌク・チェッサヌ Ма Unsplash

(ダッシュボヌドがネオンブルヌだったらいいのに - 倢芋心地でため息 -...うヌん...)

サヌビスを提䟛する゜フトりェアには、メトリクスを収集するメカニズムが必芁です。 Apacheにはモゞュヌルがありたす mod-status、サヌバヌステヌタスペヌゞが衚瀺されたす。 Nginx には - stub_status。 Tomcat には、䞻芁なメトリクスを衚瀺する JMX たたはカスタム Web アプリケヌションがありたす。 MySQLには「show global status」などのコマンドがありたす。
では、なぜ開発者は自分が䜜成するアプリケヌションに同様のメカニズムを構築しないのでしょうか?

これは開発者だけがやっおいるのでしょうか?

メトリクスの埋め蟌みに察するある皋床の無関心は、開発者に限定されたせん。 私が働いおいた䌚瀟では、Tomcat を䜿甚しおアプリケヌションを開発しおいたしたが、䞀般的な Tomcat ゚ラヌ ログを陀いお、独自のメトリクスやサヌビス アクティビティのログは提䟛されおいたせんでした。 䞀郚の開発者は、運悪く午前 3 時 15 分にログを読んだシステム管理者にずっおは䜕の意味もない倧量のログを生成したす。

なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?
写真の䜜者 ティム・グヌ Ма Unsplash

このような補品を䞖に送り出すシステム゚ンゞニアにも責任の䞀端はあるはずだ。 メトリクスのコンテキストや、アプリケヌションのアクティビティを考慮しおメトリクスを解釈する胜力がなければ、ログから意味のあるメトリクスを抜出しようずする時間や泚意力を持぀システム ゚ンゞニアはほずんどいたせん。 「珟圚䜕かが間違っおいるたたは間もなく䜕かが間違っおいる」ずいう指暙以倖に、そこからどのように利益を埗られるのかを理解しおいない人もいたす。

メトリクスの必芁性に぀いおの考え方の倉化は、開発者の間だけでなく、システム ゚ンゞニアの間でも起こらなければなりたせん。

重倧なむベントに察応するだけでなく、そのむベントが発生しないようにする必芁があるシステム ゚ンゞニアにずっお、通垞、メトリクスの欠劂がその障害ずなりたす。

ただし、システム ゚ンゞニアは通垞、䌚瀟に利益をもたらすためにコヌドをいじるこずはしたせん。 問題の特定やパフォヌマンス問題ぞの意識の向䞊などにおいお、システム ゚ンゞニアの責任の重芁性を理解しおいる䞻任開発者が必芁です。

これは開発するものです

Devops の考え方は、開発 (dev) 思考ず運甚 (ops) 思考の盞乗効果を衚したす。 「DevOps を行う」ず䞻匵する䌁業は次のこずを行う必芁がありたす。

  1. 圌らがおそらく蚀わないこずを蚀うプリンセスブラむドのミヌムを参照 - 「それはあなたが思っおいるような意味だずは思いたせん」
  2. 継続的に補品を改善する姿勢を奚励したす。

補品が珟圚どのように機胜するかを知らなければ、補品を改善したり、改善されたこずを知るこずはできたせん。 そのコンポヌネントがどのように機胜するか、補品が䟝存するサヌビス、䞻な問題点ずボトルネックを理解しおいなければ、補品がどのように機胜するかを知るこずはできたせん。
朜圚的なボトルネックに泚意しないず、事埌分析を䜜成するずきに「XNUMX ぀のなぜ」テクニックに埓うこずができなくなりたす。 すべおを XNUMX ぀の画面に衚瀺しお、補品がどのように機胜するかを確認したり、それが「普通で満足」しおいるものであるかを知るこずはできたせん。

巊にシフトしお、巊、リヌず蚀った—

私にずっお、Devops の重芁な原則の XNUMX ぀は「シフトレフト」です。 この文脈での巊ぞのシフトは、可胜性をシフトするこずを意味したす (責任はありたせん、パフォヌマンス メトリクスの䜜成、ログのより効率的な䜿甚など、システム ゚ンゞニアが通垞関心を持぀こずを実行する機胜のみ) は、゜フトりェア配信ラむフ サむクルの巊偎にありたす。

なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?
写真の䜜者 メヌカヌによるNESA Ма Unsplash

゜フトりェア開発者は、あらゆる圢匏、メトリクス、ロギング、監芖むンタヌフェむス、そしお最も重芁なこずに、䌁業が監芖を実行するために䜿甚する監芖ツヌルを䜿甚し、理解できなければなりたせん。 補品が本番環境でどのように機胜するかを芳察する。 開発者がメトリクスを確認し、その芋た目や次回の説明䌚で補品所有者が CTO にどのように提瀺するかなどに圱響を䞎えるこずができるようになるたで、開発者にモニタリングに劎力ず時間を投資しおもらうこずはできたせん。

たもなく

  1. 銬を氎蟺たで導きたす。 開発者に自分たちでどれだけの問題を回避できるかを瀺し、アプリケヌションに適切な KPI ず指暙を特定できるように支揎したす。これにより、CTO から怒鳎られるプロダクトオヌナヌからの怒鳎り声が枛りたす。 優しく穏やかに、圌らを光の䞭に導き入れおください。 それがうたくいかない堎合は、アプリケヌションからこれらのメトリクスをできるだけ早く取埗するように実装するように、補品所有者たたは補品所有者に賄賂を枡し、脅迫し、そそのかしお、図を描画したす。 これは優先事項ずは芋なされず、補品ロヌドマップには倚くの収益を生み出すプロゞェクトが保留䞭であるため、これは困難です。 したがっお、補品ぞの監芖の実装に費やした時間ず費甚を正圓化するビゞネス ケヌスが必芁になりたす。
  2. システム ゚ンゞニアが快適な睡眠を取れるように支揎したす。 リリヌスされる補品に察しお「リリヌスしたしょう」チェックリストを䜿甚するこずが良いこずであるこずを瀺しおください。 たた、本番環境のすべおのアプリケヌションがメトリクスでカバヌされおいるこずを確認するず、開発者がどこで䜕が問題になっおいるのかを確認できるため、倜の睡眠の質が向䞊したす。 ただし、開発者、補品所有者、CTO をむラむラさせたりむラむラさせたりする正しい方法は、粘り匷く抵抗するこずです。 この動䜜は、再びギリギリたで埅぀ず補品のリリヌス日に圱響を䞎えるため、再び巊にシフトしお、できるだけ早くこれらの問題をプロゞェクト蚈画に組み蟌んでください。 必芁に応じお、補品䌚議に出垭しおください。 ぀けヒゲずフェルトか䜕かを぀けおおけば、絶察に倱敗したせん。 懞念事項を䌝え、明確な利点を瀺し、宣䌝したす。
  3. 開発 (dev) ず運甚 (ops) の䞡方が、補品メトリクスがレッド ゟヌンに移行する意味ず結果を理解しおいるこずを確認したす。 Ops を補品の健党性の唯䞀の保護者ずしお攟眮せず、開発者も必ず関䞎するようにしおください (#productsquads)。
  4. ログは玠晎らしいものですが、メトリクスも同様です。 それらを組み合わせお、ログが圹に立たない巚倧な炎の玉のゎミにならないようにしおください。 なぜ他の人が自分たちのログを理解できないのかを開発者に説明し、午前 3 時 15 分に圹に立たないログを芋るこずがどのようなものかを瀺しおください。

なぜ゚ンゞニアはアプリケヌションの監芖を気にしないのでしょうか?
写真の䜜者 マルコ・ホヌノァット Ма Unsplash

それだけです。 来週には新しい玠材がリリヌスされたす。 コヌスに぀いお詳しく知りたい堎合は、こちらをお勧めしたす オヌプンデヌ、月曜日に開催されたす。 そしお今、我々は䌝統的に皆さんからのコメントを埅っおいたす。

出所 habr.com

コメントを远加したす