Général:Mise en service vmsqwarebox
Généralités
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 ...
Crontab du user dbsqware unix pour SQWareCentral
Voir le contenu du fichier suivant :
/home/dbsqware/dbSQWare/SQWareCentral/etc/CrontabRef.cfg
Voici la cron classique que l’on met en place sur le user dbsqware :
########################### ## 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'
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
