自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Zabbix由淺入深之主機自動化注冊(Windows篇)

運維 系統(tǒng)運維 自動化
通過通過ansible遠程到Windows主機,推送powershell腳本,Windows執(zhí)行powershell腳本自動拉取agent文件、替換配置、啟動一系列操作。

[[411357]]

在之前的Linux篇提到了自動化安裝的原理其實也是腳本安裝,只不過安裝部分省去了部分人力重復工作,但是Windows比較特殊,需要用到powershell這款自帶的軟件,這款軟件在Windows 2008版本引入后,開啟了Windows自動化的旅程,由此拉開了Windows命令行的序幕,題外話就不提了,如果感興趣可以參考官方文檔,最新的7.0還是比較強大的。

正文

思路

整體思路是通過通過ansible遠程到Windows主機,推送powershell腳本,Windows執(zhí)行powershell腳本自動拉取agent文件、替換配置、啟動一系列操作。

準備工作

由于Ansible遠程到Windows需要主機powershell版本為3.0以上,如果不是3.0的powershell需要進行升級,需要注意的是Windows 2008 R2后的版本(不包含Windows 2008 R2以前的版本)起步是4.0,所以都是滿足的。

Zabbix由淺入深之主機自動化注冊(Windows篇)

Windows 2008 R2

1.下載framework 4.5.2以上。

這里我選擇的是4.6.1,自行互聯(lián)網(wǎng)下載。(下面相關軟件我會打包放在一起)

Zabbix由淺入深之主機自動化注冊(Windows篇)

2.升級powershell

目前官方提供的是WMF5.1版本。安裝完成后需要重啟才行。

Zabbix由淺入深之主機自動化注冊(Windows篇)

3.查看版本信息。

  1. $PSVersionTable 
Zabbix由淺入深之主機自動化注冊(Windows篇)

升級成功

開啟遠程功能

1.查看powershell執(zhí)行策略(需要管理員權限運行)

默認應該是Restricted,需要改為remotesigned,這么做有什么意義?如果不改為該值會出現(xiàn)PS腳本無法執(zhí)行。

  1. get-executionpolicy 
  2. set-executionpolicy remotesigned 

遇到這樣的報錯證明沒有用管理員身份運行

Zabbix由淺入深之主機自動化注冊(Windows篇)

輸入Y即可

2.啟動遠程管理功能。

啟動遠程管理服務(winrm),輸入y即可

  1. winrm quickconfig 
Zabbix由淺入深之主機自動化注冊(Windows篇)

3.啟用認證。

  1. winrm set winrm/config/service/auth '@{Basic="true"}' 
  2. winrm set winrm/config/service '@{AllowUnencrypted="true"}' 
Zabbix由淺入深之主機自動化注冊(Windows篇)

Ansible連接測試

1.安裝pywinrm,此處出問題的朋友估計是pip工具沒有或者其他原因,自行互聯(lián)網(wǎng)搜索

  1. pip3 install pywinrm 

2.編寫ansible hosts文件

  1. vi /etc/ansible/hosts 
  2.  
  3. [window] 
  4. 192.168.31.82 
  5. [window:vars] 
  6. ansible_ssh_user="Administrator" 
  7. ansible_ssh_pass="123.com" 
  8. ansible_ssh_port=5985 
  9. ansible_connection="winrm" 
  10. ansible_winrm_server_cert_validation=ignore 

 3.ansible ping 測試

  1. ansible window -m win_ping 
Zabbix由淺入深之主機自動化注冊(Windows篇)

PS腳本

下面的腳本粘貼到.ps1后綴的文件里(文件自行創(chuàng)建)

這里需要注意的是在獲取文件的時候注意版本,這里我采用的是Zabbix 5.4的agent v2版本,如果你的版本非次版本,則需要去官網(wǎng)查看,如下面的圖二和圖三,另外agent2和agent也有所區(qū)別,如果懶癌的朋友可以找我要不同版本對應的腳本,否則執(zhí)行會報錯,我相信大家都會一點powershell的語法,畢竟我們都是站在巨人的肩膀上。

  1. mkdir C:\zabbix 
  2. invoke-webrequest -uri https://cdn.zabbix.com/zabbix/binaries/stable/5.4/5.4.2/zabbix_agent2-5.4.2-windows-amd64-openssl-static.zip -outfile C:\zabbix\zabbix-win.zip 
  3. $file = "C:\zabbix\zabbix-win.zip" 
  4. $shell = New-Object -ComObject shell.application 
  5. $zip = $shell.NameSpace($file) 
  6. $dest =  $shell.NameSpace((Split-Path $file -Parent)) 
  7. $dest.CopyHere($zip.Items()) 
  8.  
  9.  
  10. Copy-Item C:\zabbix\bin\*.exe C:\zabbix\ 
  11. Copy-Item C:\zabbix\conf\*.conf C:\zabbix\ 
  12. Rename-Item C:\zabbix\zabbix_agent2.conf  zabbix_agentd.conf  
  13. Rename-Item C:\zabbix\zabbix_agent2.exe  zabbix_agentd.exe  
  14. Remove-Item C:\zabbix\zabbix-win.zip 
  15.  
  16.  
  17. $conf= Get-Content C:\zabbix\zabbix_agentd.conf -Encoding UTF8 
  18. $conf= $conf.Replace("LogFile=c:\zabbix_agentd.log""LogFile=c:\zabbix\zabbix_agentd.log"
  19. $conf= $conf.Replace("Server=127.0.0.1""Server=192.168.31.137"
  20. $conf= $conf.Replace("ServerActive=127.0.0.1""ServerActive=192.168.31.137:10051"
  21. $conf= $conf.Replace("Hostname=Windows host""Hostname=${Env:COMPUTERNAME}"
  22. #$conf= $conf.Replace("# HostnameItem=system.hostname""HostnameItem=system.hostname"
  23. $conf= $conf.Replace("# HostMetadata=""HostMetadata="
  24.  
  25.  
  26. [IO.File]::WriteAllLines("C:\zabbix\zabbix_agentd.conf", $conf) 
  27.  
  28.  
  29. cd  C:\zabbix\ 
  30. .\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.conf 
  31. .\zabbix_agentd.exe -s -c zabbix_agentd.conf 
Zabbix由淺入深之主機自動化注冊(Windows篇)

選擇zip包

Zabbix由淺入深之主機自動化注冊(Windows篇)

下載地址

推送腳本并安裝

1.編寫playbook,一定要注意格式

  1. --- 
  2. - hosts: window 
  3.   tasks: 
  4.     - name: pull 
  5.       win_copy: 'src=/root/install.ps1 dest=c:/' 
  6.     - name: install 
  7.       win_shell: "c:/install.ps1" 

2.執(zhí)行playbook

  1. ansible-playbook window.yml 
Zabbix由淺入深之主機自動化注冊(Windows篇)

執(zhí)行效果

Zabbix前端操作

由于此前在Linux篇已經(jīng)講過了,此處不再細講,下圖代表條件為主機名包含K進行自動注冊,動作為添加主機、添加到主機組、鏈接到模板。

Zabbix由淺入深之主機自動化注冊(Windows篇)

遇到的問題

如果在測試過程中遇到下列問題,大概率是防火墻的問題,需要放開入方向10050端口或者采用主動模式即可,另外在08以后的版本可以通過powershell關閉,這里不再演示,我會在附件里提供。

Zabbix由淺入深之主機自動化注冊(Windows篇)

最終效果

Zabbix由淺入深之主機自動化注冊(Windows篇)

Windows 2008 R2

Zabbix由淺入深之主機自動化注冊(Windows篇)

ansible推送剩下的Windows機器

Zabbix由淺入深之主機自動化注冊(Windows篇)

寫在最后

其實整體來講,Windows的操作相對較復雜,因為需要手動開啟遠程的一些功能,所以與其說是自動化倒不如說是腳本安裝更為合適,只不過可以批量,也許是我才疏學淺,還有更好的方式去實現(xiàn),但思想應該是沒錯的,只不過是換種更簡便的方式,那么自動化注冊部分到這里該結束了。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-07-09 06:28:49

ZabbixLinux運維

2021-03-25 08:21:07

Zabbix主機群組監(jiān)控

2021-08-11 06:34:14

ZabbixDocker運維

2011-04-01 14:19:24

zabbix應用

2021-07-13 07:12:04

Zabbix監(jiān)控網(wǎng)絡設備

2017-01-18 10:57:24

MySQLZabbix監(jiān)控

2019-04-17 07:59:09

Puppet自動化集群管理

2009-07-16 17:06:23

Windows Emb

2024-02-26 09:00:00

生成式AI主機自動化

2017-12-17 21:58:18

2021-01-04 08:55:07

ZabbixProxy分布式部署

2016-09-07 13:15:24

Zabbix監(jiān)控Action

2014-08-04 10:10:35

IT運維自動化運維

2021-04-29 09:40:32

測試IDEAirtest

2021-03-19 08:47:38

Zabbix 5.2VMware監(jiān)控

2018-06-22 12:40:31

Windows 10Windows黑暗模式

2010-03-26 11:36:50

Windows Emb

2021-04-23 08:41:17

Zabbix 5.2Nginx監(jiān)控

2021-04-15 08:45:25

Zabbix 5.2Apache監(jiān)控

2010-10-08 13:45:46

點贊
收藏

51CTO技術棧公眾號