Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 174ce5d3c7 | |||
| e1030b5d7b | |||
| def4152059 | |||
| 3e2d811e3a | |||
| 05a16733f8 | |||
| c037a235eb | |||
| 6cce3c4588 | |||
| 6f1f4d399d | |||
| c600239c49 | |||
| 54272ef352 | |||
| defcb58f3a | |||
|
|
7d4aa119fa |
10
Zabbix.md
Normal file
10
Zabbix.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Installation de Zabbix en ligne de commande avec l’aide de la Vagrantfile
|
||||||
|
|
||||||
|
On installe Zabbix à l’aide de la Vagrantfile en ligne de commandes.
|
||||||
|
|
||||||
|
On récupère le paquet avec un `wget`.
|
||||||
|
|
||||||
|
On ajoute les 2 serveurs **prod** et **test** avec les templates **Linux by Agent active**.
|
||||||
|
Les modifications dans un template se répercutent automatiquement sur tous les hôtes liés.
|
||||||
|
|
||||||
|
Nous pouvons ensuite superviser les serveurs de test et de production en termes de performances.
|
||||||
34
config/ap33-test/goss.yaml
Normal file
34
config/ap33-test/goss.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package:
|
||||||
|
docker:
|
||||||
|
installed: true
|
||||||
|
versions:
|
||||||
|
- 1.5-2
|
||||||
|
service:
|
||||||
|
docker:
|
||||||
|
enabled: true
|
||||||
|
running: true
|
||||||
|
group:
|
||||||
|
docker:
|
||||||
|
exists: true
|
||||||
|
gid: 994
|
||||||
|
interface:
|
||||||
|
eth0:
|
||||||
|
exists: true
|
||||||
|
addrs:
|
||||||
|
- 172.16.0.121/24
|
||||||
|
- fe80::be24:11ff:fe0c:c468/64
|
||||||
|
mtu: 1500
|
||||||
|
http:
|
||||||
|
http://ap33-test:8080:
|
||||||
|
status: 200
|
||||||
|
allow-insecure: false
|
||||||
|
no-follow-redirects: false
|
||||||
|
timeout: 10000
|
||||||
|
body:
|
||||||
|
- "payara"
|
||||||
|
http://ap33-test:4848/:
|
||||||
|
status: 200
|
||||||
|
allow-insecure: true
|
||||||
|
no-follow-redirects: false
|
||||||
|
timeout: 10000
|
||||||
|
|
||||||
38
config/ap33-test/payara/docker-compose.yml
Normal file
38
config/ap33-test/payara/docker-compose.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
services:
|
||||||
|
payara:
|
||||||
|
image: payara/server-full:6.2025.9-jdk17
|
||||||
|
container_name: payara
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
- "4848:4848"
|
||||||
|
- "8181:8181"
|
||||||
|
env_file:
|
||||||
|
- "variables.env"
|
||||||
|
#environment:
|
||||||
|
#SCRIPT_DIR: ""
|
||||||
|
# volumes:
|
||||||
|
#- ./data/payara:/opt/payara
|
||||||
|
#- ./payara/apps:/opt/payara/deployments
|
||||||
|
# depends_on:
|
||||||
|
# - db
|
||||||
|
db:
|
||||||
|
image: mariadb
|
||||||
|
container_name: db
|
||||||
|
ports:
|
||||||
|
- "3336:3306"
|
||||||
|
env_file:
|
||||||
|
- "variables.env"
|
||||||
|
volumes:
|
||||||
|
- ./data/db_data:/var/lib/mysql
|
||||||
|
- ./init:/docker-entrypoint-initdb.d
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
phpmyadmin:
|
||||||
|
image: phpmyadmin
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8081:80
|
||||||
|
environment:
|
||||||
|
- PMA_ARBITRARY=1
|
||||||
|
env_file:
|
||||||
|
- "variables.env"
|
||||||
80
config/ap33-test/payara/init/bdclient.sql
Normal file
80
config/ap33-test/payara/init/bdclient.sql
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
-- phpMyAdmin SQL Dump
|
||||||
|
-- version 5.2.1deb1+deb12u1
|
||||||
|
-- https://www.phpmyadmin.net/
|
||||||
|
--
|
||||||
|
-- Hôte : localhost:3306
|
||||||
|
-- Généré le : sam. 04 oct. 2025 à 13:39
|
||||||
|
-- Version du serveur : 10.11.14-MariaDB-0+deb12u2
|
||||||
|
-- Version de PHP : 8.2.29
|
||||||
|
|
||||||
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
|
START TRANSACTION;
|
||||||
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Base de données : `bdclient`
|
||||||
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS `bdclient` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||||
|
USE `bdclient`;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Structure de la table `client`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `client` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`nom` varchar(25) NOT NULL,
|
||||||
|
`prenom` varchar(25) NOT NULL,
|
||||||
|
`mail` varchar(25) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Déchargement des données de la table `client`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `client` (`id`, `nom`, `prenom`, `mail`) VALUES
|
||||||
|
(1, 'Thevenot', 'Delphine', ''),
|
||||||
|
(2, 'Sevre', 'Philippe', ''),
|
||||||
|
(3, 'Dupuis', 'JM', ''),
|
||||||
|
(4, 'thevenot', 'Eric', 'eric@gmail.com'),
|
||||||
|
(5, 'chabert', 'thomas', '');
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Structure de la table `salarie`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `salarie` (
|
||||||
|
`idSal` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`login` varchar(25) NOT NULL,
|
||||||
|
`mdp` varchar(25) NOT NULL,
|
||||||
|
`estAdmin` tinyint(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`idSal`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Déchargement des données de la table `salarie`
|
||||||
|
--
|
||||||
|
|
||||||
|
INSERT INTO `salarie` (`idSal`, `login`, `mdp`, `estAdmin`) VALUES
|
||||||
|
(1, 'dthevenot', 'dt', 1),
|
||||||
|
(2, 'mdavid', 'md', 0);
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
DROP USER 'adminBDClient'@'%';
|
||||||
|
CREATE USER 'adminBDClient' IDENTIFIED BY "mdpBDClient";
|
||||||
|
GRANT ALL PRIVILEGES ON bdclient.* TO 'adminBDClient'@'%' WITH GRANT OPTION;
|
||||||
|
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
8
config/ap33-test/payara/variables.env
Normal file
8
config/ap33-test/payara/variables.env
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
MYSQL_DATABASE=bdclient
|
||||||
|
MYSQL_HOST=db
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
MYSQL_USER=adminBDClient
|
||||||
|
MYSQL_PASSWORD=mdpBDClient
|
||||||
|
MYSQL_ROOT_PASSWORD=dbpwd
|
||||||
|
#JDBC_RESOURCE_NAME=jdbc/cesibigapp
|
||||||
|
#JMS_RESOURCE_NAME=jms/cesibigapp
|
||||||
71
docker.md
Normal file
71
docker.md
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Docker
|
||||||
|
|
||||||
|
**Docker** est utilisé pour la virtualisation et le déploiement d’applications sur les serveurs **ap33-prod** et **ap33-test**.
|
||||||
|
Docker permet de lancer des applications dans des **conteneurs légers et isolés**.
|
||||||
|
Docker est également **utilisable derrière un proxy**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration du proxy pour Docker
|
||||||
|
|
||||||
|
Création du répertoire pour la configuration **systemd** de Docker.
|
||||||
|
|
||||||
|
Création du fichier `http-proxy.conf` avec les spécifications du proxy :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Environment="HTTP_PROXY=http://proxy.example.com:3128"
|
||||||
|
Environment="HTTPS_PROXY=https://proxy.example.com:3129"
|
||||||
|
```
|
||||||
|
|
||||||
|
Redémarrage du service Docker après modification :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl restart docker
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Test de l’installation
|
||||||
|
|
||||||
|
Test de l’installation avec la commande :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run hello-world
|
||||||
|
```
|
||||||
|
|
||||||
|
Cette commande confirme que l’installation de Docker est réussie.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation de Payara et phpMyAdmin avec Docker
|
||||||
|
|
||||||
|
Création d’un dossier **docker**, puis d’un sous-dossier **payara** :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir payara
|
||||||
|
```
|
||||||
|
|
||||||
|
Création du fichier `docker-compose.yml` dans le dossier **payara** :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nano docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Le fichier contient :
|
||||||
|
- Le service avec son image et le nom du conteneur.
|
||||||
|
- Les ports utilisés.
|
||||||
|
- Le fichier `env_file` pour les variables d’environnement.
|
||||||
|
- Les volumes reliant les fichiers de l’hôte au conteneur.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration du serveur ap33-test
|
||||||
|
|
||||||
|
Même procédure que pour le serveur **ap33-prod**.
|
||||||
|
|
||||||
|
Ajout d’un service **phpMyAdmin** dans le fichier `docker-compose.yml`, avec :
|
||||||
|
- Son image et le nom du conteneur.
|
||||||
|
- Les ports.
|
||||||
|
- Les variables d’environnement.
|
||||||
|
- Les volumes.
|
||||||
52
goss.md
Normal file
52
goss.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Goss
|
||||||
|
|
||||||
|
**Goss** est un outil utilisé principalement pour tester et valider la configuration des serveurs.
|
||||||
|
C’est un outil léger et rapide qui permet de vérifier que les services, fichiers, paquets, utilisateurs, permissions, ports, etc. sont bien configurés comme attendu sur une machine.
|
||||||
|
|
||||||
|
## Objectif du test
|
||||||
|
|
||||||
|
- Vérifier que Docker est bien installé, activé et en cours d’exécution.
|
||||||
|
- Vérifier que le groupe docker existe.
|
||||||
|
- Vérifier que l’interface réseau eth0 est active et possède une adresse IP.
|
||||||
|
- Tester l’accessibilité des ports HTTP utilisés par le serveur (par exemple Payara sur les ports 8080 et 4848).
|
||||||
|
|
||||||
|
## Création du fichier de configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nano goss.yaml
|
||||||
|
```
|
||||||
|
Cette commande permet de créer ou modifier le fichier de configuration Goss.
|
||||||
|
C’est dans ce fichier que seront enregistrés tous les tests que Goss doit exécuter.
|
||||||
|
|
||||||
|
## Ajouter un test sur l’interface réseau
|
||||||
|
|
||||||
|
```bash
|
||||||
|
goss add interface eth0
|
||||||
|
```
|
||||||
|
Cette commande ajoute un test automatique sur l’interface eth0.
|
||||||
|
Goss vérifiera si elle existe, si elle est activée et si elle possède une adresse IP valide.
|
||||||
|
|
||||||
|
## Ajouter un test sur Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
goss add docker
|
||||||
|
```
|
||||||
|
Cette commande ajoute un test sur Docker.
|
||||||
|
Elle permet de vérifier que le service Docker est bien installé et actif sur la machine.
|
||||||
|
|
||||||
|
## Vérifier la configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
goss v
|
||||||
|
```
|
||||||
|
Cette commande exécute la validation de tous les tests définis dans le fichier goss.yaml.
|
||||||
|
Chaque test renvoie un résultat :
|
||||||
|
- OK si le test est validé,
|
||||||
|
- FAIL si une erreur est détectée.
|
||||||
|
|
||||||
|
## Vérification au format TAP (optionnel)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
goss -f tap v
|
||||||
|
```
|
||||||
|
Le format TAP (Test Anything Protocol) permet d’obtenir un résultat structuré et lisible, souvent utilisé dans les environnements d’intégration continue (CI/CD).
|
||||||
42
logs_journald.md
Normal file
42
logs_journald.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
Log avec Journald
|
||||||
|
|
||||||
|
|
||||||
|
# Journald
|
||||||
|
|
||||||
|
Utilisation de scripts pour l'installation et la configuration des **serveurs émetteurs** et **receveurs**.
|
||||||
|
|
||||||
|
Nous utilisons **HTTP sur le port 19532** ; le protocole **SSL n'est pas utilisé**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration du serveur **receveur**
|
||||||
|
|
||||||
|
- Activation du **socket** pour écouter les connexions entrantes et recevoir les logs distants.
|
||||||
|
- Création d’un **répertoire** où seront stockés les logs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration des serveurs **émetteurs**
|
||||||
|
|
||||||
|
- Activation et configuration de l’**URL du serveur receveur** dans le fichier `/etc/systemd/journal-upload.conf`.
|
||||||
|
- Activation et redémarrage du service `systemd-journal-upload`, qui **envoie les logs au serveur distant via HTTP**.
|
||||||
|
|
||||||
|
|
||||||
|
debian@ap33-prod:~$ logger bonjour
|
||||||
|
on obtient ->
|
||||||
|
|
||||||
|
- debian@ap33-mon:~$ sudo journalctl -D /var/log/journal/remote -f
|
||||||
|
- Oct 10 14:11:39 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 45.140.164.53:123 (1.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:11:49 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 45.13.105.44:123 (2.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:11:58 ap33-prod qemu-ga[355]: info: guest-ping called
|
||||||
|
- Oct 10 14:12:00 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 129.250.35.250:123 (2.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:12:10 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 109.190.177.200:123 (2.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:12:12 ap33-prod qemu-ga[355]: info: guest-ping called
|
||||||
|
- Oct 10 14:12:20 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 162.159.200.1:123 (2.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:12:26 ap33-prod qemu-ga[355]: info: guest-ping called
|
||||||
|
- ct 10 14:12:30 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 5.196.76.84:123 (3.debian.pool.ntp.org).
|
||||||
|
- Oct 10 14:12:37 ap33-prod su[1277]: pam_unix(su:session): session closed for user root
|
||||||
|
- Oct 10 14:12:37 ap33-prod sudo[1275]: pam_unix(sudo:session): session closed for user root
|
||||||
|
- Oct 10 14:12:40 ap33-prod debian[2062]: bonjour
|
||||||
|
- Oct 10 14:12:40 ap33-prod qemu-ga[355]: info: guest-ping called
|
||||||
|
- Oct 10 14:12:41 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 193.52.136.2:123 (3.debian.pool.ntp.org).
|
||||||
6
scriptsauvegarde.sh
Normal file
6
scriptsauvegarde.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
DEST="/backup_dir/backup_files"
|
||||||
|
DAT=$(date '+%u')
|
||||||
|
NAME="ap33_backup_${DAT}.sql.gz"
|
||||||
|
ssh debian@ap33-test "docker exec db mariadb-dump -u adminDBClient -pmdpDBClient bdclient|gzip" > "${NAME}"
|
||||||
|
#find "$DEST" -type f -name "ap33_backup_*.sql.gz" -mtime +6 delete
|
||||||
Reference in New Issue
Block a user