logfmon Google Log 行事曆 日誌

指令列串接Google日曆 打造超炫全自動系統日誌

2016-05-24
Google提供的服務很多,透過即時監控系統記錄的方式,就能夠利用命令列型式的行事曆管理程式,將相關的系統事件記錄至Google行事曆內,輕鬆打造出全自動系統日誌。
相信許多人都有Google的帳號,並使用其所提供的服務。而其中的「行事曆」功能應該是除了Gmail服務外,最常被使用的功能之一。一般人大概都是拿來記錄當天行程備忘錄,其實它的記錄格式之特性也相當適合用來當作網管日誌,例如記錄什麼時間網路服務曾斷線等等。

本文將介紹如何利用即時監控系統記錄(Log)的方式,將相關的系統事件利用命令列型式的行事曆管理程式記錄至Google行事曆上,但在此僅討論Linux系統上的操作。為簡化討論起見,將只講解系統成功登入的事件,亦即將系統成功登入事件記錄在Google行事曆上,這裡將使用到的套作如表1所列。

表1 實作所需套件

認識gcalcli

gcalcli是一個以Python程式語言所撰寫的命令列Google行事曆(Schedule)管理軟體,可讓使用者以命令列指令的方式來管理Google行事曆,所支援的常用功能如下所述:

1. 支援目前Google服務所採用的OAUTH2 認證方式。
2. 可列出目前行事曆中所記載的事項。
3. 可新增、刪除或尋找行事曆中所記載的 事項(在本文中只會用到新增功能)。

在簡單說明gcalcli所支援的功能後,繼續講解如何安裝gcalcli軟體,作業系統將以CentOS 7為例,請執行如下指令(#為註解說明):


安裝完成後,就會產生gcalcli主程式,使用的語法如下所示,其中[]為非必要參數。


接著,說明其中command的使用方式。 ·list --noauth_local_webserverl:取得可存取行事曆的授權碼,語法如下:


在gcalcli完成安裝後的第一件事就是必須向Google取得可存取行事曆的授權碼,執行「gcalcli list --noauth_local_webserver」指令就會產生一組網址,如圖1所示,其中(1)為取得授權碼的網址,利用瀏覽器連接此網址,就會取得Google所提供的授權碼。取得授權碼後,如圖1中的(2)輸入授權碼,即可取得授權,並直接存取行事曆。


▲圖1 執行「gcalcli list --noauth_local_webserver」指令。

gcalcli會將相關的授權資訊儲存在使用者家目錄下的「.gcalcli_oauth」檔案之中,例如root使用者即儲存在「/root/.gcalcli_oauth」檔案中。

·list:列出使用者所有的行事曆資訊,語法如下:


執行結果如圖2所示,其中owner的資訊為後續指令所需要的行事曆名稱。


▲圖2 列出使用者所有的行事曆資訊。

·search:以關鍵字尋找行事曆內相關的資訊,語法如下:


圖3所示為尋找行事曆中含有http字樣的記錄。


▲圖3 尋找行事曆中含有「http」字樣的記錄。

·agenda:列出在日期區間中所有行事曆的資訊,語法如下:


如圖4所示,為尋找2016/03/25?2016/03/30中所有行事曆的資訊。


▲圖4 尋找從2016/03/25至2016/03/30間所有行事曆的資訊。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!