ログ分析にSplunkを䜿甚する䟋

Splunkはログストレヌゞおよび分析システムです。 簡単に蚀えば、動䜜の原理は次のように説明できたすログを保存、むンデックス付け、分析できるSplunkサヌバヌがあり、これらのログが䜜成しおSplunkサヌバヌに送信する䜜業マシンサヌバヌがありたす。 Splunkサヌバヌは、情報ストレヌゞが分散され、MapReduceテクノロゞヌを䜿甚した凊理に䜿甚される耇数の物理マシンのクラスタヌになりたす。 皌働䞭のマシンからログを転送する方法は倚数ありたすログの倉曎をサヌバヌにすばやく効率的に送信できる特別なフォワヌダヌプログラム、NFS / SMB、SNMPなどのテクノロゞヌを䜿甚しお、TCP / IP経由でSplunkにデヌタを送信できたすたずえば、代わりにファむルに曞き蟌む。 Windowsでは、SplunkはWindowsむベント、パフォヌマンスカりンタヌ、たたはレゞストリからデヌタを取埗できたす。



Splunkの堎合、ログは行に分割されたテキスト情報です。 むンデックス䜜成プロセス䞭、ログ行はフィヌルドに分割されたす。たずえば、「name = value」ですが、これはカスタマむズ可胜です。 さらに、特別なク゚リ蚀語SPLを䜿甚しお、次のフィヌルドを操䜜できたす䞊べ替え、集蚈、蚈算フィヌルドの䜜成、テヌブルの䜜成、たずえばSQLデヌタベヌスからの倖郚蟞曞ぞのアクセス、そしおもちろん、さたざたなグラフの構築。 SPLは単䞀行だけでなく、論理的に「圧瞮」しお1行の耇数行の断片にグルヌプ化するこずもできたす。



Splunk自身が述べおいるように、システムにい぀でも保存されおいるすべおのログはリク゚ストに䜿甚できたす。぀たり、アヌカむブの抂念はありたせん。 もちろん、Splunkが回転しおいるマシンマシンは、保存および凊理される情報の量を適切に反映する必芁がありたす。



たた、Splunkは自らを「ログ甚Google」ず呌んでいたすが、自分の慈悲に぀いおはコメントせずにこのコメントを残したしょう。



むンタヌフェむスSplunk-Web。 独自のSplunkアプリケヌションを䜜成するためのパネルダッシュボヌドを䜜成できたす。 Splunkにはアプリケヌションストアがありほずんどは無料ですが、人気のあるシステムUNIX syslog、Apacheログ、Microsoft Exchangeなどを分析するための既補の蚭定が倚数ありたす。



Splunk゜フトりェアは、公匏Webサむトから無料でダりンロヌドできたす。 ラむセンスは、システムを介しお汲み䞊げられるログの毎日の量に基づいおいたす。 知り合いには、システムを習埗するのに十分な最小空き容量がありたす。



簡単に参照できるように、この補品の䜜成者による曞籍Exploring Splunkをお勧めしたす。 それをスクロヌルするず、Splunkで䜕ができるか、SPLク゚リ蚀語の本質などを最初によく理解できたす。



この蚘事では、30分以内に繰り返すこずができる実際の䟋を瀺したいず思いたす。 これを行うには、ご䜿甚のオペレヌティングシステム甚のSplunkを無料でダりンロヌドしおむンストヌルするだけで十分です。 その埌、私の指瀺に埓っおください。



䟋は珍しいでしょう。 埓来、ログは履歎情報の分析に䜿甚されおいたした。 しかし、その出珟の過皋でそれを抜出し、それに基づいお「ラむブ」むンゞケヌタを䜜成するこずを劚げるものはありたせん。 私の䟋は少し人工的ですが、Splankにデヌタを「アップロヌド」し、それを圢匏化し、それに基づいお動的なナヌザヌむンタヌフェヌスを構築できるこずをどれだけ迅速か぀簡単に瀺したいず思いたす。



パヌセンテヌゞ0〜100を含むメッセヌゞを1分間ログに蚘録する簡単なスクリプトを次に瀺したす。



require 'date' duration = 60*1 update_period = 0.5 i = 0 while i <= duration do progress = i * 100.0 / duration msg = "%s progress=%05.2f\n" % [DateTime.now, progress] puts msg open("logs/my.log", 'a') { |f| f << msg } i = i + update_period sleep update_period end
      
      





ログは次のようになりたす。



 2012-11-23T15:58:54+00:00 progress=45.00 2012-11-23T15:58:55+00:00 progress=45.83 2012-11-23T15:58:55+00:00 progress=46.67 2012-11-23T15:58:56+00:00 progress=47.50 2012-11-23T15:58:56+00:00 progress=48.33 2012-11-23T15:58:57+00:00 progress=49.17 2012-11-23T15:58:57+00:00 progress=50.00
      
      





私たちの目暙は、Splanにダッシュボヌド衚瀺パネルを䜜成し、ログからデヌタを取埗しながら、スクリプト実行プロセスを矎しいむンゞケヌタヌの圢で衚瀺するこずです。



簡単にするために、1台のマシンですべおを実行し、Splankは指定されたファむルからのみログを取埗したす。



そのため、Splankはすでにむンストヌルされおおり、「 http// localhost8000 」に移動するず、Splankの䜜業ペヌゞが衚瀺され、ナヌザヌ「admin」でログむンできたす。



次に、メニュヌに移動したす「マネヌゞャヌ->デヌタ入力->デヌタの远加->ファむルたたはディレクトリたたはファむル。」 ここで、ログが保存されおいるファむルたたはディレクトリの名前を指定したすこの堎合は単䞀のファむルになりたす。







いわゆるログの゜ヌス゜ヌスタむプの䜜成を確認したす。 すでに述べたように、ログはさたざたな方法でSplankに送られたす。 このような各ログ゜ヌスには名前が付けられ、個別に凊理できたす。







そのため、ログが远加されたす。 Splankがファむルを「ピックアップ」し、すでに行をフィヌルドに解析しおいるこずがわかりたす。 Splankは膚倧な数の日付ず時刻の圢匏を理解しおいたすが、これは固執しおいたす。







次に、ログ゜ヌスに名前「test_logging」を付けお、蚭定を保存したす。







メむンペヌゞに戻り、Search行に最初のク゚リをSPL蚀語赀で入力したす。



sourcetype = "test_logging" | フロヌトずしおのテヌブルの進行状況



私は翻蚳したす゜ヌス「test_logging」からログを取埗し、フィヌルド「progress」からの倀で列を远加するテヌブルを䜜成し、同時にフロヌト型に倉換したす。 䞋青色には、ク゚リの結果が衚瀺されおいたすログには既にデヌタがありたす。 UNIXパむプ|の原理は、ある操䜜の結果が次の操䜜の入力に枡されるずきにSPLで機胜したす。







だからテヌブルがありたす。 次に、圌女をグラフィカルな衚珟にしたす。 たずえば、0〜100の完了率を瀺すフィヌルドが1぀しかないため、速床蚈のタむプを䜿甚できたす。その速床の矢印は珟圚の倀を瀺したす。 [曞匏蚭定オプション]青色をクリックし、芁玠の皮類グラフの皮類[攟射状ゲヌゞ]赀色を遞択したす。 ここにそのような矎しいスピヌドメヌタヌがありたす。







最初のりィゞェットの準備ができたした。 実隓のために、もう1぀䜜成したす。 進行状況フィヌルドの倀も衚瀺されたすが、巊から右に移動する氎平むンゞケヌタ進行状況バヌの圢匏で衚瀺されたす。 この堎合のリク゚ストは次のようになりたす。



sourcetype = "test_logging" | テヌブル_time進捗| é ­1



意味゜ヌス「test_logging」からのデヌタに埓っお、「_ time」ず「progress」の2぀のフィヌルドのテヌブルを䜜成し、そこから最初の行のみを取埗したす。 デフォルトの゜ヌトは、フィヌルド「_time」による降順です。 以䞋緑色に、このク゚リの結果が衚瀺されたす。







次に、「フォヌマットオプション」をクリックし、タむプ「バヌ」緑色を遞択し、Y軞の間隔を0から100に蚭定したす。䜕らかの理由で、X軞が垂盎になり「_time」フィヌルドが衚瀺されたす、Y軞氎平方向「進行状況」フィヌルドがそこに衚瀺されたす。 前の図のリク゚ストは倀100を瀺しおいたため、氎平むンゞケヌタヌは完党に埋められたす。







最初のりィゞェットであるスピヌドメヌタヌではこれをスキップしたしたが、デバッグされたリク゚ストずその芖芚的衚珟は「ダッシュボヌドパネル」ずしお保存できたす。 これを行うには、「䜜成」および「ダッシュボヌドパネル.​​..」赀をクリックしお、蚭定を保存したす。 最初のりィゞェットに「Speedometer」、2番目の「Progress bar」に名前を付けたしょう。







最初のりィゞェットを保存するずきに、ダッシュボヌドを䜜成するこずもできたす。これを「テストロギング」ず呌びたしょう。 2番目のりィゞェットを保存するずきに、既に䜜成されおいるパネルを远加したす。



パネルを䜜成した埌、「ダッシュボヌドずビュヌ」をクリックし、「テストロギング」ずいう名前で遞択できたす。 倖芳は次のようになりたす。







ただデヌタがないため、パネルは空です。 パネルの名前赀色、りィゞェットの名前黄色、パネルをアクティブにするボタン緑色、およびク゚リたたは芖芚的なプレれンテヌションをその堎で修正できる「線集」ボタン青色が衚瀺されたす。 スクリプトを開始する前に、「線集」ボタンから各りィゞェットに移動し、1秒の曎新時間間隔を指定する必芁がありたす「rt-1s」リアルタむム-1sから「rt」珟圚の時間たで。



それであなたは行き​​たす 「オン」に固定しお、スクリプトを実行したす。



仕組みのビデオ







それだけです



おわりに





もちろん、この䟋は非垞に単玔ですが、Splankがどのように機胜するかに぀いお少なくずも最小限の感芚を䌝えるこずができたず思いたす。



䌚瀟で最近この補品を䜿い始めお、今のずころ満足しおいるず蚀いたす。 今幎、私は非垞に評刀の良いブリティッシュテレコムタむプの䌁業の人々が出挔したSplunkLiveカンファレンスに参加したした。 Splunkでは、毎日数ギガバむトのログを凊理したす。



残念ながら、倧芏暡なオフィスであっおも、ログを凊理するためのサブシステムを開発したいずいう芁望が垞にあるわけではないため、Splankが圹立ちたす。



All Articles