透過Opserver單一介面,監控主機資訊,降低管理負擔,將時間投資在更好的創新應用之上。
前言
主機管理的工作經常吃力不討好,因為大部分老闆認為,主機運作正常本來就是應該的事情,根本談不上績效。但事實上,系統正常運行,這一切絕非偶然,而是有辛苦的管理人員在默默的付出才可有這樣的結果。
可現實生活的環境就是如此,需要管理的主機會隨著企業的發展大幅度的增加,但編制的管理人力卻不動如山。與其抱怨公司制度,倒不如思考是不是管理方式需要做些改變。
最近DevOps這個詞炒得很火,其中的一個精神就是,如何降低管理和維運成本轉而將時間花在創新應用上。工欲善其事,必先利其器,毫不猶豫地拒絕土法煉鋼,轉而利用開源社群的資源站在巨人的肩膀上向前邁進,是現代資訊人基礎必備的技能之一,也是資訊人員價值的重要指標。
主機管理者的痛點
- 需花大量時間在登入登出各系統,確認系統是否正常運作。
- 系統出錯時,管理者通常是最後一個才知道,影響系統使用者體驗。
- 主機的相關資訊,大多透過文件方式管理,文件與實際狀況無法對應,時有耳聞。
- 缺乏視覺化的報表。
綜合以上情形,不難發現,吃力不討好是因為在沒產值的事情上出了很多力(花費時間登入登出、製作文件、製作報表),可是卻沒有得到應有的價值(出事時缺乏預警功能,使用者體驗依然下降)。
而接下來要介紹的便是如何透過Opserver開源工具來改變這一切。
Opserver是甚麼?
Operver是一個開源的專案,Github位置,使用.NET 技術(C# + ASP.NET MVC),主要用途是提供單一的視覺化監控平台來管理主機和服務。
下表列出有支援的監控項目
- Servers/Switches & anything supported by Bosun, Orion, or direct WMI(Windows Management Instrumentation) monitoring
- SQL Clusters & Single Instances
- Redis
- Elasticsearch
- Exception Logs (from StackExchange.Exceptional)
- HAproxy
- PagerDuty
- CloudFlare DNS
這對原本就使用ASP.NET MVC技術的企業可說是一大福音,因為是開源專案,所以可以輕易地將相關功能與企業ERP整合。
安裝指南
首先將專案Clone下來後,掛載到IIS上。
接下來的工作就是設定客製化的Config。Config大致可分為下列四個區塊
-
Security Configuration (設定登入驗證的方式)
-
Monitoring Configuration (設定要監控的項目資訊,例如目標如果是資料庫服務,就須設定連線資訊等等)
-
Jira Actions Configuration(當發生例外時,可自動建立issue)
-
PagerDuty Configuration (發生異常時的自動告警機制)
在專案的Config資料夾裡都有佛心的範例可參考。
下載後的專案直接跑起來,會出現下面的錯誤畫面
只需將Config資料夾的"SecuritySettings.config.example"檔案複製一份,檔名改成"SecuritySettings.config"就可順利執行,但在登入畫面直接按登入,會出現以下錯誤。
主要是因為"SecuritySettings.config.example"預設是以AD(Active Directory)驗證,Opserver提供的內建驗證有以下三種
- Active Directory ("ad")
- "Everyone's an admin" ("alladmin")
- "View All" (the default)
本階段目的只要能登入就好,所以就改成不驗證,更改"SecuritySettings.config"如下圖所示。
再重新執行專案,然後按下登入,便可成功登入系統。
建立第一個SQL監控
打開Config資料夾的"SQLSettings.json",輸入以下設定
{
"defaultConnectionString": "Data Source=(localdb)\\.\\ErpNextTestShare;Initial Catalog=COMMON; ;Integrated Security=true;",
"instances": [
{
"name": "LocalDB1",
"connectionString": "Data Source=(localdb)\\.\\ErpNextTestShare;Initial Catalog=COMMON; ;Integrated Security=true;"
}
]
}
以上範例是加入SqlloaclDb來進行監控,Localdb的建立可參考此篇文章,config設定完成再執行一次專案,會出現下列畫面。
以上,完成了第一個SQL監控的建立。
小節
透過本篇文章了解如何建置Opserver,並加入首個SQL監控。下一篇文章會介紹透過SQL監控服務可以幫助我們完成哪些應用的使用案例情境。