之前已經介紹了好幾篇關於Azure Automation的應用,今天來介紹下automation的另外一種用法,之前介紹Azure Automation其實講的都是automation最基本,也是最核心的應用,就是Automation Runbook,通過Runbook可以按照我們的設計來執行一些自動化的任務,在Azure中實現很多強大的功能,甚至還可以結合Flow, PowerApps,Logic Apps等等其他應用,更充分地發揮Azure的功能。
除此之外,其實Automation還可以有其他的用法,比如Automation中的configuration management就是個很不錯的例子,configuration management目前來說主要包含三大塊
1. Inventory
2. Change tracking
3. State configuration(DSC)
這次會花時間和大家介紹下前兩種用法,首先是inventory,我們都知道inventory其實指的就是計算機的資產管理,IT管理員肯定是希望能夠監控和了解每臺VM中都打了哪些Patch,安裝了哪些軟件的,其實這些信息都可以通過腳本獲取到,但是對於Windows Server來說,不加域的情況下,如果想遠程執行腳本,安全性是需要考量的一方面,另外一方面,這種方案也不夠靈活,略顯笨重,需要花費很大的精力來維護這樣一個環境,在automation中其實就提供了一個很好的第一方方案,也就是configuration management中的inventory
Inventory不僅僅可以收集Azure中VM的資產信息,甚至也可以收集on premise環境中服務器的信息,這點是相當強大的,信息收集完成後基本上是這個形式的,各種信息會被自動進行分類,可以很方便的進行查詢
那麼,inventory是如何進行收費的呢?
Configuration management實際上收費方式包含兩個部分
1. 基於向此服務註冊的節點數
2. Azure Log Analytics 服務中存儲的日誌數據計費
其中節點數代表註冊到configuration management的服務器,這個服務器可以是Azure VM,也可以是on premise host/vm,甚至是其他公有云的VM,當然Azure VM的收費相較於其他異構平臺,當然還是要便宜很多的
Azure Log Analytics 存儲的日誌數據費用這個就不說了,就是存儲信息的費用
下邊來看下具體如何把inventory用起來,首先我們需要找到automation account,我們會發現除了之前我們用的process automation裏的runbook之外,上邊還有一個configuration management,這裏我們可以找到inventory,因爲inventory實際上是通過log Analytics來進行信息的採集和分析的,因此需要首先創建一個log Analytics的workspace,創建過程也很簡單,在嚮導裏我們直接選擇create new workspace,然後enable即可
可以看到enable之後部署已經開始提交
等待幾分鐘後,部署已經結束,部署過程中其實會創建一個Log Analytics Workspace,並將automation account和workspace link起來
完成後再次點擊inventory,已經可以看到界面變得不一樣了
下邊來看如何而將Azure的node添加到inventory中,如果想將Azure VM添加到inventory中,首先需要在VM中enable inventory,這個很簡單,只需要在VM中找到inventory,如果這個VM所在的location已經有了automation account以及log analytics workspace的話,就可以直接enable了
Enable之後,我們嘗試在VM中安裝一些軟件,比如chrome,等待一段時間後,可以看到在inventory中已經看過結果了
下邊來看如果將non-azure的node註冊到workspace中
首先在Log Analytics workspaces中找到之前創建的workspace,選擇advanced settings
記錄好workspace id以及primary key,然後點擊下載windows agent
下載完成後開始安裝
選擇將代理連接到Azure日誌分析
輸入之前copy下來的workspace id以及primary key,之後開始安裝
安裝完成
安裝完成後在控制面板中也可以看到agent
除此之外,注意,還需要創建以下註冊表項和值
HKLM\System\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client 下創建以下 DWORD 值:
· Enabled [值 = 1]
· DisabledByDefault [值 = 0]
找到以下註冊表子項HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319,在此子項下創建值爲 1的 DWORD 值 SchUseStrongCrypto。
找到以下註冊表子項:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319。在此子項下創建值爲 1的 DWORD 值 SchUseStrongCrypto
之後重啓服務器即可
之後在inventory中會看到有一臺服務器未開啓inventory,點擊開啓即可
等待一段時間後,就可以看到這臺non-azure的服務器出現在inventory中了