今天来讨论下Azure automation的其他应用方式,对于云管理人员来说,肯定是非常希望对云中的资产情况有一个全面的了解的,对于这种需求,Azure Portal其实不失为一个不错的选择,然而,很多情况下,Portal了解的信息往往没有那么全面,而且效率非常低
创新互联主要从事成都做网站、网站设计、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务广州,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108这时候,使用PowerShell进行各种信息的统计就显得更为高效了,可以使用各种脚本统计包括IaaS到PaaS服务的各种信息,如果想要定期的去收集这些信息,还可以结合Azure automation,定义好schedule,然后配合收集信息的脚本,即可实现这样的需求
下边来看具体如何实现,首先在Azure中创建好一个automation account,这个就不演示了,之后更新好我们的module,并且导入好需要的module,常用的包括azurerm.storage, azurerm.network, azurerm.profile等,这部分内容可以看下之前的博客
https://blog.51cto.com/mxyit/2348123
有了这些内容之后,下一步要做的就是创建一个PowerShell的runbook了,收集信息的runbook有很多,包括网上的以及我自己写的,各位可以根据需要使用,我自己写的其实以前也介绍过很多次
使用PowerShell 获取 Azure账户中的用户权限分配情况
https://blog.51cto.com/mxyit/2347819
使用PowerShell快速获取Azure中的SQL Server VM
https://blog.51cto.com/mxyit/2347699
如何使用PowerShell 收集Azure VM Image列表
https://blog.51cto.com/mxyit/2070613
这里我用的是一个外国友人写的脚本,因为涵盖的服务比较多一些
https://gallery.technet.microsoft.com/scriptcenter/Azure-Inventory-using-3db0f658?redir=0
这个脚本本身是会把信息存储在硬盘上的,但是因为在automation中,这部分信息没办法持久化,所以我们可以稍作修改,分两个层面
1. 将收集好的信息存储为csv文件,保存在blob中
2. 将csv文件作为附件发送到邮箱中
为此,我们需要在原来的脚本基础上做一些修改,添加一些内容,以收集虚拟机信息为例,在虚拟机信息收集的脚本后添加以下内容
#Define file name $filename="Virtual_Machine_details_"+ (Get-Date -UFormat '%Y_%m_%d')+".csv" $virtual_machine_object | Export-Csv -path $filename -NoTypeInformation -Force #Define blob info $StorageAccountName = "完成后,将runbook link to schedule
创建一个schedule
之后即可在schedule中看到了
运行后可以看到类似以下的效果,当然,这里只是演示了获取VM的信息,未包含脚本里的其他内容
Blob中存储内容
邮件收到的内容
这样,每天早上来了之后就可以看到Azure的资产信息了!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。