スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Splunk その9

今回は以下のブログ記事を元ネタに、Syslog の重要度に応じてログの色を変える Tips を紹介します。

Colorize your world… or at least your Splunk results



① メッセージに priority を出力するように、rsyslog.conf を編集します。

設定例:
$template LocalFormat,"%timereported% %hostname% %syslogfacility-text%.%syslogseverity-text%: %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
:
*.info;mail.none;authpriv.none;cron.none                /var/log/messages;LocalFormat

ログ出力例:
May  4 02:06:07 splunk kern.info: kernel: imklog 3.22.1, log source = /proc/kmsg started.
May  4 02:06:07 splunk syslog.info: rsyslogd: [origin software="rsyslogd" swVersion="3.22.1" x-pid="9822" x-info="http://www.rsyslog.com"] (re)start

※ 通常の syslogd を使用している場合は、「-SS」オプション付きで起動するよう設定しましょう。<kern.info>のような形式で、facility と priority がログに追記されます。

② Syslog メッセージ表示用の app を作成します。設定値は適当でかまいませんが、ここでは作成先のフォルダが「sample_syslog」であるとの前提で話を進めます。

splunk_9-4.png

③ $SPLUNK_HOME/etc/apps/sample_syslog/default/inputs.conf を作成します。

[monitor:///var/log/messages]
disabled = false
followTail = 0
sourcetype = syslog

④ $SPLUNK_HOME/etc/apps/sample_syslog/default/props.conf を作成します。

[source::/var/log/messages]
REPORT-syslog = syslog-extract

⑤ $SPLUNK_HOME/etc/apps/sample_syslog/default/transforms.conf を作成します。

[syslog-extract]
REGEX = ^(\w{3}\s+\d{1,2}\s+\d{1,2}:\d{1,2}:\d{1,2})\s+(\S+)\s+(\w+)\.(\w+):\s+(\S+):
FORMAT = timestamp::$1 host::$2 facility::$3 priority::$4 syslogtag::$5

⑥ $SPLUNK_HOME/etc/apps/sample_syslog/local/eventtypes.conf を作成します。

[info]
search = priority="info"

[notice]
search = priority="notice"

[warning]
search = priority="warn*"

[err]
search = priority="err*"

[crit]
search = priority="crit"

[alert]
search = priority="alert"

[emerg]
search = priority="emerg"

⑦ $SPLUNK_HOME/etc/apps/sample_syslog/local/event_renderers.conf を作成します。

[EventRendererInfo]
eventtype = info
css_class = EventRendererInfo

[EventRendererNotice]
eventtype = notice
css_class = EventRendererNotice

[EventRendererWarning]
eventtype = warning
css_class = EventRendererWarning

[EventRendererErr]
eventtype = err
css_class = EventRendererErr

[EventRendererCrit]
eventtype = crit
css_class = EventRendererCrit

[EventRendererAlert]
eventtype = alert
css_class = EventRendererAlert

[EventRendererEmerg]
eventtype = emerg
css_class = EventRendererEmerg

⑧ $SPLUNK_HOME/etc/apps/sample_syslog/appserver/static/application.css を作成します。

.EventsViewer .splEvent-EventRendererInfo .event .a
{ background-color: #98FB98; }

.EventsViewer .splEvent-EventRendererNotice .event .a
{ background-color: #FFFF00; }

.EventsViewer .splEvent-EventRendererWarning .event .a
{ background-color: #FFA500; }

.EventsViewer .splEvent-EventRendererErr .event .a
{ background-color: #FFB6C1; }

.EventsViewer .splEvent-EventRendererCrit .event .a
{ color: #FFFFFF; background-color: #FF0000; }

.EventsViewer .splEvent-EventRendererAlert .event .a
{ color: #FFFFFF; background-color: #800080; }

.EventsViewer .splEvent-EventRendererEmerg .event .a
{ color: #FFFFFF; background-color: #000000; }

⑨ $SPLUNK_HOME/etc/apps/sample_syslog/default/data/ui/views/syslog.xml を作成します。

<dashboard>
  <label>Syslog</label>
   <row>
      <chart>
         <title>Number of Syslog Messages</title>
         <searchString>sourcetype=syslog | timechart span=1m count by host</searchString>
         <earliestTime>-60m</earliestTime>
         <option name="charting.chart">column</option>
         <option name="charting.chart.stackMode">stacked</option>
         <option name="charting.primaryAxisTitle.text">time</option>
         <option name="charting.secondaryAxisTitle.text">msg_count</option>
      </chart>
   </row>
   <row grouping="1,1,1">
      <chart>
         <title>Source Host</title>
         <searchString>sourcetype=syslog | stats count by host | sort -count</searchString>
         <earliestTime>-60m</earliestTime>
         <option name="charting.chart">pie</option>
      </chart>
      <chart>
         <title>Message Priorites</title>
         <searchString>sourcetype=syslog | stats count by priority | sort -count</searchString>
         <earliestTime>-60m</earliestTime>
         <option name="charting.chart">pie</option>
      </chart>
      <chart>
         <title>Top 10 Message Types</title>
         <searchString>sourcetype=syslog | stats count as msg_count by syslogtag | sort -msg_count</searchString>
         <earliestTime>-60m</earliestTime>
         <option name="charting.chart">bar</option>
         <option name="charting.data.count">10</option>
         <option name="charting.legend.placement">none</option>
      </chart>
   </row>
   <row>
      <event>
         <searchString>sourcetype=syslog | highlight .info,.notice,.warn,.err,.crit,.alert,.emerg</searchString>
         <title>Recent Syslog Messages</title>
         <earliestTime>-60m</earliestTime>
         <entityName>results</entityName>
         <option name="showPager">true</option>
         <option name="count">10</option>
         <option name="displayRowNumbers">false</option>
      </event>
   </row>
</dashboard>

⑩ 最後に splunk と rsyslog のプロセスを再起動します。

[root@splunk ~]# service rsyslog restart
システムロガーを停止中:                                    [  OK  ]
システムロガーを起動中:                                    [  OK  ]
[root@splunk ~]# splunk restart

                                                           [  OK  ]
Stopping splunkweb...Stopping splunkd...
Shutting down.  Please wait, as this may take a few minutes.
.......                                                    [  OK  ]
Stopping splunk helpers...
                                                           [  OK  ]
Done.

Splunk> CSI: Logfiles.

Checking prerequisites...
        Checking http port [8000]: open
        Checking mgmt port [8089]: open
        Checking configuration...  Done.
        Checking index directory...
        Validated databases: _audit _blocksignature _internal _thefishbucket history main os summary summary_forwarders summary_hosts summary_indexers summary_pools summary_sources summary_sourcetypes
        Done
Success
        Checking conf files for typos...
All preliminary checks passed.

Starting splunk server daemon (splunkd)...
                                                           [  OK  ]
                                                           [  OK  ]
Done.Starting splunkweb... Done.
If you get stuck, we're here to help.
Look for answers here: http://www.splunk.com/base/Documentation

The Splunk web interface is at http://splunk.local:8000



設定が完了したら、ダッシュボードを開いて表示を確認してみましょう。以下のような画面が表示されると思います。

splunk_9-3.png

上記画面例では priority 部分のみを色付けしていますが、ログ全体を色付けすることも可能です。この場合に変更が必要な箇所は、ダッシュボードの検索条件から highlight 部分を削る、CSS の「.a」を削る、の二箇所です。

splunk_9-1.png

本当はテーブル表示の際にセル単位で色がつけられるといいんですが、現状ではそういった機能はないみたいです。
今後の機能追加に期待しつつ、今回はここまで。

関連記事

テーマ : おすすめソフトウェア
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

米麹

筆者: 米麹
某社に勤務する SE です。
ここでは本職とは関係のない趣味的な検証情報などを書いていきます。

注意事項とお願い
記事の内容は掲載時点のもので、現在は異なる可能性があります。情報に誤りや不適切な事項があった場合には、コメントやメールフォームでご指摘下さい。
また、本サイトの情報を利用することによって生じたいかなる損害についても、筆者は責任を負いかねますのでご了承下さい。
カレンダー
04 | 2018/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
最新記事
月別アーカイブ
カテゴリ
全記事表示リンク

全ての記事を表示する

検索フォーム
メールフォーム

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。