- Vue d'ensemble (Overview)
- Prérequis
- Installation
- Post-installation
- Migration et mise à niveau
- Mise à niveau d'Automation Suite sur EKS/AKS
- Options de migration :
- Étape 1 : Déplacement des données d'organisation Identity d'installation autonome vers Automation Suite
- Étape 2 : Restauration de la base de données du produit autonome
- Étape 3 : Sauvegarder la base de données de la plate-forme dans Automation Suite
- Étape 4 : Fusion des organisations dans Automation Suite
- Étape 5 : Mise à jour des chaînes de connexion du produit migré
- Étape 6 : migration de la version autonome d’Insights
- Étape 7 : suppression du locataire par défaut
- B) Migration à locataire unique
- Surveillance et alerte
- Administration du cluster
- Effectuer la maintenance de la base de données
- Transfert des journaux d'application vers Splunk
- Configuration spécifique au produit
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- Résolution des problèmes
Transfert des journaux d'application vers Splunk
- This section covers exporting POD logs. For exporting robot logs, see Ochestrator - About Logs.
- Splunk est un outil externe et UiPath® ne saurait vous conseiller sur la façon dont vous devez configurer votre paramètre Splunk. Pour en savoir plus sur le collecteur d’événements HTTP, consultez la documentation officielle de Splunk.
La pile Splunk-Fluentd est une solution de journalisation centralisée qui vous permet de rechercher, d'analyser et de visualiser les données de journal. Fluentd collecte et envoie les journaux à Splunk. Splunk récupère les journaux et vous permet de visualiser et d'analyser les données.
Créer un secret avec un jeton
Créez un secret Kubernetes avec le jeton HTTP Event Collector (HEC) généré dans l'interface Splunk. Ce jeton est utilisé pour l'authentification entre Automation Suite et Splunk.
kubectl -n logging create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
kubectl -n logging create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
ClusterOutput vers Splunk
Un ClusterOutput définit où vos journaux sont envoyés et décrit les détails de configuration et d'authentification.
To configure the ClusterOutput for Splunk, run the following command:
kubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
kubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
Remplacez les attributs entre chevrons < > par les valeurs correspondantes utilisées dans votre configuration Splunk. Pour plus de détails, consultez le tableau suivant :
| Attribut | Description |
|---|---|
splunk_hec_host | L'hôte réseau de votre instance Splunk. Il s'agit généralement de l'adresse IP ou du nom de domaine complet (FQDN) de Splunk. |
splunk_hec_port | Le port Splunk pour la communication client. Ce port diffère généralement du port sur lequel vous lancez le tableau de bord Splunk. Le port HEC conventionnel pour Splunk est 8088 . |
secret_key | La clé secrète du jeton Splunk. Il s'agit du nom de la clé dans le secret que vous avez créé à l'étape précédente, qui contient le jeton HEC Splunk. Le manifeste présenté contient déjà la clé : splunk_hec_token . Si vous n'avez pas modifié la commande pour créer une clé secrète, vous n'avez pas besoin de modifier cette valeur. |
splunk_hec_timekey valeur dans splunkHec.buffer | La fréquence de sortie ou la fréquence à laquelle vous souhaitez transférer les journaux. Nous vous recommandons d'utiliser un intervalle de 30 secondes ( 30s ). |
protocol | Le protocole de l'URL. Les valeurs valides sont http et https . Vous devez utiliser le protocole HTTPS si la communication SSL est activée sur Splunk. |
splunk_hec_index | L'identifiant de l'index Splunk. Utilisé pour indexer les événements. |
splunk_hec_source | Le champ relatif à la source des événements. |
splunk_hec_source_type | Le champ relatif au type de source des événements. |
Pour filtrer les journaux dans Splunk par type d'environnement (dev, test, etc.), utilisez l'attribut source .
L'exemple suivant est basé sur la configuration présentée sur cette page.
ClusterFlow dans FluentD
Utilisez ClusterFlow pour définir :
- les journaux que vous souhaitez collecter et filtrer ;
- le
ClusterOutputvers lequel envoyer les journaux.
To configure ClusterFlow in Fluentd, run the following command:
kubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: logging
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
longhorn.io/job-task: backup
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
kubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: logging
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
longhorn.io/job-task: backup
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
Rechercher dans Splunk
-
Sélectionnez Rechercher et rapports.
-
Recherche basée sur la Source, l'Index et le Type de source (Source Type).
Résolution des problèmes
Si, pour une raison quelconque, les journaux d'application ne sont pas transmis à Splunk, procédez comme suit :
-
Modifiez le niveau du journal Fluentd pour déboguer.
-
Interrogez le pod Fluentd :
kubectl patch logging -n logging logging-operator-logging --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n logging exec -it sts/logging-operator-logging-fluentd cat /fluentd/log/outkubectl patch logging -n logging logging-operator-logging --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n logging exec -it sts/logging-operator-logging-fluentd cat /fluentd/log/outRemarque :Les journaux Fluentd doivent indiquer la cause à laquelle les données ne sont pas transmises à Splunk.
-
Après avoir résolu le problème, restaurez le niveau de journal Fluentd :
kubectl patch logging -n logging logging-operator-logging --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel","value":debug}]'kubectl patch logging -n logging logging-operator-logging --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel","value":debug}]'