针对Windows系统的自动化运维实现方式?

核心系统是金证,用了金智维的自动化运维系统,涉及到自定义脚本调用的话,有没有什么好的方式?
Linux比较简单,就是Windows比较麻烦,不清楚同行是怎么做的?

5回答

聂奎甲聂奎甲  项目经理 , 长春长信华天
khmschinppqq等赞同了此回答
补充一点win下的自动化运维调试工具:1,在 Windows 上,相信不少人都听说过SysInternals 系列工具,早在几年之前,微软就将它们收入囊中了。所以包括 Process Explorer、Debug View 等工具都可以更放心地使用了。这些工具可以用于诊断进程中加载的模块、读取的文件和注册表,可以接...显示全部

补充一点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 等工具读取并分析。

收起
 2020-04-29
浏览1287
zhuqibszhuqibs  软件开发工程师 , Mcd
zhanghaiyanzhaohaibozhangpin等赞同了此回答
可以了解一下,chef,国外用的较多,chef是支持windows和linux, 有market市场,可以有很多公开的例程。学起来不难显示全部

可以了解一下,chef,国外用的较多,chef是支持windows和linux, 有market市场,可以有很多公开的例程。学起来不难

收起
 2020-04-28
浏览1165
youki2008youki2008  系统架构师 , DDT
tx_881003wfang_2020wangxq等赞同了此回答
针对Windows系统的自动化运维管理,一般有这几种: 通过 Server Manager、System Center 批量管理多台服务器这是 Windows 系列操作系统内置的自动化管理工具。Server Manager是一个 GUI 工具,它是每台 Windows Server 都内置的管理工具。它可以添加多台服务器,对目标服务器...显示全部

针对Windows系统的自动化运维管理,一般有这几种:

  1. 通过 Server Manager、System Center 批量管理多台服务器
    这是 Windows 系列操作系统内置的自动化管理工具。Server Manager是一个 GUI 工具,它是每台 Windows Server 都内置的管理工具。它可以添加多台服务器,对目标服务器启停 Windows 功能(比如 IIS、DNS 服务等),还可以查看目标服务器的性能状态(CPU、内存使用率),以及日志事件。
    System Center 是微软主推的集群管理产品,它是一套独立出售的产品,提供桌面和 Web 界面,主要包括基础设施装配(比如虚拟机、网络)、自动化与配置(集群脚本编排、密钥存储等)和运维管理(监控与告警)等几个方面。System Center 不仅能管理 Windows Server,还能管理 Linux 服务器。

  2. [Windows 远程管理(WinRM)
    如果上面的工具不够满足需求,还可以利用 Windows 内置的远程管理 API 来自定义开发远程管理和自动化运维工具。

在 Windows 中内置的 PowerShell Remoting 的功能,以及在 PowerShell 5.0 中增加的 PowerShell DSC 自动化脚本编排配置工具,都是基于 WinRM 来实现的。前者提供远程命令行功能,类似于 SSH 连接;后者提供集群化自动化状态管理,类似于 Ansible。在最新的 PowerShell 6 中,也提供基于 SSH 的连接

  1. PowerShell DSC
    PowerShell DSC 是一整套的批量自动化运维的工具,可以用于 Windows 服务器的管理;随着跨平台的 PowerShell 6.0 的运用,也可以用于管理 Linux 服务器。

  2. 第三方的自动化自动化运维工具

本质上,PowerShell DSC 只是一种远程执行 Windows 任务的一种机制,而支持这种机制的工具有很多,比如 Chef,ansible,puppet与 Terraform。这些工具的特点是,都可以按一定的格式指定要在服务器上运行的脚本,所以通常它们可以用来做自动化部署工具,而往往并不能用作运行期的维护工具。如果只是自动化部署,常见的持续集成工具也是可以帮上忙的,比如 Jenkins、GoCD 和 TFS 等。所不同的是,前面这些环境编排工具平台通常提供了体验更好的安装、卸载和配置功能,而后面的持续集成工具则只提供了任务运行和结果展示功能。还有一些专门的“变更管理”软件,把这一过程标准化了,比如 TFS/VSTS Release 功能、Octopus Deploy 等。

  1. 容器化的运维 Windows 容器技术从 [Windows Server 2016 的 1709 版本开始就可以用于生产环境了。简单来说,Windows 容器技术与 Linux 容器在运维技术方面没什么不同,除了容器镜像的大小一般比 Linux 容器要大(Linux 镜像一般 100~500M 大小,Windows 镜像一般 2G~12G 大小),所以整个集群的存储应该要准备更大的存储空间。编排工具方面,流行的 Kubernetes、Docker Swarm 和 Mesos 都支持 Windows 容器的编排,因此按照标准的 Linux 容器平台来进行管理即可。

如果条件允许,当然 Windows Nano Server 是要比 Server Core 要好很多的,毕竟它没有界面可以更轻量级地去以命令行的方式来运维和管理。

收起
 2020-04-28
浏览1186
asdf-asdfasdf-asdf  研究学者 , cloudstone
净水鎏申赞同了此回答
windows如果服务器版本在2012以及以上版本可以部署一个 openssh 组件 通过 ssh直接管理内部再次安装一个 cywin组件  可通过cygwin技术直接调用 shell脚本命令行直接调用方法c:/cygwin64/bin/bash --login c:/temp/test.sh    类似这样  , 当然bash组件会...显示全部

windows如果服务器版本在2012以及以上版本可以部署一个 openssh 组件 通过 ssh直接管理
内部再次安装一个 cywin组件  可通过cygwin技术直接调用 shell脚本
命令行直接调用方法
c:/cygwin64/bin/bash --login c:/temp/test.sh    类似这样  , 当然bash组件会随cygwin一起部署
如果要调用图形页面方式的模块  实施起来的确有点麻烦, 需要参考各个软件的 启动参数 进行配置

收起
 2020-05-08
浏览1035
leo_wynleo_wyn  商业智能工程师 , Security
当前我们使用 PowerShell 脚本来自动进行服务、机器的启停和权限的回收。可以设置定时任务,来自动完成。显示全部

当前我们使用 PowerShell 脚本来自动进行服务、机器的启停和权限的回收。
可以设置定时任务,来自动完成。

收起
 2020-04-28
浏览1176

提问者

michael1983技术总监, 某证券

问题状态

  • 发布时间:2020-04-28
  • 关注会员:6 人
  • 问题浏览:2576
  • 最近回答:2020-05-08