云审计操作记录无内容

最近更新时间: 2026-03-13 09:03:00

故障现象

页面无明显报错,没有数据。

故障影响

审计日志无法正常查看。

应急处理

  1. 页面无明显报错,没有数据,一般是支撑es或kakfa异常导致查询不到数据。
#进去pod内 ----租户端举例,运营端相同查询方法
kubectl exec -it -n tce tcloud-cloudaudit-cloudtrail-xxxx
cd /data/log/cloudtrail/detail 
#查看最新日志,是否es相关报错
tail -f daily_2025xxxx.log 

#进去pod内 ----租户端举例,运营端相同查询方法
kubectl exec -it -n tce tcloud-cloudaudit-auditreport-xxxx
cd /data/log/audit 
#查看最新日志,是否有kafka相关报错
tail -f audit_report.logger.log 
  1. 检查es状态、索引。
    租户端
ip=`kubectl get secret -n tce es-cloudaudit -oyaml | grep ipv4 | awk -F ' ' '{print $2}' | base64 -d`
port=`kubectl get secret -n tce es-cloudaudit -oyaml | grep port | awk -F ' ' '{print $2}' | base64 -d`
user=`kubectl get secret -n tce es-cloudaudit -oyaml -oyaml | grep -w user | awk -F ' ' '{print $2}' | base64 -d`
pass=`kubectl get secret -n tce es-cloudaudit -oyaml | grep -w password | awk -F ' ' '{print $2}' | base64 -d`

#查看es集群状态是否正常
curl -u $user:$pass -s http://$ip:$port/_cluster/health?pretty
#查看es集群是否只读
curl -u $user:$pass -s http://$ip:$port/_cluster/settings | python -m json.tool | grep -i read_only
#查看索引
curl -u $user:$pass -s http://$ip:$port/_cat/indices?v | grep traillog_server_log

运营端

ip=`kubectl get secret -n tce es-ocloud-cloudaudit -oyaml | grep ipv4 | awk -F ' ' '{print $2}' | base64 -d`
port=`kubectl get secret -n tce es-ocloud-cloudaudit -oyaml | grep port | awk -F ' ' '{print $2}' | base64 -d`
user=`kubectl get secret -n tce es-ocloud-cloudaudit -oyaml -oyaml | grep -w user | awk -F ' ' '{print $2}' | base64 -d`
pass=`kubectl get secret -n tce es-ocloud-cloudaudit -oyaml | grep -w password | awk -F ' ' '{print $2}' | base64 -d`

#查看es集群状态是否正常
curl -u $user:$pass -s http://$ip:$port/_cluster/health?pretty
#查看es集群是否只读
curl -u $user:$pass -s http://$ip:$port/_cluster/settings | python -m json.tool | grep -i read_only
#查看索引
curl -u $user:$pass -s http://$ip:$port/_cat/indices?v | grep traillog_server_log
  1. es集群正常,出现只读,一般是es集群磁盘满了,需要清理审计索引。
#查看索引
curl -u $user:$pass -s http://$ip:$port/_cat/indices?v | grep traillog_server_log
#清理时间旧的索引
#关闭es只读状态
curl -u $user:$pass  -H "Content-Type:application/json" -XPUT http://$ip:$port/_cluster/settings -d '{
  "persistent": {
    "cluster.blocks.read_only_allow_delete": false
  }
}'
curl -H "Content-Type: application/json" -u $user:$pass -XPUT http://$ip:$port/_all/_settings' -d '{"index":{"blocks":{"read_only_allow_delete":null}}}

#开启批量删除模式吧
curl  -H "Content-Type: application/json" -XPUT http://$ip:$port/_cluster/settings -d '{
      "persistent": {
        "action.destructive_requires_name": false
      }
    }'
#最后删除索引
curl -XDELETE http://$ip:$port/traillog_server_log-2022*
  • 如果es集群状态异常,需要找支撑队列处理es问题。
  • 如果es集群状态正常,没有出现只读,则再检查kafka状态。
  1. 检查kafka状态、topic是否创建。

    1. 参考kafka状态检查方法:
    # 检查kafka实例pod状态
    kubectl get pod -n sso | grep kafka-kafka
    
    # 登录kafka pod内,检查审计服务的topic是否正常创建
    kubectl exec -it -n sso $(kubectl get pod -n sso | grep `kubectl get sb -n tce | grep kafka-cam | grep -v exporter | awk '{print $2}'` | head -n 1 | awk '{print $1}') bash
    unset JMX_PORT
    # 获取zk地址
    zk=$(grep '^zookeeper.connect=' /etc/kafka/server.properties | awk -F= '{print $NF}')
    # 减少控制台日志输出
    export KAFKA_LOG4J_OPTS=-Dlog4j.rootLogger=INFO
    cd /opt/kafka_2.11-1.1.1/bin/
    ./kafka-topics.sh --list --zookeeper $zk | grep -E 'cloudaudit|req_production'
    
    #对比需要创建的kafka topic
    kubectl get sb -n tce   kafka-cam  -ojson | jq .spec.parameters.topicList
    
    kubectl get sb -n tce   kafka-tcenter-ocloud-cam  -ojson | jq .spec.parameters.topicList
    
    • 正常topic
    • 如果kafka状态异常,需要找支撑队列处理kafka问题。
    1. 缺少审计使用的topic,删除审计使用的sb,重建topic,再检查topic是否正常创建。

      kubectl delete sb -n tce kafka-cam/kafka-tcenter-ocloud-cam