2013年10月18日 星期五

[應用技巧] 利用簡單XML語法呈現客製化月曆報表

利用簡單的XML語法呈現客製化月曆報表,是因為當初想要了解每個月分特殊使用者每天登入的狀況與頻率,所以才有這樣的想法,原先已經可以SPL的搜尋語法來了解特殊使用者的登入狀況,但當初還沒有客製化的圖表顯示相關的結果,所以這次Splunk 6 就把相關功能上線服務囉!


搜尋功能
其實要做到這樣的搜尋隊Splunk來說是非常容易的,比較困難的部分是要把搜尋的事件結果用日期排序以圖表顯示出來
以下是直接以程式找到的結果: Remote Interactive (Logon_Type=10) successful logon events (EventCode=4624).
index=<some index with Windows events> sourcetype="WinEventLog:Security" EventCode=4624 Logon_Type=10 | bucket _time span=1d | stats dc(Account_Name) AS Users by _time | convert timeformat="%m/%d/%Y" ctime(_time) AS date | stats count by date,Users

(若想要找到更多的登入型態搜尋語法可以點此連結:  http://msdn.microsoft.com/en-us/library/aa380129.aspx

簡單的 XML 語法摘錄


 <div id="eventCalendar"
       class="splunk-view"
       data-require="app/CalendarExample/components/eventcalendar/eventcalendar"
       data-options='{
          "managerid": "calSearch",
          "valueField": "Users",
          "dateField": "date",
          "linkUrl": "/app//day",
          "destFormField": "date"
       }'>
</div>
備註:在資料選項部份,這可以讓我們直接將值傳給JavaScript並顯示出來。我們可以用URL字串這樣我們就可以把日曆天的日期秀在報表上並且可以再向下drilldow
圖表化程式碼
這是一個叫做eventcalendar.jsJavaScript的檔案, eventcalendar.js是接在simplesplunkview.js被寫在
$SPLUNK_HOME/share/splunk/search_mrsparkle/exposed/js/splunkjs/mvc/.
而這個日曆圖表是從JavaScript的應用,叫做FullCalendar
eventcalendar.js, 有三種方式可以從FullCalendar取得資料並更新到Splunk圖表上:
  1. formatData: 格式化Splunk的資料,再給這些資料一個代號( Formats results data from Splunk and returns a handle to the data.)
  2. createView:重新建立一個報表,再給代號(Configures the view and returns a handle to it.)
  3. updateView:用Splunk的資料(再用 formatData的方法) 連結報表 (再回到createView 的方法)再送出.

若想要看比較清楚的原文版本,可以到這裡喔:Calendar Custom Visualization with Simple XML




沒有留言:

張貼留言