目錄

簡介

必要條件

需求

採用元件

背景資訊

問題

解決方案

保留這些更改的程式

驗證

簡介

本文檔介紹在思科策略套件(CPS)群集中設定所需的系統負載平均閾值所需的永久更改。

必要條件

需求

本文件沒有特定需求。

思科建議您瞭解以下主題：

- Linux

- CPS平台和CPS集群架構

- 原則和計費規則功能(PCRF)

- Vi編輯器命令

採用元件

本檔案中的資訊是根據CPS 24.1版本和AlmaLinux 8.8版。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

Linux命令top 中的系統負載值(Load-1、Load-5、Load-15)表示每1分鐘、5分鐘和15分鐘取樣一次的VM中的負載平均值：

[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群集中各個VM中的期望值，從而可以為所配置的閾值生成HighLoad閾值交叉警報。但是，這些VM級更改不是持久的，在重新啟動VM後會還原為預設值。

作為標準過程，要使這些更改具有永續性，請使用CPS安裝指南中Enable Custom Puppet to Configure Deployment部分下定義的過程從Cluster Manager VM修改CPS群集VM木偶檔案。根據VM木偶檔案中的當前配置，這些值無法更改，並已固定為該值：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隻是指示性的。根據需要分配實際值。

保留這些更改的程式

要在puppet檔案中進行這些配置更改，建議使用Enable Custom Puppet to Configure Deployment部分中CPS安裝指南中提到的過程。

參考連結：

- 適用於VMware的CPS安裝指南，版本24.1.0

驗證

要使用新值驗證更改，請從群集管理器虛擬機器運行for循環命令：

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