目录

简介

先决条件

要求

使用的组件

背景信息

问题

解决方案

保留这些更改的程序

确认

简介

本文档介绍在思科策略套件(CPS)群集中设置所需的虚拟机系统负载平均阈值所需的永久更改。

先决条件

要求

本文档没有任何特定的要求。

Cisco 建议您了解以下主题：

- Linux

- CPS平台和CPS集群架构

- 策略和计费规则功能(PCRF)

- Vi编辑器命令

使用的组件

本文档中的信息基于CPS 24.1版本和AlmaLinux 8.8版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

Linux命令top中的系统负载值(Load-1、Load-5、Load-15)表示每1分钟、5分钟和15分钟采样一次的虚拟机的负载平均值：

[root@HOSTNAME-VM01 ~]# top

top - 20:23:21 up 10 days,  2:11,  1 user,  load average: 5.12, 8.67, 8.56

Tasks: 432 total,   2 running, 425 sleeping,   0 stopped,   5 zombie

%Cpu(s):  8.2 us,  3.3 sy,  0.0 ni, 87.2 id,  0.2 wa,  0.9 hi,  0.2 si,  0.0 st

MiB Mem :  63884.1 total,  23587.4 free,  11090.1 used,  29206.5 buff/cache

MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.  48924.5 avail Mem

通过编辑CPS群集中各个VM中的/etc/snmp/snmpd.conf，可以将这三个采样间隔的阈值修改为CPS群集中虚拟机的期望值，以便可以为配置的阈值生成HighLoad阈值交叉警报。但是，这些VM级更改不是永久性的，在VM重新启动后会恢复为默认值。

作为标准过程，要使这些更改具有持久性，请使用CPS安装指南中Enable Custom Puppet to Configure Deployment部分下定义的过程从Cluster Manager VM修改CPS集群VM木偶文件。根据VM puppet文件中的当前配置，这些值无法更改并且已固定为该值：1.5 * vCPU数量（分配给VM）。

本文档中提到了配置更改，以持续地将此默认逻辑修改为所需的HighLoad阈值。

问题

Cluster Manager VM中的CPS群集VM（LB VM、Sessionmgr VM、Pcrfclient VM和QNS VM）傀儡文件位于以下路径：/etc/puppet/modules/qps/templates/etc/snmp:

pcrfclient.snmpd.conf

lb.snmpd.conf

sessionmgr.snmpd.conf

qns.snmpd.conf

默认情况下，它采用静态配置来确定HighLoad阈值：

<% @load_val=`nproc | awk '{res = $1 * 1.5; printf "%d", res}'` %>

load <%= @load_val %> <%= @load_val %> <%= @load_val %>

这表示默认阈值为1.5 *每个时间段的vCPU数量(分配给VM)。因此，由于这种静态配置，不能为所有三个时间段设置所需的平均阈值。

解决方案

修改各VM snmpd.conf傀儡文件中给定的默认静态配置，如下所示：

- 从

<% @load_val=`nproc | awk '{res = $1 * 1.5; printf "%d", res}'` %>

load <%= @load_val %> <%= @load_val %> <%= @load_val %>

- 到

<% @load_val_1 = 55 %>

<% @load_val_2 = 55 %>

<% @load_val_3 = 36 %>

load <%= @load_val_1 %> <%= @load_val_2 %> <%= @load_val_3 %>

注意：这里，值55、55和36仅是指示性的。根据需要分配实际值。

保留这些更改的程序

要在木偶文件中进行这些配置更改，建议使用Enable Custom Puppet to Configure Deployment部分中CPS安装指南中提到的过程。

参考链接：

- 适用于VMware的CPS安装指南，版本24.1.0

确认

要使用新值验证更改，请从集群管理器VM运行for循环命令：

for host in $(hosts-all.sh); do echo $host; ssh $host "cat /etc/snmp/snmpd.conf | grep load"; done