Compare commits

..

8 Commits

Author SHA1 Message Date
d16ccae801 maj pour elk-filebeat-cli 2024-01-26 10:04:52 +01:00
5f5aea168c chgt version ELK : 8.11.4 2024-01-26 09:56:04 +01:00
ef5701c5d1 mkvm: hash table pour memoire VM 2024-01-26 09:33:11 +01:00
f74728292b peaufinage README lb 2024-01-26 09:27:29 +01:00
bfdca163f7 ajout README roles lb 2024-01-26 09:23:17 +01:00
cb1b315819 update mkvm.ps1 2024-01-26 08:56:23 +01:00
c086bcdc7f mkvm : gere memoire VM 2024-01-26 00:08:14 +01:00
1134ca261d MAJ role elk ... 2024-01-25 17:11:56 +01:00
13 changed files with 122 additions and 31 deletions

View File

@ -39,7 +39,7 @@ str7="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/dgos
str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip" str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
#METRICBEAT ET FILEBEAT #METRICBEAT ET FILEBEAT
ELKREL=8.11.3 ELKREL=8.11.4
str81="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb" str81="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
str82="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip" str82="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
str83="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip" str83="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"

View File

@ -1 +1 @@
BEATVER: "8.11.5" BEATVER: "8.11.4"

View File

@ -8,6 +8,11 @@
apt: apt:
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
- name: sorie pou debug
fail:
msg: "packet installe"
- name: Changement du fichier de conf - name: Changement du fichier de conf
copy: copy:
src: filebeat.yml src: filebeat.yml

View File

@ -1,9 +1,22 @@
## Principe du rôle elk # Le rôle elk
ELK 8.5.3 ELK Version 8.5.3
Ce rôle permet de créer un serveur ELK pour centraliser les logs et de des métriques pour simplifier la gestion du parc informatique GSB.
Le principe de ce rôle est d'installer docker, les différentes tâches de ce rôle sont de : Ce rôle a pour but d'installer un serveur ELK pour centraliser les logs et les métriques pour simplifier la gestion du parc informatique GSB.
Le rôle **elk** installe **docker**, les différentes tâches de ce rôle sont de :
- Vérifier si ELK est déjà installé, - Vérifier si ELK est déjà installé,
- Importation un docker-compose depuis github, - clonage du depot **devianthony** depuis github,
- Changement la configuration pour passer en version 'basic' - Changement de la configuration pour passer en version 'basic'
- Lancement d'ELK avec docker-compose - Lancement d'ELK avec docker-compose
## Lancement manuel
- depuis le répertoire **nxc** :
````shell
docker compose up setup
docker compose up -d
````

View File

@ -21,7 +21,7 @@
regexp: 'xpack.license.self_generated.type: trial' regexp: 'xpack.license.self_generated.type: trial'
replace: 'xpack.license.self_generated.type: basic' replace: 'xpack.license.self_generated.type: basic'
- name: Execution du fichier docker-compose.yml # - name: Execution du fichier docker-compose.yml
shell: docker compose up -d # shell: docker compose pull
args: # args:
chdir: /root/elk # chdir: /root/elk

10
roles/lb-bd/README.md Normal file
View File

@ -0,0 +1,10 @@
# Role lb-bd
***
Rôle lb-bd pour la mise en place de la base de données du serveur WordPress.
## Tables des matières
1. Que fait le rôle lb-bd ?
## Que fait le rôle lb-bd ?
Ce rôle installe le paquet `mariadb-server` puis créé et configure la base de données nommée **wordpressdb** en ouvrant le port 3306 et en créant l'utilisateur MySQL nommé **wordpressuser** avec le mot de passe **wordpresspasswd**.

View File

@ -4,6 +4,7 @@ Rôle lb-front pour la répartition de charge des serveurs web sur WordPress ave
## Tables des matières ## Tables des matières
1. Que fait le rôle lb-front ? 1. Que fait le rôle lb-front ?
2. Ordre d'installation des serveurs.
## Que fait le rôle lb-front ? ## Que fait le rôle lb-front ?
@ -13,3 +14,9 @@ Le rôle lb-front va installer `haproxy` pour le load balancing/la répartition
le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2. le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2.
le site web est accessibe à l'adresse <http://s-lb.gsb.adm>. le site web est accessibe à l'adresse <http://s-lb.gsb.adm>.
## Ordre d'installation des serveurs.
1. Le serveur s-lb avec haproxy qui va "initialiser" les sous-réseaux dans la DMZ.
2. Le serveur s-lb-bd qui va contenir la base de données WordPress utilisée par les serveurs web.
3. Le serveur s-nas qui va stocker la configuration WordPress et la partager aux serveurs web en NFS. Il va aussi utiliser la base de données sur stockée s-lb-bd.
4. Les serveurs s-web1 et s-web2 qui vont installer Apache2, PHP et afficher le serveur WordPress.

View File

@ -1,3 +1,10 @@
##Partage NFS # Rôle lb-nfs-client
***
Ce rôle sert à installer nfs et à monter le répertoire /home/wordpress du s-nas dans /var/www/html/wordpress sur les serveurs webs. Rôle lb-nfs-client pour l'accès au serveur NFS sur les serveurs lb-web1 et lb-web2.
## Tables des matières
1. Que fait le rôle lb-nfs-client ?
## Que fait le rôle lb-nfs-client ?
Ce rôle sert à installer le paquet `nfs-common` et à monter le répertoire /home/wordpress du s-nas dans /var/www/html/wordpress sur les serveurs webs.

View File

@ -1,10 +1,17 @@
# Role s-nas-server # Role lb-nfs-server
## Installation de nfs-server et mise en oeuvre du partage /home/wordpress ***
Rôle lb-nfs-server pour la mise en place du partage des fichiers de configuration de WordPress.
## Tables des matières
1. Que fait le rôle lb-nfs-server ?
## Que fait le rôle lb-nfs-server ?
Ce rôle : Ce rôle :
* installe **nfs-server** * installe le paquet `nfs-server`
* copie le fichier de configuration **exports** pour exporter le répertoire **/home/wordpress** * copie le fichier de configuration **exports** pour exporter le répertoire **/home/wordpress**
* relance le service **nfs-server** * décompresse WordPress dans **/home/wordpress**
* décompresse wordpress * relance le service `nfs-server`
### Objectif * Configure l'accès de WordPress à la base de données dans le fichier `wp-config.php`
Le répertoire **/home/wordpress** est exporté par **nfs** sur le réseau **n-dmz-db**
Le répertoire **/home/wordpress** est exporté par NFS dans le sous-réseau **n-dmz-db**

View File

@ -1,3 +1,12 @@
##Téléchargement et configuration de WordPress # Rôle lb-web
***
Ce rôle télécharge wordpress depuis s-adm puis configure le fichier wp-config.php pour la situation du gsb. Rôle lb-web pour l'affichage et l'utilisation du site web.
## Tables des matières
1. Que fait le rôle lb-web ?
## Que fait le rôle lb-web ?
Ce rôle télécharge les paquets nécessaires au fonctionnement du site web (`apache2`, `php` et `mariadb-client`) qui permetront aux serveurs web d'accerder a la base de données de WordPress.
Le site web est accessibe à l'adresse http://s-lb.gsb.adm.

View File

@ -81,3 +81,8 @@
name: apache2 name: apache2
state: restarted state: restarted
enabled: yes enabled: yes
- name: 14. Gotify
copy:
src: gotify.sh
dest: /usr/lib/zabbix/alertscripts

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
mkvmrelease="v1.3.2" mkvmrelease="v1.3.3"
ovarelease="2023c" ovarelease="2023c"
ovafogrelease="2024a" ovafogrelease="2024a"
@ -10,10 +10,18 @@ ovafilefog="$HOME/Téléchargements/debian-bullseye-gsb-${ovafogrelease}.ova"
startmode=0 startmode=0
deletemode=0 deletemode=0
declare -A vmMem
vmMem[r-int]=512
vmMem[r-ext]=512
vmMem[s-nas]=512
vmMem[s-infra]=768
vmMem[s-backup]=768
vmMem[s-elk]=3072
usage () { usage () {
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}" echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
echo "$0 : creation VM et parametrage interfaces" echo "$0 : creation VM et parametrage interfaces"
echo "usage : $0 [-r] [-s] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>" echo "usage : $0 [-r] [-s] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-nxc|s-fog>"
echo " option -r : efface VM existante avant creation nouvelle" echo " option -r : efface VM existante avant creation nouvelle"
echo " option -s : start VM apres creation" echo " option -s : start VM apres creation"
exit 1 exit 1
@ -33,6 +41,11 @@ create_vm () {
VBoxManage unregistervm --delete "${nom}" VBoxManage unregistervm --delete "${nom}"
fi fi
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}" vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
if [[ -v vmMem[${nom}] ]]; then
mem=${vmMem[${nom}]}
echo "machine ${nom}: ${mem} ..."
VBoxManage modifyvm "${nom}" --memory "${mem}"
fi
} }
setif () { setif () {

View File

@ -11,12 +11,27 @@ $ovafilefog="$HOME\Downloads\debian-bullseye-gsb-${ovafogrelease}.ova"
$vboxmanage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" $vboxmanage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
$deletemode=0 $deletemode=0
$vmMem = @{
"r-int" = "512"
"r-ext" = "512"
"s-nas" = "512"
"s-infra" = "768"
"s-backup" = "768"
"s-elk" = "3072"
}
#FONCTIONS #FONCTIONS
function create_vm{ param([string]$nomvm) function create_vm{ param([string]$nomvm)
#Importation depuis l'ova
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm" if ($vmMem.ContainsKey($nomvm)) {
Write-Host "Machine $nomvm importée" & "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm" --memory $vmMem[$nomvm]
Write-Host "Machine $nomvm importée"
} else {
#Importation depuis l'ova
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm"
Write-Host "Machine $nomvm importée"
}
} }
function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$reseau) function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$reseau)