正文

想法

总体思路是通过ansible远程推送powershell脚本到Windows主机,Windows执行powershell脚本自动拉取agent文件、替换配置、启动一系列操作。

准备

由于Ansible 远程到Windows 要求主机powershell 版本为3.0 或更高版本。如果powershell不是3.0,则需要升级。需要说明的是,Windows 2008 R2之后的版本(不包括Windows 2008 R2之前的版本)都是从4.0开始的,所以都满意。的。

Windows 2008 R2

1.下载框架4.5.2或以上版本。

这里我选择4.6.1,从网上下载的。 (下面我会把相关软件打包)

2.升级powershell

目前正式版本是WMF5.1。安装完成后,需要重新启动。

3. 查看版本信息。

$PSVersionTable 升级成功

启用远程功能

1、查看powershell执行策略(需要管理员权限才能运行)

默认应该是Restricted,需要更改为remotesigned。这样做有什么意义呢?如果不更改该值,PS 脚本将不会被执行。

Zabbix主机自动化注册从简单到深入(Windows)

当get-executionpolicyset-executionpolicy remotesigned遇到这样的错误时,证明不是以管理员身份运行。

只需输入Y

2. 启动远程管理功能。

启动远程管理服务(winrm)并输入y

winrm快速配置

3. 启用身份验证。

winrm 设置winrm/config/service/auth '@{Basic='true'}'winrm 设置winrm/config/service '@{AllowUnencrypted='true'}'

Ansible连接测试

1.安装pywinrm。如果你在这里遇到问题,可能是因为pip工具不可用或者其他原因。自己上网搜一下。

pip3 安装pywinrm2。编写ansible主机文件

vi /etc/ansible/hosts[window]192.168.31.82[window:vars]ansible_ssh_user='管理员'ansible_ssh_pass='123.com'ansible_ssh_port=5985ansible_connection='winrm'ansible_winrm_server_cert_validation=ignore3.ansible ping 测试

ansible窗口-m win_ping

PS脚本

将以下脚本粘贴到.ps1后缀的文件中(该文件是自己创建的)

这里需要注意的是获取文件时要注意版本。这里我使用的是Zabbix 5.4的agent v2版本。如果您的版本不是小版本,需要去官网查看,如下图2、图3。另外,agent2也与agent不同。如果懒的朋友可以向我要不同版本对应的脚本,不然执行会报错。相信大家都对powershell语法有所了解。毕竟,我们都站在巨人的肩膀上。

Zabbix主机自动化注册从简单到深入(Windows)

mkdir C:\zabbixinvoke-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$file='C:\zabbix\zabbix-win.zip'$shell=New-Object -ComObject shell.application$zip=$shell.NameSpace($file)$dest=$shell.NameSpace((分割路径$file -Parent))$dest.CopyHere($zip.Items())复制项目C:\zabbix\bin\*.exe C:\zabbix\复制项目C:\zabbix\conf\*.conf C:\zabbix\重命名项目C:\zabbix\zabbix_agent2.conf zabbix_agentd.conf 重命名项目C:\zabbix\zabbix_agent2.exe zabbix_agentd.exe 删除项目C:\zabbix\zabbix-win.zip$conf=获取内容C:\zabbix\zabbix_agentd。 conf -编码UTF8$conf=$conf.Replace('LogFile=c:\zabbix_agentd.log', 'LogFile=c:\zabbix\zabbix_agentd.log')$conf=$conf.Replace('Server=127.0.0.1', 'Server=192.168.31.137')$conf=$conf.Replace('ServerActive=127.0.0.1', 'ServerActive=192.168.31.137:10051')$conf=$conf.Replace('主机名=Windows 主机', '主机名=${Env:COMPUTERNAME}')#$conf=$conf.Replace('# HostnameItem=system.hostname', 'HostnameItem=system.hostname')$conf=$conf.Replace('# HostMetadata=', 'HostMetadata=' )[IO.File]:WriteAllLines('C:\zabbix\zabbix_agentd.conf', $conf)cd C:\zabbix\.\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.conf.\zabbix_agentd.exe -s - c zabbix_agentd.conf 选择zip包

下载地址

推送脚本并安装

1、写剧本的时候一定要注意格式。

----hosts:窗口任务: - name: pull win_copy: 'src=/root/install.ps1 dest=c:/' - name: install win_shell: 'c:/install.ps1'

2. 执行剧本

ansible-playbook window.yml执行效果

Zabbix前端操作

由于之前Linux文章中已经讨论过,这里不再赘述。下图表示主机名中包含K自动注册的情况,动作为添加主机、添加主机组、链接模板。

遇到的问题

如果测试过程中遇到以下问题,很有可能是防火墙问题。需要开放入站端口10050或者使用主动模式。另外,08以后的版本,可以通过powershell关闭。我这里就不演示了。我会在附件中提供。

最终效果

Windows 2008 R2

ansible 推送到剩余的Windows 机器

用户评论

仰望幸福

看了这篇关于Zabbix主机自动化注册的文章,真是受益匪浅。之前对Windows平台的注册设置总是有点摸不着头脑,现在感觉清晰多了。

    有11位网友表示赞同!

惦着脚尖摘太阳

这篇教程太实用了,尤其是对于刚开始接触Zabbix的新手来说。希望作者能出一篇Linux平台的。

    有5位网友表示赞同!

青衫故人

Zabbix自动化注册在Windows上操作确实有点复杂,这篇文章解释得挺详细的,不过还是有些地方不太懂,希望能有更深入的解析。

    有6位网友表示赞同!

念旧情i

作者把Zabbix主机自动化注册的过程说得明明白白,对于我这种不太熟悉Windows系统的来说,简直是救星!

    有17位网友表示赞同!

打个酱油卖个萌

感谢作者的分享,这篇文章让我对Zabbix在Windows上的应用有了更深入的了解。不过,我还是希望作者能分享一些性能优化的技巧。

    有17位网友表示赞同!

■□丶一切都无所谓

这篇文章挺有意思的,不过我觉得对于一些已经熟悉Zabbix的读者来说,可能内容会比较基础。

    有14位网友表示赞同!

青墨断笺み

看了文章,感觉自己之前对Zabbix的认知太肤浅了。作者从简单到深入的分析,让我对Zabbix有了全新的认识。

    有20位网友表示赞同!

你是梦遥不可及

Zabbix主机自动化注册在Windows上的确是个头疼的问题,这篇文章给出了很好的解决方案,点赞!

    有6位网友表示赞同!

良人凉人

这篇文章有点长,不过读完之后感觉收获颇丰。作者对Zabbix的讲解真的很专业,希望能多看到这样的文章。

    有13位网友表示赞同!

柠栀

对于刚开始学习Zabbix的我来说,这篇文章真是及时雨。不过,我还在摸索中,希望作者能继续分享经验。

    有13位网友表示赞同!

蹂躏少女

Zabbix在Windows上的应用真的很强大,这篇文章让我对它的自动化注册有了更深的理解。谢谢作者!

    有19位网友表示赞同!

盲从于你

这篇文章让我对Zabbix有了全新的认识,不过对于一些高级功能,我还是不太懂。希望作者能再出一篇深入讲解的文章。

    有6位网友表示赞同!

陌然淺笑

读完这篇文章,感觉自己对Zabbix的理解又深了一层。作者对Windows平台的分析真的很到位。

    有7位网友表示赞同!

放肆丶小侽人

Zabbix主机自动化注册确实是个技术活,这篇文章让我对这个过程有了更清晰的认识。希望作者能分享更多实用技巧。

    有17位网友表示赞同!

限量版女汉子

这篇文章让我对Zabbix在Windows上的应用有了全新的认识。感谢作者的分享,期待更多精彩内容。

    有15位网友表示赞同!

赋流云

Zabbix主机自动化注册在Windows上的操作,之前总是觉得很难。现在有了这篇教程,感觉轻松多了。

    有10位网友表示赞同!

全网暗恋者

文章中的示例代码很有帮助,让我对Zabbix在Windows上的自动化注册有了更直观的理解。谢谢作者!

    有15位网友表示赞同!

她的风骚姿势我学不来

这篇文章让我对Zabbix有了更深入的了解,尤其是在Windows平台上的应用。希望作者能出一篇关于监控策略的文章。

    有6位网友表示赞同!

安好如初

Zabbix主机自动化注册在Windows上操作起来确实有点复杂,但有了这篇文章,感觉问题不大了。感谢作者的指导!

    有14位网友表示赞同!

标签: