Ligne 208 :
Ligne 208 :
/home/dbsqware/dbSQWare/SQWareProduction/mysql/etc_cust/sqwmys_GlobalVar.cfg
/home/dbsqware/dbSQWare/SQWareProduction/mysql/etc_cust/sqwmys_GlobalVar.cfg
...
...
</pre>
====Crontab du user dbsqware unix pour SQWareCentral====
Voir le contenu du fichier suivant :<br>
/home/dbsqware/dbSQWare/SQWareCentral/etc/CrontabRef.cfg<br>
<br>
Voici la cron classique que l’on met en place sur le user dbsqware :
<pre>
###########################
## mm(0-59) hh(0-23) dd(1-31) MM(0-12) DAY(0-sunday, 1-monday, ...) command
## Generic cron for SQWareCentral (dbSQWare)
############
# Generate all ref files (RefFileInstances,RefFileDb,RefFileCMDB,...)
00 02,08 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GenRef_AllFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GenRef_AllFiles.log'
# Check indicators
00 07 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_CheckIndicators.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_CheckIndicators.log'
# Gather indicators
00 03 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GatherIndicators.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GatherIndicators.log'
# Retry gather indicators if not exists
00 09,12,17 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_GatherIndicators.ksh -Repind -NoMail 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_GatherIndicators_Repind.log'
############
# Retrieve async files from a dir (configure sqwctl_LoopRetrieveAsynchronousFilesGlobal.cfg in cetc)
20 * * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_LoopRetrieveAsynchronousFilesGlobal.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_LoopRetrieveAsynchronousFilesGlobal.log'
# Retrieve async files from all instances
15 * * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_LoopRetrieveAsynchronousFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_LoopRetrieveAsynchronousFiles.log'
45 07,08,09,10,11,12,13,14,15,16,17,18 * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_LoopRetrieveAsynchronousFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_LoopRetrieveAsynchronousFiles.log'
# Exec async files from all instances
30 * * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_LoopExecAsynchronousFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_LoopExecAsynchronousFiles.log'
10,50 07,08,09,10,11,12,13,14,15,16,17,18 * * * ksh -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_LoopExecAsynchronousFiles.ksh 2>&1 >$HOME/admin/SQWareCentral/logs/sqwctl_LoopExecAsynchronousFiles.log'
########################################################################################################################
### Gather Structures (dbSQWare)
############
## Structures Oracle
#00 05 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="Structure";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A GatherStructureOn -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/GatherStructureOracle.log'
## Structures MySQL
#15 05 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="Structure";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mysql -A GatherStructureOn -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/GatherStructureMySQL.log'
## Structures PostgreSQL
#30 05 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="Structure";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T postgres -A GatherStructureOn -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/GatherStructurePostgreSQL.log'
## Structures MsSql
#45 05 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="Structure";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mssql -A GatherStructureOn -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/GatherStructureMsSql.log'
## Structures Sybase
#00 06 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="Structure";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T sybase -A GatherStructureOn -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/GatherStructureSybase.log'
########################################################################################################################
### Specific cron for Oracle (dbSQWare)
############
## Check started instances Oracle
#00 06 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_StartedInstancesOn.ksh -F GenLstUniqueOn -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/StartedInstancesOracle.log'
## Generate Awr reports in distant mode
#10 09 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_GenerateAwrDist.ksh -F sqwora_GenLstInstanceAwrAll.sql -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/ind_ora_awr_dist.log'
## Monitor Awr reports in distant mode
#05 * * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_MonitorHourlyAwrDist.ksh -F sqwora_GenLstInstanceAwrAll.sql -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/ind_ora_awr_monitor_dist.log'
## Generate Statspack reports in distant mode
#10 09 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_GenerateStatspackOld.ksh -F Liste9iStatspack.sql -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/ind_Statspack_awr_old.log'
## Monitor Statspack reports in distant mode
#05 * * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T oracle -A sqwora_MonitorStatspackOld.ksh -F Liste9iStatspack.sql -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/ind_ora_Statspack_monitor_old.log'
########################################################################################################################
### Specific cron for MySql (dbSQWare)
############
## Rotate slow query
#00 07 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mysql -A sqwmys_SlowQuery.ksh -F GenLstInstanceOn -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/mysql_slowquery.log'
## Async Rotate slow query
#00 07 * * * bash -c '. ~/.profile 2>&1 >/dev/null;export gvsqw_JobName="AsyncRotateLog";$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mysql -A sqwmys_SlowQueryAsync.ksh -F GenLstInstanceOn_SpecJob -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/mysql_Async_slowquery.log'
## Rotate error log
#00 08 * * 6 bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mysql -A sqwmys_PurgeAlert.ksh -F GenLstInstanceOn -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/mysql_errorlog.log'
########################################################################################################################
### Specific cron for MsSql (dbSQWare)
############
## Rotate errorlog
#01 23 * * * bash -c '. ~/.profile 2>&1 >/dev/null;$gvsqw_SQWareCentralPath/bin/sqwctl_TrtAuto.ksh -T mssql -A sqwmsq_RotateLog.ksh -F GenLstInstanceOn -Exec 2>&1 >$HOME/admin/SQWareCentral/logs/MssqlRotateLog.log'
########################################################################################################################
### Specific cron for update GLPI (dbSQWare)
############
## Update GLPI MYS_GLPI_PRD
#10 10 * * * bash -c '. ~/.profile 2>&1 >/dev/null;/home/dbsqware/dbSQWare/SQWareProduction/mysql/tools/sqwmys_UpdateGLPI.ksh -I MYS_GLPI_PRD -D glpi -F /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/RefFileCMDB.csv -Dist 2>&1 >$HOME/admin/SQWareCentral/logs/MajGLPI_PRD_PRD'
</pre>
</pre>
Généralités
Warning: Avant toutes choses, n'allez pas plus loin si vous n'avez pas lu la section
"Concepts dbSQWare" !.
Limites de cette section
Cette section vous présente comment mettre en service la VM dbSQWare pré-paramétrée et livrée sous forme d'un ovf.
La vmsqwarebox a pour but de vous faire gagner du temps sur l'installation du socle central.
Retrouvez le lien de téléchargement de la vmsqwarebox sur le site du support, ticket id=95.
Caractéristiques de la VM
La vmsqwarebox est paramétrée avec l'IP 192.168.230.28 par défaut.
Il s'agit d'une Rocky Linux 9.x 64 bits.
Dimensionnement VM:
2 vCPU
4 Go de RAM
2 Go de swap
100 Go de disque
Le mdp de tous les comptes unix et bdd sont à la valeur unique de sqw (pas d'interface graphique !).
Configuration
Système
Modification du nom de la machine (facultatif) :
hostnamectl set-hostname "vmsqwarebox"
Modification de l'IP + DNS :
#Voir les adresses
ip addr
#Modif cartes réseau (IP + DNS)
nmtui
Modification du fichier hosts (conserver l'entree vmsqwarebox avec la bonne IP pour ne pas avoir à tout modifier !) :
vi /etc/hosts
Redémarrer le service réseau :
#CentOS 7
systemctl restart network
Rocky Linux 8 et 9
systemctl restart NetworkManager
Vérifier que tout fonctionne bien avant d'aller plus loin :
#redémarrage de la VM
shutdown -r now
Puis:
Modifier la conf postfix pour quelle soit compatible avec votre environnement
configurer vos DNS pour résoudre l'alias vmsqwarebox ou le nom que vous aurez donné à la VM
vérifiez que l'URL http://vmsqwarebox ou https://vmsqwarebox (le nom que vous aurez donné à la VM) fonctionne
Le user par défaut d'accès à la console est admin et son mdp sqw (n'oubliez pas de le changer !).
Clés ssh
Génération d'une nouvelle clé ssh pour dbsqware
Directement depuis le user root :
su - dbsqware -c "
ssh-keygen -t rsa -N '' -f \$HOME/.ssh/id_rsa
chmod go-w \$HOME
cat \$HOME/.ssh/id_rsa.pub >>\$HOME/.ssh/authorized_keys
chmod 700 \$HOME/.ssh
chmod 600 \$HOME/.ssh/authorized_keys"
Toujours avec le user root :
lvsqw_SshKey_dbsqware=$(cat /home/dbsqware/.ssh/id_rsa.pub)
for lvsqw_User in `echo 'oracle sybase mssql mysql postgres'`
do
su - $lvsqw_User -c "
ssh-keygen -t rsa -N '' -f \$HOME/.ssh/id_rsa
chmod go-w \$HOME
cat \$HOME/.ssh/id_rsa.pub >>\$HOME/.ssh/authorized_keys
echo '$lvsqw_SshKey_dbsqware' >>\$HOME/.ssh/authorized_keys
chmod 700 \$HOME/.ssh
chmod 600 \$HOME/.ssh/authorized_keys"
done
ssh-keygen -t rsa -N '' -f $HOME/.ssh/id_rsa
chmod go-w $HOME
echo "$lvsqw_SshKey_dbsqware" >>$HOME/.ssh/authorized_keys
chmod 700 $HOME/.ssh
chmod 600 $HOME/.ssh/authorized_keys
Vous allez avoir un message pour confirmer l'écrasement de la clé existante, répondre oui. Exemple :
/home/postgres/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Mots de passe + licence
Licence
Effacer les anciens fichiers pour générer la nouvelle clé
Ménage avec dbsqware@vmsqwarebox :
rm -f /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/*.valid
rm -f /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/*.invalid
rm -f /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/*.lic
Génération de la nouvelle clé :
$ dbspatch
$ ls -l /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/*.lic
-rw-r--r-- 1 dbsqware dba 295 Dec 8 17:07 /home/dbsqware/dbSQWare/SQWareCentral/etc_cust/yc2eaada-qaba-abav-msqw-areboxqc5edj.lic
=> Donnez le nom de cette clé au support pour qu'il vous transmette une clé valide pour votre environnement !
Comptes unix
passwd dbsqware
passwd oracle
passwd sybase
passwd mssql
passwd mysql
passwd postgres
=> sécurisez en particulier le compte dbsqware car c'est lui qui va pouvoir se connecter sur les autres en ssh
MariaDB
Le compte d'accès MariaDB (user admin, équivalent à root) :
SET PASSWORD FOR 'mysql'@'localhost' = PASSWORD('newpass');
SET PASSWORD FOR 'mysql'@'%' = PASSWORD('newpass');
Le fichier de conf pour le user unix mysql :
echo "[client]
password = newpass
" > $HOME/.my.cnf
Personnalisation
SQWareRepository
Le compte d'accès MariaDB pour remontée des indicateurs :
SET PASSWORD FOR 'dbsqware_user'@'localhost' = PASSWORD('newpassWeb');
SET PASSWORD FOR 'dbsqware_user'@'%' = PASSWORD('newpassWeb');
Si vous changez le nom de la VM et/ou les passwd etc ..., modifiez le fichier suivant :
/home/dbsqware/dbSQWare/SQWareCentral/etc_cust/.my_SQWareRepository.cnf
SQWareWeb
Remplacez le fichier suivant par votre logo :
/home/dbsqware/dbSQWare/SQWareWeb/custom/images/client.png
Personnaliser l'accès à la db :
vi /home/dbsqware/dbSQWare/SQWareWeb/custom/sqwareweb.ini
[db]
MysqlHost="vmsqwarebox"
MysqlUser="dbsqware_user"
MysqlPass="newpassWeb"
Création d’un user d’admin, par exemple ici pour l'équipe support:
insert into tsqw_AdminLogins (username, lastname, firstname, email, password, verified, is_forweb, created_by)
values ('supportdbSQWare', 'Support', 'dbSQWare','support@dbsqware.com', SHA1('password'), '1', '1', '0');
insert into tsqw_AdminLoginsPrivs (user_id, group_id, created_by, comments)
select usr_id, group_id, dbaname, comments
from
(select id as usr_id from tsqw_AdminLogins where username='supportdbSQWare') gadm,
(select id as group_id from tsqw_AdminGroups where groupname='DBA') gdba,
(select '0' as dbaname, 'Init dbSQWare' as comments from dual) com
;
SQWareProduction
Personnalisation globale a la norme du parc (mail, path, ...) :
/home/dbsqware/dbSQWare/SQWareProduction/generic/etc_cust/sqwgen_GlobalVar.cfg
/home/dbsqware/dbSQWare/SQWareProduction/oracle/etc_cust/sqwora_GlobalVar.cfg
/home/dbsqware/dbSQWare/SQWareProduction/mssql/etc_cust/sqwmsq_GlobalVar.cfg
/home/dbsqware/dbSQWare/SQWareProduction/postgres/etc_cust/sqwpg_GlobalVar.cfg
/home/dbsqware/dbSQWare/SQWareProduction/mysql/etc_cust/sqwmys_GlobalVar.cfg
...
SQWareCentral
Depuis la version 2025.02 vous avez à votre disposition plusieurs prompts que vous pouvez mettre en place par utilisateur.
Documentation disponible ici : https://wikifr.dbsqware.com/index.php?title=G%C3%A9n%C3%A9ral:ChoixPrompt
Accès aux bdd clientes
Configurer les flux FW si nécessaire (voir la section « dbSQWare Concepts » qui explique la matrice des flux):
vmsqwarebox => bdd clientes en SQL (classiquement: 1521 pour Oracle, 1433 pour MsSql, 3306 pour MySQL, ...), si besoin, obligatoire pour mssql
vmsqwarebox => hosts des bdd sous unix (ssh port 22) pour avoir 100% des fonctionnalités (inutile pour mssql)
Voici les prérequis pour les machines sur lesquelles on fera tourner SQWareProduction en local (Unix only) :
- vérifier que bash installé
- vérifier que rsync installé
# il existe des packages pour la plupart des plateformes
# vérifier qu'il est accéssible par le chemin /usr/bin/rsync (faire un lien symbolique si nécessaire)
- vérifier que sendmail/postfix est paramétré et démarré
Soit en résumé (sous RH ou CentOS):
yum install bash rsync
Soit en résumé (sous Debian ou Ubuntu):
apt install bash rsync