核心系统是金证,用了金智维的自动化运维系统,涉及到自定义脚本调用的话,有没有什么好的方式?
Linux比较简单,就是Windows比较麻烦,不清楚同行是怎么做的?
补充一点win下的自动化运维调试工具:
1,在 Windows 上,相信不少人都听说过SysInternals 系列工具,早在几年之前,微软就将它们收入囊中了。所以包括 Process Explorer、Debug View 等工具都可以更放心地使用了。这些工具可以用于诊断进程中加载的模块、读取的文件和注册表,可以接管控制台输出等。
2,如果进程出现问题,需要调试,Windows 提供了工具可以直接创建进程 Dump 文件,再将 dmp 文件下载到本地,并使用 windbg 或 Visual Studio 来调试。SysInternals 中的 ProcDump 工具可以在命令行模式下创建 dump 文件。
3,如果 dump 文件太大,还可以直接在服务器上使用 windbg 工具调试。windbg 随着 Windowns SDK 一起下载,安装时只要选择 Windows Diagnose Tools 就可以保证安装很快速。诊断 .NET 应用程序时,加载 sos 模块;.NET Core 应用程序则是 coreclr 运行时中的 sos.dll 模块。另外,还可以选择在服务器上安装 Visual Studio,并启用 Visual Studio 远程调试功能。
4,如果想调试性能问题,或者需要将一些事件序列导出以寻求帮助,可以使用 wpaexportor 工具将事件导出为 etl 文件,并在其他计算机上使用 Event Viewer、Network Monitor 等工具读取并分析。
收起针对Windows系统的自动化运维管理,一般有这几种:
在 Windows 中内置的 PowerShell Remoting 的功能,以及在 PowerShell 5.0 中增加的 PowerShell DSC 自动化脚本编排配置工具,都是基于 WinRM 来实现的。前者提供远程命令行功能,类似于 SSH 连接;后者提供集群化自动化状态管理,类似于 Ansible。在最新的 PowerShell 6 中,也提供基于 SSH 的连接
本质上,PowerShell DSC 只是一种远程执行 Windows 任务的一种机制,而支持这种机制的工具有很多,比如 Chef,ansible,puppet与 Terraform。这些工具的特点是,都可以按一定的格式指定要在服务器上运行的脚本,所以通常它们可以用来做自动化部署工具,而往往并不能用作运行期的维护工具。如果只是自动化部署,常见的持续集成工具也是可以帮上忙的,比如 Jenkins、GoCD 和 TFS 等。所不同的是,前面这些环境编排工具平台通常提供了体验更好的安装、卸载和配置功能,而后面的持续集成工具则只提供了任务运行和结果展示功能。还有一些专门的“变更管理”软件,把这一过程标准化了,比如 TFS/VSTS Release 功能、Octopus Deploy 等。
如果条件允许,当然 Windows Nano Server 是要比 Server Core 要好很多的,毕竟它没有界面可以更轻量级地去以命令行的方式来运维和管理。
收起windows如果服务器版本在2012以及以上版本可以部署一个 openssh 组件 通过 ssh直接管理
内部再次安装一个 cywin组件 可通过cygwin技术直接调用 shell脚本
命令行直接调用方法
c:/cygwin64/bin/bash --login c:/temp/test.sh 类似这样 , 当然bash组件会随cygwin一起部署
如果要调用图形页面方式的模块 实施起来的确有点麻烦, 需要参考各个软件的 启动参数 进行配置