1.3. Filtrer les journaux d’audit
Il est possible d’utiliser jq ou un autre outil d’analyse JSON pour filtrer les journaux d’audit du serveur API.
La quantité d’informations enregistrées dans les journaux d’audit du serveur API est contrôlée par la stratégie de journal d’audit qui est définie.
La procédure suivante fournit des exemples d’utilisation de jq pour filtrer les journaux d’audit sur le node de plan de contrôle node-1.example.com. Consultez le manuel jq pour obtenir des informations détaillées sur l’utilisation de jq.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- Jq. Vous avez installé jq.
Procédure
Filtrer les journaux d’audit du serveur d’API OpenShift par utilisateur:
oc adm node-logs node-1.example.com \ --path=openshift-apiserver/audit.log \ | jq 'select(.user.username == "myusername")'
$ oc adm node-logs node-1.example.com \ --path=openshift-apiserver/audit.log \ | jq 'select(.user.username == "myusername")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Filtrer les journaux d’audit du serveur API OpenShift par agent utilisateur:
oc adm node-logs node-1.example.com \ --path=openshift-apiserver/audit.log \ | jq 'select(.userAgent == "cluster-version-operator/v0.0.0 (linux/amd64) kubernetes/$Format")'
$ oc adm node-logs node-1.example.com \ --path=openshift-apiserver/audit.log \ | jq 'select(.userAgent == "cluster-version-operator/v0.0.0 (linux/amd64) kubernetes/$Format")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Filtrer les journaux d’audit du serveur API Kubernetes par une certaine version de l’API et ne produit que l’agent utilisateur:
oc adm node-logs node-1.example.com \ --path=kube-apiserver/audit.log \ | jq 'select(.requestURI | startswith("/apis/apiextensions.k8s.io/v1beta1")) | .userAgent'$ oc adm node-logs node-1.example.com \ --path=kube-apiserver/audit.log \ | jq 'select(.requestURI | startswith("/apis/apiextensions.k8s.io/v1beta1")) | .userAgent'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Filtrer les journaux d’audit du serveur OpenShift OAuth API en excluant un verbe:
oc adm node-logs node-1.example.com \ --path=oauth-apiserver/audit.log \ | jq 'select(.verb != "get")'
$ oc adm node-logs node-1.example.com \ --path=oauth-apiserver/audit.log \ | jq 'select(.verb != "get")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Filtrer les journaux d’audit du serveur OpenShift OAuth par des événements qui ont identifié un nom d’utilisateur et qui ont échoué avec une erreur:
oc adm node-logs node-1.example.com \ --path=oauth-server/audit.log \ | jq 'select(.annotations["authentication.openshift.io/username"] != null and .annotations["authentication.openshift.io/decision"] == "error")'
$ oc adm node-logs node-1.example.com \ --path=oauth-server/audit.log \ | jq 'select(.annotations["authentication.openshift.io/username"] != null and .annotations["authentication.openshift.io/decision"] == "error")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow