简介
本文档介绍对云本地部署平台(CNDP) PCF中看到的Splunk问题进行故障排除的过程。
先决条件
要求
Cisco 建议您了解以下主题:
· 策略控制功能(PCF)
· 5G CNDP
· 多克和库伯内特
使用的组件
本文档中的信息基于以下软件和硬件版本:
· PCF REL_2023.01.2
· Kubernetes v1.24.6
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
在此设置中,CNDP托管PCF。
Splunk Server是Splunk软件平台的核心组件。它是一个可扩展且功能强大的解决方案,用于收集、索引、搜索、分析和可视化机器生成的数据。
Splunk Server作为分布式系统运行,可以处理各种来源的数据,包括日志、事件、度量和其他计算机数据。它提供了收集和存储数据、执行实时索引和搜索以及通过基于Web的用户界面提供见解的基础设施。
PCF Ops-Center for Splunk Connection Down中存在的警报规则
alerts rules group splunk-forwarding-status-change
rule splunk-forwarding-status-change
expression "splunk_log_forwarding_status== 1"
duration 1m
severity major
type "Equipment Alarm"
annotation description
value "splunk-forward-log Down"
注意:您需要验证PCF运营中心中是否存在此规则,以便有效警告Splunk连接问题。
问题
您会看到有关Splunk转发故障的通用执行环境(CEE) Ops-Center的警报。
Command:
cee# show alerts active summary summary
Example:
[pcf01/pcfapp] cee# show alerts active summary
NAME UID SEVERITY STARTS AT DURATION SOURCE SUMMARY
----------------------------------------------------------------------------------------------------------
splunk-forwarding-sta 23df441759f5 major 05-12T22:47:21 43h33m50s pcf-master-3 Unknown
splunk-forwarding-sta 0bf8ad5f91f1 major 05-12T19:07:51 3h20m20s pcf-master-2 Unknown
splunk-forwarding-sta 612f428fa42e major 05-09T06:43:01 70h32m40s pcf-master-2 Unknown
splunk-forwarding-sta 23df441759f5 major 05-12T22:47:21 43h33m50s pcf-master-3 Unknown
故障排除
步骤1:连接到主节点并验证consolidated-logging-0 Pod状态。
Command:
cloud-user@pcf01-master-1$ kubectl get pods -A |grep consolidated-logging-0
Example:
cloud-user@pcf01-master-1:~$ kubectl get pods -A -o wide | grep consolidated-logging-0
NAMESPACE NAME READY STATUS RESTARTS AGE
pcf-pcf01 consolidated-logging-0 1/1 Running 0 2d22h xxx.xxx.x.xxx pcf01-primary-1 <none> <none>
cloud-user@pcf01-master-1:~$
第二步:使用以下命令登录整合的Pod,验证Splunk连接。
要检查是否已在端口8088上建立连接,您可以使用以下命令:
cloud-user@pcf01-master-1:~$ kubectl exec -it -n pcf-pcf01 consolidated-logging-0 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
groups: cannot find name for group ID 303
I have no name!@consolidated-logging-0:/$
I have no name!@consolidated-logging-0:/$
I have no name!@consolidated-logging-0:/$ netstat -anp | grep 8088
I have no name!@consolidated-logging-0:/$
I have no name!@consolidated-logging-0:/$
第三步:如果没有与Splunk的连接,请验证PDF Ops-Center上的配置。
cloud-user@pcf01-master-1:~$ ssh -p 2024 admin@$(kubectl get svc -A -o wide |grep 2024 | grep ops-center-pcf | awk '{ print $4}')
[pcf01/pcfapp] pcf#show running-config| include splunk
[pcf01/pcfapp] pcf# debug splunk hec-url https://xx.xxx.xxx.xx:8088
[pcf01/pcfapp] pcf# debug splunk hec-token d3a6e077-d51b-4669-baab-1ddf19aba325
[pcf01/pcfapp] pcf#
第四步:如果没有建立连接,请重新创建consolidated-logging-0 Pod。
cloud-user@pcf01-master-1:~$ kubectl delete pod -n pcf-pcf01 consolidated-logging-0
第五步:删除后验证consolidated-logging-0Pod。
cloud-user@pcf01-master-1:~$ kubectl get pods -A | grep consolidated-logging-0
第六步:连接到consolidated-loggingPod并完成到端口8088的netstat操作,然后验证是否建立了Splunk连接。
cloud-user@pcf01-master-1:$ kubectl exec -it -n pcf-wscbmpcf consolidated-logging-0 bash
I have no name!@consolidated-logging-0:/$ netstat -anp | grep 8088
tcp 0 0 xxx.xxx.xx.xxx:60808 xx.xxx.xxx.xx:8088 ESTABLISHED 1/java
tcp 0 4957 xxx.xxx.xx.xxx:51044 xx.xxx.xxx.xx:8088 ESTABLISHED 1/java
tcp 0 4963 xxx.xxx.xx.xxx:59298 xx.xxx.xxx.xx:8088 ESTABLISHED 1/java
tcp 0 0 xxx.xxx.xx.xxx:34938 xx.xxx.xxx.xx:8088 ESTABLISHED 1/java
tcp 0 0 xxx.xxx.xx.xxx:43964 xx.xxx.xxx.xx:8088 ESTABLISHED 1/java