Pb KTP

De ce que je comprends, le fichier à traiter doit être un fichier .lis dans \\fanny.faiveleytransport.local\splora\o816\fic

le fichier .txt (avec le même nom) dans \\eve.faiveleytransport.local\services\Treso\KTP\Paiements_Qualiac_a_emettre sert pour déclencher le traitement Vtom.

donc j’ai renommé toto.txt en toto.lis \\fanny.faiveleytransport.local\splora\o816\fic
et j’ai copier le fichier toto.txt dans \\eve.faiveleytransport.local\services\Treso\KTP\Paiements_Qualiac_a_emettre Le traitement s’est déclenché.


Start agent Vtom remote

Créer une alarme pour détecter sue l’agent est tombé.

Monter une clé ssh entre wctsrv0011 (Vtom serveur) et le poste client à redémarrer (vldtb04x) pour ne pas avoir à saisir le pwd.

Exécuter le script (qui doit se trouver sur le poste client Vtom) : ssh root@vldtb04x « sh /exploit/scripts/vtom_start_vtom_zabbix.sh »

cat  /exploit/scripts/vtom_start_vtom_zabbix.sh 

#!/bin/bash
# Start agent Vtom
. /opt/vtom/admin/vtom_init.ksh
/opt/vtom/admin/start_client
ps fax |grep bdaemon

# Start agent zabbix
sh /etc/init.d/zabbix_agent_start.sh
#ps fax | grep zabbix

setgid setuid vtom erreur stickybit

Warning: Problem at the time of the initialization of the secondary groups.: Operation not permitted
Warning: Error setgid(54321), Operation not permitted.: Operation not permitted
Warning: Error setuid(54321), Operation not permitted.: Operation not permitted

——————-

cd /opt/vtom/abm/bin/

ll bdaemon
-rwxr-xr-x 1 vtom vtom 3208520 Mar 13 09:46 bdaemon

chown root:root bdaemon
chmod 4755 bdaemon

-rwsr-xr-x 1 root root 3208520 Mar 13 09:46 bdaemon

 

 

La Queue Powershell

Alors lancer un Powershell (ps1) via VTom ?

Mission & Galére ?

Rassurez vous , pas du tout .

Il vous suffit de créer un queue dédié pour ce faire (et de la référencer sur votre serveur vtom via votre IHM) :

Je vous conseil de copier une queue wnt existante pour modification cependant voici la queue que je vous propose:

@echo OFF

echo ______________________________________________________________________
 echo Contexte Visual TOM du traitement
 echo.
 echo Machine : %TOM_HOST%
 echo Utilisateur : %TOM_USER%
 echo Script : %TOM_SCRIPT%
 echo Serveur Visual TOM : %TOM_REMOTE_SERVER%
 echo Traitement : %TOM_JOB%
 echo Application : %TOM_APPLICATION%
 echo Environnement : %TOM_ENVIRONMENT%
 echo Job ID : %TOM_JOB_ID%
 echo Mode Execution : %TOM_JOB_EXEC%
 echo Date d’exploitation : %TOM_DATE%
 echo Valeur de la date : %TOM_DATE_VALUE%
 echo Log des erreurs : %TOM_LOG_PATH_E%
 echo Log des sorties : %TOM_LOG_PATH_O%
 echo Action sur les logs : (%TOM_LOG_ACTION%)
 echo Directory des logs : %TOM_LOG_DIR%
 echo _______________________________________________________________________
 echo Debut de l’execution du script …
 date /T
 time /T
 echo _______________________________________________________________________

echo.
 :argloop
 shift
 if « %0″== » » goto argend
 set arg=%arg% %0
 goto argloop
 :argend

call PowerShell.exe -ExecutionPolicy Unrestricted -NonInteractive -File « %TOM_SCRIPT% » %arg%

set RETCODE=%ERRORLEVEL%
 if %RETCODE% equ 0 goto TERMINE
 goto ERREUR

:ERREUR
 %ABM_BIN%\tsend -sE -r%RETCODE% -m »Job en erreur (%RETCODE%) »
 echo _______________________________________________________________________
 echo Fin d’exécution du script
 date /T
 time /T
 echo Exit %RETCODE% donc pas d’acquitement
 echo _______________________________________________________________________
 if not « %TOM_LOG_ACTION% »== » » call Gestlog_wnt.bat
 exit %RETCODE%

:TERMINE
 %ABM_BIN%\tsend -sT -r%RETCODE% -m »Job termine (%RETCODE%) »
 echo _______________________________________________________________________
 echo Fin d’exécution du script
 date /T
 time /T
 echo Exit 0 donc acquitement
 if not « %TOM_LOG_ACTION% »== » » call Gestlog_wnt.bat
 exit 0

Cependant dans certain cas il vous faudra peut-être préciser ou se situe votre programme powershell et par conséquent indiquer après la commance call le chemin du programme powershell :

Exemple :

call C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy Unrestricted -NonInteractive -File « %TOM_SCRIPT% » %arg%

Une fois cette queue implémentée sur l’agent vtom et une fois cette queue implémenté via votre IHM vtom , n’oubliez pas de spécifier à votre job d’utiliser cette nouvelle queue Powershell.

VTOM : La Queue Powershell

runas /user:domain\user putty.exe

Mis en place d’une clé d’authentification sur un serveur windows en utilisant un compte de l’utilisateur différent.

PB :
Je suis connecté au serveur WCTSRV1 (serveur de fichier) en ADMSE et je veux mettre en place une clé d’authentification avec le serveur WCTSRV2 (base oracle) pour le compte de service CPTSVR utilisé par Vtom sur WCTSRV1 .

Je dois lancer putty sur WCTSRV1 en tant que CPTSVR.

C:\Putty>runas /user:domain\CPTSVR putty.exe
Enter the password for domain\CPTSVR:
Attempting to start putty.exe as user « domain\CPTSVR » …

La fenêtre putty s’ouvre (en tant que CPTSVR), je n’ai plus qu’à lancer une  connexion vers WCTSRV2 et valider la clé.

Gestion des paquets

Création d’un paquet

choisir la bonne plateforme : Windows / Linux

[Suivant]

Glisser déposer le fichier à envoyer dans l’arborescence du paquet.

Il faut impérativement envoyer un fichier qui peut être job_ok.sh dans scripts.
Dans l’exemple le fichier job_ok.sh est deposé dans $TOM_HOME/scripts

Il est possible d’exécuter des commandes Pré et/ou Post-installation

Exemple :

#pré-install
if [ -f « $TOM_BIN/tmail » ]
then
mv $TOM_BIN/tmail $TOM_BIN/tmail.old
fi

#post-install
if [ -f « $TOM_BIN/tmail » ]
then
chown vtom:vtom $TOM_BIN/tmail
chmod 755 $TOM_BIN/tmail
fi

Dans l’exemple on a juste ajouter un « df -h »

 puis fermer la fenêtre si tout est OK.

On peut ensuite déployer le paquet sur un (plusieurs) client(s).

Transfert du paquet

choisir le(s) serveur(s) cible.

Puis [Suivant]

Il est possible de planifier le déploiement et /ou décocher des options.

Puis [Suivant]

Lancer le Transfert

Quand le transfert est terminé correctement le statut passe vert.

Suivi des installations.

En cliquant sur l’installation on obtient l’historique des exécutions, logs de déploiement.

Dans le log on trouve le résultat de notre commande df -h exécutée en pré-installation :

Exécution du script de pré-installation.
 stdout> 
 stdout> 
 stdout> 
 stdout> Filesystem Size Used Avail Use% Mounted on
 stdout> /dev/sda2 20G 5.1G 14G 27% /
 stdout> devtmpfs 102G 108K 102G 1% /dev
 stdout> tmpfs 102G 32M 102G 1% /dev/shm
 stdout> /dev/sdb1 2.5T 546G 1.8T 24% /data
 stdout> /dev/sda4 40G 387M 37G 2% /exploit
 stdout> /dev/sda3 40G 18G 21G 47% /soft
 stdout> netfiler1.ft.grp:/TCPRDDISTRIB 190G 104G 87G 55% /soft/distrib
Script de pré-installation exécuté avec succes.

 

nombre de process insuffisant

Pb Vtom : Error setuid(500), Resource temporarily unavailable

Le user Vtom passé dans le job n’est pas pris en compte.

PDTB9
root 9316 0.0 0.0 6808 1308 pts/3 S 10:59 0:00 /opt/vtom/abm/bin/bdaemon
root 14882 0.0 0.0 108248 1500 pts/3 S 13:17 0:00 \_ -bash /opt/vtom/admin/tom_submit.bash
root 14898 0.0 0.0 108248 620 pts/3 S 13:17 0:00 \_ -bash /opt/vtom/admin/tom_submit.bash
root 14899 0.0 0.0 100952 468 pts/3 S 13:17 0:00 \_ sleep 60

PDTB4
root 19864 0.0 0.0 6808 1320 ? S Jun09 0:21 /opt/vtom/abm/bin/bdaemon
ora112 62072 0.0 0.0 108356 1668 ? S 13:18 0:00 \_ -bash /opt/vtom/admin/tom_submit.bash
ora112 62092 0.0 0.0 108356 780 ? S 13:18 0:00 \_ -bash /opt/vtom/admin/tom_submit.bash
ora112 62093 0.0 0.0 100952 468 ? S 13:18 0:00 \_ sleep 120

Le nombre de process max sur la machine est insuffisant (nproc).

Modification du fichier /etc/security/limits.d/90-nproc.conf pour augmenter le nombre de process sur la machine pour tous les users

passage de 1024 à 2048

cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     2048

incomplete startup packet

Message récurent dans le fichier /opt/vtom/serveurs.log

2017-03-29 14:29:07 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:30:32 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:31:51 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:33:29 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:34:47 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:36:06 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:37:26 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet
2017-03-29 14:38:44 CEST [[unknown]@[unknown]] > LOG: incomplete startup packet

L’origine du message vient de zabbix.

Il ne faut pas tester les ports 30007 et 30009

net.tcp.service[tcp,,30007]
net.tcp.service[tcp,,30009]

Mais tester les process

proc.num[,vtom,,/opt/vtom/vtom/bin/vtserver]
proc.num[,vtom,,/opt/vtom/vtom/bin/vtsgbd]

Télédiffusion

Utiliser la télédiffusion.

1) Créer un lot
2)  Lancer la génération de ce lot pour télédiffusion
3) Intégrer le lot (lancer la télédiffusion)
3a) Lancer la simulation
3b) Lancer l’Intégration

1) Créer un lot

teledif1

En haut

– Créer ou dupliquer un lot

Dans la partie gauche
– Faire glisser un ENV
– Éventuellement supprimer de la sélection le(s) objet(s)  non concerné(s). (Clic droit sur l’objet, Traitement, Application)
– Appliquer les règles

Dans la partie Droite
-Créer une transformation (s’applique à un objet (nom du script, machine ..) ou un Alias (Remplacement d’une chaîne de caractère par une autre)
– Faire glisser la règle sur la partie gauche de l’écran

ENREGISTRER le lot.

2)  Lancer la génération de ce lot pour télédiffusion

teledif2

Sur l’onglet Génération
– Sélectionner le lot à traiter
– Clic sur Générer (en haut à droite)
– Cocher le lot à traiter
– Clic sur le bouton Transférer,

teledif3

– Clic sur le bouton Transférer

3) Intégrer le lot (lancer la télédiffusion)

– Cocher le lot à traiter
– Lancer la Simulation
teledif4
– Lancer l(Intégration

teledif5

 

Envoi de mail suite erreur job Vtom.

Windows

set retcode=%ERRORLEVEL%

echo ------------------ Fin Talend -----------------------
echo retcode : %retcode%

if %retcode%==0 goto :FIN

:ERREUR
L:
copy /Y %TOM_LOG_PATH_E% %TOM_LOG_PATH_E%.txt 2>nul
copy /Y %TOM_LOG_PATH_O% %TOM_LOG_PATH_O%.txt 2>nul

echo envoi de mail suite erreur job
%ABM_BIN%/tmail -c %ABM_BIN%/tmail.ini -to %w_dest% -cc %w_cc% -sub "VTOM : ERROR : %TOM_ENVIRONMENT% / %TOM_APPLICATION% / %TOM_JOB% job failed" -msg "ERROR : Job %TOM_JOB% Code retour (%retcode%) en erreur " -att %TOM_LOG_PATH_E%.txt;%TOM_LOG_PATH_O%.txt

:FIN
exit /B %retcode%

====================================================

Linux

err_sh=$?

echo "Valeur err_sh : "$err_sh

echo ""
dt_fin=`date +"%A %d/%m/%Y - %H:%M:%S"`
echo $dt_fin
echo ""

if [ $err_sh -eq 0 ] ; then
echo Job completed : OK
else
${ABM_BIN}/tmail -c ${ABM_BIN}/tmail.ini -to ${1} -cc ${2} -sub "ERROR :$TOM_JOB - ERROR" -msg "
******************* VTOM MESSAGE ERROR ***********************

The scheduler Vtom has completed with error.

Error code : $err_sh

Please verify log file joint.

Best Regards.

******************* END OF VTOM MESSAGE ERROR***********************" -att $TOM_LOG.o\;$TOM_LOG.e
fi
exit $err_sh