Skip to main content

vRealize Operations Manager 6之Cisco UCS性能监控组件介绍

思科UCS刀片系列是我至今用过最好的刀片系统。无论是硬件、软件还是技术支持都堪称完美。个人推荐在大型虚拟化机房里把思科UCS作为主要设备。思科UCS刀片系统的架构和惠普的完全不同,感觉更像是个网络设备。Fabric Interconnect (FI)模块负责上联口和内部各组件之间的数据交换、IOM负责各刀箱数据路由。架构看起来很复杂,但是在管理大型数据中心时非常强大。说到大型数据中心,比如有 上百个刀箱和刀片服务器,数据要经过FI、IOM、刀片等,问题可能发生在任何层面,大型虚拟化数据中心很难找到问题的根源。UCS Manager有提供类似思科网络交换机一样的计数器功能,可以显示每一个端口的计数情况,但是这个监控工具不会告诉你什么时间、在哪个层面发生了问题 。在测试NetApp存储性能监控组件之前我有幸测试了vRealize Operations Manager 6的Cisco UCS性能监控组件。该组建同样由Blue Medora开发。以下简单介绍一下,只是我的个人观点 。



[do_widget "Language Switcher" wrap=aside title=false]

安装很简单 。下载PAK文件、导入 vROps、指派个序列号、创建实例即可。创建实例时你需要输入思科UCS Manager的管理地址和认证。如果你是做POC或者监控整个环境,我推荐你把Support Autodiscovery选为True,把Protocol选为HTTPS



安装好实例后等待大约30分钟就会出现类似下图的样子,这说明该组件已经正常运行了。



在vROps左面板回到Home,然后到Environment – Cisco UCS System。左侧面板会出现UCS Manager的名字,展开子项包括刀箱、集成的机架式服务器、FI (这个被叫做Switch-A
Switch-B) 等。展开刀箱节点你会看到已经发现的刀片服务器、风扇、电源、IOM等。如果刀片上已经装了ESXi 服务器则刀片节点也是可以展开的。这个组件会在每一个节点上收集性能数据。





该组件有5个出厂设置好的分别用于监控刀箱、刀片服务器、FI、ESXi和刀片关系、UCS事件等的仪表盘。比如刀片服务器仪表盘,如果你选择已经安装了ESXi的刀片服务器,Hypervisor小工具会显示相应的ESXi主机对象,可以方便的看到物理层面和ESXi层面的关系拓扑。



大家也许知道自定义仪表盘的数据其实都来自于测量器(metric这个词实在不知道肿么翻译)。所以我觉得的知道vROps组件都收集哪些测量器是很重要的。UCS Manager提供计数器,但是无法知道什么时候发生的,而该组件可以做到这点。以下截图是在刀片层面收集的主要测量器,基本上我排错时候需要用到的都有了。大概1年多前我在HP刀片上遇到过Pause Frame的问题,困扰了我好几个月,每次一发生就会导致ESXi断网,大量的VM就挂了。当时有问过惠普有没有可以监控Flex-10上联口流量的工具,没有啊!而该组件就可以把流量计数器整合到性能图表里,我觉得这是该组件最大的优点。以下截图就是发生在1月6日晚上10点的一个数据峰值。这种类似的图片可以在任何一个层面看到。非常不错,我可以很容易的发现瓶颈所在!





也许你知道性能图表和收集功能在思科UCS Central里也有。但是如果你比较一下价格,很大的不同。该组件以刀片为许可单位,如果你已经在使用vRealize Operation Manager并且有很多思科UCS刀片系统,我觉得这个组件是一个不错的选择哦。个人来说我很喜欢!

Popular posts from this blog

Connect-NsxtServer shows "Unable to connect to the remote server"

When you run Connect-NsxtServer in the PowerCLI, it may show "Unable to connect to the remote server".  Because the error message is a little bit confusing with other login issues. It's not easy to troubleshoot. The actual reason is the NSX-T uses a self-signed certificate, and the PowerCLI cannot accept the certificate automatically. The fix is super easy. You need to set the PowerCLI to ignore the invalid certificate with the following command: Set-PowerCLIConfiguration -Scope User -InvalidCertificateAction:Ignore -Confirm:$false

Setup Terraform and Ansible for Windows provisionon CentOS

Provisioning Windows machines with Terraform is easy. Configuring Windows machines with Ansible is also not complex. However, it's a little bit challenging to combine them. The following steps are some ideas about handling a Windows machine from provisioning to post configuration without modifying the winrm configuration on the guest operating system. Install required repos for yum. yum -y install https://repo.ius.io/ius-release-el7.rpm yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm yum -y install epel-release yum -y install yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo Install  Terraform . sudo yum -y install terraform Install  Ansible . sudo yum -y install ansible Install  Kerberos . yum -y install gcc python-devel krb5-devel krb5-libs krb5-workstation

How to List All Users in Terraform Cloud

Terraform has a rich API. However, the API documentation does not mention how to list all users. We can leverage the organization membership API and the PowerShell command  Invoke-RestMethod  to get a user list. 1. Create an organization token in Terraform Cloud. 2. Create the token variable ( $Token ) in PowerShell. $Token = "abcde" 3. Create the API parameters variable in PowerShell. $params = @{ Uri = "https://app.terraform.io/api/v2/organizations/ZHENGWU/organization-memberships?page%5Bsize%5D=100" Authentication = "Bearer" Token = $Token ContentType = "application/vnd.api+json" } Note: You need to replace ZHENGWU with your own organization name. And I used 100 at the end of the URI to retrieve the first 100 users. It can be any number.  4. Retrieve the API return and list the user's email address. $Test = Invoke-RestMethod @params $Test.data.attributes.email