使用 Func 批量管理 Linux 伺服器

Func 常用模組簡介

Func 包括大多數常用任務模組,可以通過如下命令查看。
func “bogon” call system list_modules    (ENTER)
其主要模組功能包括執行命令(command)、複製檔案(copyfile)、處理器訊息(cpu)、 磁碟訊息(disk)、檔案跟蹤(filetracker)、IP Tables 管理(iptables)、掛載(mount)、nagios 管理(nagios)、網路測試(networktest)、進程管理(process)、系統管理(sysctl)、SNMP 訊息(snmp)等。

圖2:查看常用任務模組。
圖2:查看常用任務模組。

常用模組詳解

接下來逐一解釋吧。首先是執行命令模組 command,它用來實現 Linux 遠程命令的執行。下面的命令用來查看遠程主機記憶體使用情況。
func “bogon” call command run “free -m”    (ENTER)
copyile 模組用於從主控端向目標主機複製檔案,類似於 scp 功能。下面的命令用來複製本地檔案到遠程主機。
func “*” copyfile -f /etc/sysctl.conf –remotepath /tmp/sysctl.conf    (ENTER)
call 模組用於運行遠端 Minions 主機的 func 模組,下面的命令用來升級所有遠程主機的套件。
func “*” call yumcmd update    (ENTER)
cpu 訊息模組用來取得遠程主機 cpu 訊息,支援按時間(秒)採樣取平均值,下面的命令用來取 10 秒內平均值。
func “*” call cpu usage 10    (ENTER)
disk 磁碟訊息模組用來取得遠程主機的磁碟分割區訊息,參數為分割區標籤,例如 /data 分割區,下面的命令用來查看磁碟使用情況。
func “*” call disk usage    (ENTER)
iptables 模組用來實現遠程主機 iptables 設定,下面的命令用來丟棄從本地 53 埠號發給遠端 192.168.0.0/24 網段的封包。
func “*” call iptables.port drop_to 53 192.168.0.0/24 udp src    (ENTER)
hardware 模組用來取得遠程主機系統硬體訊息,下面是一個例子。
func “*” call hardware info    (ENTER)
mount 掛載模組用來實現遠程主機 Linux 系統掛載、卸載分割區管理,下面是一個例子。
func “*” call mount list    (ENTER)
process 模組用來實現遠程 Linux 主機進程管理。
func “*” call process info “aux”    (ENTER)
以上命令等同於執行 ps aux。
service 模組用來實現遠程 Linux 主機系統服務管理,下面的命令用來啟動遠程主機的服務。
func “*” call service start httpd    (ENTER)
sysctl 模組用來實現遠程 Linux 主機系統核心參數管理,下面的命令用來取得遠程主機的所有核心參數。
func “*” call sysctl list    (ENTER)
接下來介紹的是主機的系統變量 facts。facts 功能類似 Ansible 的 Facts,也是用來實現取得遠程主機的系統訊息的,以便在對目標主機操作時作為條件進行過濾,產生差異。Func 的 facts 支援通過 API 來擴展用戶自己的屬性。facts 由兩部分組成,分別是模組 module 和方法 method,可以通過如下命令方法來查看當前支援的模組(圖3)。
func “*” call fact list_fact_modules    (ENTER)
又例如要查看作業系統訊息,便可用以下命令。
func “*” call fact call_fact “os”    (ENTER)
funcs 通過模組來收集主機的系統訊息,這些收集到的系統訊息就叫做 facts。這些 facts 訊息可以直接以變量的形式使用。

圖3:查看當前支援的模組。
圖3:查看當前支援的模組。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *