Compare commits
9 Commits
v0.0.1n-ps
...
v0.0.1v-jc
Author | SHA1 | Date | |
---|---|---|---|
92c6b3eb89 | |||
bce5723e7b | |||
a7315fa4c8 | |||
8cfbefc4dc | |||
0697ad4eec | |||
ae54eb5cb8 | |||
2fe557e70b | |||
877f0a054f | |||
74433d2655 |
43
README.md
43
README.md
@ -1,18 +1,22 @@
|
|||||||
# gsb2024
|
# gsb2024
|
||||||
|
|
||||||
2024-12-19 ps
|
2024-12-21 ps
|
||||||
|
|
||||||
Environnement et playbooks ansible pour le projet GSB 2024
|
Environnement et playbooks ansible pour le projet GSB 2024
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
Prérequis :
|
Prérequis :
|
||||||
* une machine Debian Bookworm
|
* une machine LInux Debian Bookworm ou Windows
|
||||||
* VirtualBox
|
* VirtualBox
|
||||||
|
* git
|
||||||
* fichier machines virtuelles **ova** :
|
* fichier machines virtuelles **ova** :
|
||||||
* **debian-bookworm-gsb-2023c.ova**
|
* **debian-bookworm-gsb-2023c.ova**
|
||||||
* **debian-buster-gsb-2023a.ova**
|
* **debian-buster-gsb-2023a.ova**
|
||||||
|
|
||||||
|
|
||||||
|
## Les machines
|
||||||
|
|
||||||
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||||
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
|
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
|
||||||
* **r-int** : routage, DHCP
|
* **r-int** : routage, DHCP
|
||||||
@ -38,6 +42,7 @@ Prérequis :
|
|||||||
|
|
||||||
## Les playbooks
|
## Les playbooks
|
||||||
|
|
||||||
|
Il existe un playbook ansible pour chaque machine à installer, nommé comme la machine avec l'extension **.yml**
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -49,25 +54,26 @@ et pour **s-fog** :
|
|||||||
* **debian-buster-2023a.ova** (2023-01-06)
|
* **debian-buster-2023a.ova** (2023-01-06)
|
||||||
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
|
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
|
||||||
|
|
||||||
|
Les images **.ova** doivent etre stockées dans le répertoire habituel de téléchargement de l'utilisateur courant.
|
||||||
|
|
||||||
### Création d'une VM
|
### Création d'une VM
|
||||||
|
|
||||||
Récupérer le dépot gsb2024.git avec :
|
Sur la machine physique, récupérer le dépot **gsb2024.git** avec :
|
||||||
```shell
|
```shell
|
||||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||||
cd gsb2024
|
|
||||||
```
|
```
|
||||||
|
|
||||||
On utilisera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créer une VM Virtualbox.
|
On utilisera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créer une VM Virtualbox.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
gsb2024>
|
cd gsb2024/scripts
|
||||||
cd scripts
|
mkvm -r s-adm
|
||||||
$ mkvm -r s-adm
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Machine s-adm
|
### Machine s-adm
|
||||||
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
||||||
|
* démarrer la VM puis ouvir une session
|
||||||
* utiliser le script de renommage comme suit :
|
* utiliser le script de renommage comme suit :
|
||||||
```shell
|
```shell
|
||||||
bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||||
@ -89,20 +95,35 @@ bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
|||||||
|
|
||||||
### Pour chaque machine
|
### Pour chaque machine
|
||||||
|
|
||||||
|
#### Etape 1
|
||||||
|
|
||||||
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||||
- utiliser le script de renommage comme suit : `bash chname <nouveau_nom_de_machine>`
|
- ouvrir une session sur la machine considérée
|
||||||
- redémarrer
|
- renomme la machine soit
|
||||||
|
* en utilisant le script de renommage comme suit :
|
||||||
|
` /root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>`
|
||||||
|
* soit avec :
|
||||||
|
```shell
|
||||||
|
NHOST=mavm
|
||||||
|
sed -i "s/bookworm/${NHOST}/g" /etc/host{s,name}
|
||||||
|
sudo reboot # on redemarre
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Etape 2
|
||||||
|
|
||||||
- utiliser le script **gsb-start** : `bash gsb-start`
|
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||||
- ou sinon:
|
- ou sinon:
|
||||||
```shell
|
```shell
|
||||||
mkdir -p tools/ansible ; cd tools/ansible
|
mkdir -p tools/ansible ; cd tools/ansible
|
||||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||||
cd gsb2024/pre
|
cd gsb2024/pre
|
||||||
export DEPL=192.168.99.99
|
DEPL=192.168.99.99 bash gsbboot
|
||||||
bash gsbboot
|
|
||||||
cd ../..
|
cd ../..
|
||||||
bash pull-config
|
bash pull-config
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Etape 3
|
||||||
|
|
||||||
- redémarrer
|
- redémarrer
|
||||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||||
|
|
||||||
|
124
goss/s-adm.yaml
124
goss/s-adm.yaml
@ -1,72 +1,70 @@
|
|||||||
package:
|
package:
|
||||||
dnsmasq:
|
dnsmasq:
|
||||||
installed: true
|
installed: true
|
||||||
squid:
|
squid:
|
||||||
installed: true
|
installed: true
|
||||||
addr:
|
addr:
|
||||||
tcp://depl.sio.lan:80:
|
tcp://depl.sio.lan:80:
|
||||||
reachable: true
|
reachable: true
|
||||||
timeout: 500
|
timeout: 500
|
||||||
port:
|
port:
|
||||||
tcp:53:
|
tcp:53:
|
||||||
listening: true
|
listening: true
|
||||||
ip:
|
ip:
|
||||||
- 0.0.0.0
|
- 0.0.0.0
|
||||||
tcp6:53:
|
tcp6:53:
|
||||||
listening: true
|
listening: true
|
||||||
ip:
|
ip:
|
||||||
- '::'
|
- '::'
|
||||||
udp:53:
|
udp:53:
|
||||||
listening: true
|
listening: true
|
||||||
ip:
|
ip:
|
||||||
- 0.0.0.0
|
- 0.0.0.0
|
||||||
udp:67:
|
udp:67:
|
||||||
listening: true
|
listening: true
|
||||||
ip:
|
ip:
|
||||||
- 0.0.0.0
|
- 0.0.0.0
|
||||||
udp6:53:
|
udp6:53:
|
||||||
listening: true
|
listening: true
|
||||||
ip:
|
ip:
|
||||||
- '::'
|
- '::'
|
||||||
service:
|
service:
|
||||||
dnsmasq:
|
dnsmasq:
|
||||||
enabled: true
|
enabled: true
|
||||||
running: true
|
running: true
|
||||||
squid:
|
squid:
|
||||||
enabled: true
|
enabled: true
|
||||||
running: true
|
running: true
|
||||||
ssh:
|
ssh:
|
||||||
enabled: true
|
enabled: true
|
||||||
running: true
|
running: true
|
||||||
user:
|
user:
|
||||||
dnsmasq:
|
dnsmasq:
|
||||||
exists: true
|
exists: true
|
||||||
gid: 65534
|
gid: 65534
|
||||||
groups:
|
groups:
|
||||||
- nogroup
|
- nogroup
|
||||||
home: /var/lib/misc
|
home: /var/lib/misc
|
||||||
shell: /usr/sbin/nologin
|
shell: /usr/sbin/nologin
|
||||||
group:
|
|
||||||
ssh:
|
|
||||||
exists: true
|
|
||||||
command:
|
command:
|
||||||
/sbin/sysctl net.ipv4.ip_forward:
|
/sbin/sysctl net.ipv4.ip_forward:
|
||||||
exit-status: 0
|
exit-status: 0
|
||||||
stdout:
|
stdout:
|
||||||
- net.ipv4.ip_forward = 1
|
- net.ipv4.ip_forward = 1
|
||||||
stderr: []
|
stderr: []
|
||||||
timeout: 10000
|
timeout: 10000
|
||||||
dns:
|
dns:
|
||||||
depl.sio.lan:
|
depl.sio.lan:
|
||||||
resolveable: true
|
resolveable: true
|
||||||
timeout: 500
|
resolvable: null
|
||||||
|
timeout: 500
|
||||||
process:
|
process:
|
||||||
dnsmasq:
|
dnsmasq:
|
||||||
running: true
|
running: true
|
||||||
squid:
|
squid:
|
||||||
running: true
|
running: true
|
||||||
interface:
|
interface:
|
||||||
enp0s8:
|
enp0s8:
|
||||||
exists: true
|
exists: true
|
||||||
addrs:
|
addrs:
|
||||||
- 192.168.99.99/24
|
- 192.168.99.99/24
|
||||||
|
83
localhost,
Normal file
83
localhost,
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# Ce fichier viminfo a été généré par Vim 9.0.
|
||||||
|
# Vous pouvez l'éditer, mais soyez prudent.
|
||||||
|
|
||||||
|
# Viminfo version
|
||||||
|
|1,4
|
||||||
|
|
||||||
|
# 'encoding' dans lequel ce fichier a été écrit
|
||||||
|
*encoding=utf-8
|
||||||
|
|
||||||
|
|
||||||
|
# hlsearch on (H) or off (h):
|
||||||
|
~h
|
||||||
|
# Historique ligne de commande (chronologie décroissante) :
|
||||||
|
:q!
|
||||||
|
|2,0,1703236388,,"q!"
|
||||||
|
:x
|
||||||
|
|2,0,1703236381,,"x"
|
||||||
|
:x!
|
||||||
|
|2,0,1703236221,,"x!"
|
||||||
|
|
||||||
|
# Historique chaîne de recherche (chronologie décroissante) :
|
||||||
|
|
||||||
|
# Historique expression (chronologie décroissante) :
|
||||||
|
|
||||||
|
# Historique ligne de saisie (chronologie décroissante) :
|
||||||
|
|
||||||
|
# Historique Ligne de débogage (chronologie décroissante) :
|
||||||
|
|
||||||
|
# Registres :
|
||||||
|
""1 LINE 0
|
||||||
|
connection: local
|
||||||
|
|3,1,1,1,1,0,1703236374," connection: local"
|
||||||
|
"2 LINE 0
|
||||||
|
hosts: localhost
|
||||||
|
|3,0,2,1,1,0,1703236374," hosts: localhost"
|
||||||
|
|
||||||
|
# Marques dans le fichier :
|
||||||
|
'0 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,48,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'1 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,49,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'2 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,50,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'3 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,51,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'4 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,52,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'5 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,53,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'6 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,54,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'7 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,55,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'8 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,56,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
'9 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,57,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
|
||||||
|
# Liste de sauts (le plus récent en premier) :
|
||||||
|
-' 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,9,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,11,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,1,13,1703236018,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
|4,39,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||||
|
|
||||||
|
# Historique des marques dans les fichiers (les plus récentes en premier) :
|
||||||
|
|
||||||
|
> ~/tools/ansible/gsb2024/s-mon.yml
|
||||||
|
* 1703236386 0
|
||||||
|
" 1 2
|
||||||
|
^ 9 10
|
||||||
|
. 2 0
|
||||||
|
+ 10 0
|
||||||
|
+ 2 0
|
@ -5,7 +5,7 @@ prj=gsb2024
|
|||||||
opt=""
|
opt=""
|
||||||
|
|
||||||
if [ -z ${UREP+x} ]; then
|
if [ -z ${UREP+x} ]; then
|
||||||
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dir=/root/tools/ansible
|
dir=/root/tools/ansible
|
||||||
|
16
roles/journald-rcv/README.md
Normal file
16
roles/journald-rcv/README.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||||
|
***
|
||||||
|
|
||||||
|
Ce role a pour objectif de activer le module UDP dans le fichier /etc/rsyslog.conf pour accepter les logs entrants des machines concernées :
|
||||||
|
on décommente la ligne suivante :
|
||||||
|
'module(load="imudp"\)'
|
||||||
|
|
||||||
|
Ensuite le role active l'écoute du module UDP sur le port 514 afin de pouvoir envoyer les logs.
|
||||||
|
on décommente la ligne suivante dans le même fichier que ci-dessus :
|
||||||
|
'input\(type="imudp" port="514"\)'
|
||||||
|
|
||||||
|
pour finir le role va charger le module UDP afin que la machine **s-infra** puissent reçevoir les logs entrants.
|
||||||
|
Pour faire cela on décommente la ligne suivante dans le fichier /etc/systemd/journald.conf :
|
||||||
|
'ForwardToSyslog=yes'
|
||||||
|
|
||||||
|
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
5
roles/journald-rcv/handlers/main.yml
Normal file
5
roles/journald-rcv/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
- name: restart journald
|
||||||
|
service:
|
||||||
|
name: systemd-journald.service
|
||||||
|
state: restarted
|
37
roles/journald-rcv/tasks/main.yml
Normal file
37
roles/journald-rcv/tasks/main.yml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
- name: Installation de systemd-journal-remote
|
||||||
|
apt:
|
||||||
|
name: systemd-journal-remote
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Enable et start systemd-journal-remote.socket
|
||||||
|
systemd:
|
||||||
|
name: systemd-journal-remote.socket
|
||||||
|
enabled: yes
|
||||||
|
state: started
|
||||||
|
|
||||||
|
- name: Copie de systemd-journal-remote.service dans /etc/systemd/system
|
||||||
|
copy:
|
||||||
|
src: /lib/systemd/system/systemd-journal-remote.service
|
||||||
|
dest: /etc/systemd/system/systemd-journal-remote.service
|
||||||
|
remote_src: yes
|
||||||
|
backup: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Modification de systemd-journal-remote.service
|
||||||
|
replace:
|
||||||
|
path: /etc/systemd/system/systemd-journal-remote.service
|
||||||
|
regexp: '--listen-https=-3'
|
||||||
|
replace: '--listen-http=-3'
|
||||||
|
|
||||||
|
- name: Creation /var/log/journal/remote directory
|
||||||
|
file:
|
||||||
|
path: /var/log/journal/remote
|
||||||
|
state: directory
|
||||||
|
owner: systemd-journal-remote
|
||||||
|
|
||||||
|
- name: Redemarrage de systemd
|
||||||
|
systemd:
|
||||||
|
daemon_reload: yes
|
||||||
|
notify:
|
||||||
|
- restart jourald
|
16
roles/journald-snd/README.md
Normal file
16
roles/journald-snd/README.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||||
|
***
|
||||||
|
|
||||||
|
Ce role a pour objectif de activer le module UDP dans le fichier /etc/rsyslog.conf pour accepter les logs entrants des machines concernées :
|
||||||
|
on décommente la ligne suivante :
|
||||||
|
'module(load="imudp"\)'
|
||||||
|
|
||||||
|
Ensuite le role active l'écoute du module UDP sur le port 514 afin de pouvoir envoyer les logs.
|
||||||
|
on décommente la ligne suivante dans le même fichier que ci-dessus :
|
||||||
|
'input\(type="imudp" port="514"\)'
|
||||||
|
|
||||||
|
pour finir le role va charger le module UDP afin que la machine **s-infra** puissent reçevoir les logs entrants.
|
||||||
|
Pour faire cela on décommente la ligne suivante dans le fichier /etc/systemd/journald.conf :
|
||||||
|
'ForwardToSyslog=yes'
|
||||||
|
|
||||||
|
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
10
roles/journald-snd/handlers/main.yml
Normal file
10
roles/journald-snd/handlers/main.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
- name: enable systemd-journal-upload
|
||||||
|
service:
|
||||||
|
name: systemd-journal-upload.service
|
||||||
|
state: enabled
|
||||||
|
|
||||||
|
- name: restart systemd-journal-upload
|
||||||
|
service:
|
||||||
|
name: systemd-journal-upload.service
|
||||||
|
state: restarted
|
31
roles/journald-snd/tasks/main.yml
Normal file
31
roles/journald-snd/tasks/main.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
- name: 1. installe systemd-journal-remote
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- systemd-journal-remote
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: 2. indique l'URL journald distant
|
||||||
|
replace:
|
||||||
|
path: /etc/systemd/journal-upload.conf
|
||||||
|
regexp: '^#URL='
|
||||||
|
replace: 'URL=http://syslog.gsb.adm:19532'
|
||||||
|
|
||||||
|
- name: 3. Just force systemd to reread configs (2.4 and above)
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
daemon_reload: true
|
||||||
|
|
||||||
|
- name: 4. active le service systemd-journald-upload
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: systemd-journal-upload.service
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
|
- name: 5. redemarre systemd-journal-upload.service
|
||||||
|
service:
|
||||||
|
name: systemd-journal-upload.service
|
||||||
|
state: restart
|
||||||
|
#notify:
|
||||||
|
#- enable systemd-journal-upload
|
||||||
|
#- restart systemd-journal-upload
|
||||||
|
|
||||||
|
|
18
roles/zabbix-srv/README.md
Normal file
18
roles/zabbix-srv/README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Rôle nagios
|
||||||
|
***
|
||||||
|
Rôle Nagios pour la supervision des différentes machines
|
||||||
|
|
||||||
|
## Tables des matières
|
||||||
|
1. [Que fait le rôle Zabbix ?]
|
||||||
|
|
||||||
|
|
||||||
|
## Que fait le rôle Nagios ?
|
||||||
|
|
||||||
|
|
||||||
|
### Installation et configuration de Zabbix
|
||||||
|
|
||||||
|
Le rôle Zabbix va installer apache2 pour le serveur web, zabbix-server pour la supervision, zabbix qui sera notre outil de supervision.
|
||||||
|
|
||||||
|
Lors de la première connexion, on indique les identifiants de la BDD avec "zabbix" et "password".
|
||||||
|
|
||||||
|
Pour l'id de Zabbix, c'est "Admin" et "zabbix", à l'adresse "https://s-mon/zabbix".
|
17
roles/zabbix-srv/handlers/main.yml
Normal file
17
roles/zabbix-srv/handlers/main.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
- name: restart zabbix server
|
||||||
|
service:
|
||||||
|
name: zabbix-server
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
|
- name: restart apache2
|
||||||
|
service:
|
||||||
|
name: apache2
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
|
- name: restart zabbix agent
|
||||||
|
service:
|
||||||
|
name: zabbix-agent
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
78
roles/zabbix-srv/tasks/main.yml
Normal file
78
roles/zabbix-srv/tasks/main.yml
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
- name: 1. Récupérer les dépots de zabbix
|
||||||
|
get_url:
|
||||||
|
url: https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb
|
||||||
|
dest: /tmp
|
||||||
|
|
||||||
|
- name: 2. Installer les depots
|
||||||
|
apt:
|
||||||
|
deb: "/tmp/zabbix-release_6.4-1+debian12_all.deb"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: 3. Lancer un apt update
|
||||||
|
apt:
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: 4. Installer les paquets de zabbix et mariadb
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- zabbix-server-mysql
|
||||||
|
- zabbix-frontend-php
|
||||||
|
- zabbix-apache-conf
|
||||||
|
- zabbix-sql-scripts
|
||||||
|
- zabbix-agent
|
||||||
|
- mariadb-server
|
||||||
|
- python3-pymysql
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: 5. s'assurer que mariadb est en fonctionnement
|
||||||
|
service:
|
||||||
|
name: mariadb
|
||||||
|
state: started
|
||||||
|
|
||||||
|
- name: 6. Créer la base de données
|
||||||
|
community.mysql.mysql_db:
|
||||||
|
name: zabbix
|
||||||
|
encoding: utf8mb4
|
||||||
|
collation: utf8mb4_bin
|
||||||
|
state: present
|
||||||
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||||
|
|
||||||
|
- name: 7. Creer un utilisateur et lui attribuer tous les droits
|
||||||
|
community.mysql.mysql_user:
|
||||||
|
name: zabbix
|
||||||
|
password: password
|
||||||
|
priv: '*.*:ALL,GRANT'
|
||||||
|
state: present
|
||||||
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||||
|
|
||||||
|
- name: 8. Modifier une variable pour importer un schema
|
||||||
|
community.mysql.mysql_variables:
|
||||||
|
variable: log_bin_trust_function_creators
|
||||||
|
value: 1
|
||||||
|
mode: global
|
||||||
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||||
|
|
||||||
|
- name: 9. Importer le schema initial
|
||||||
|
shell: zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -ppassword zabbix
|
||||||
|
|
||||||
|
- name: 10. Modifier la variable pour le schema
|
||||||
|
community.mysql.mysql_variables:
|
||||||
|
variable: log_bin_trust_function_creators
|
||||||
|
value: 0
|
||||||
|
mode: global
|
||||||
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||||
|
|
||||||
|
- name: 11. Configurer le mdp de la db
|
||||||
|
replace:
|
||||||
|
path: /etc/zabbix/zabbix_server.conf
|
||||||
|
regexp: '^# DBPassword='
|
||||||
|
replace: 'DBPassword=password'
|
||||||
|
|
||||||
|
- name: 12. Lancer le service zabbix
|
||||||
|
service:
|
||||||
|
name:
|
||||||
|
- zabbix-server
|
||||||
|
- zabbix-agent
|
||||||
|
- apache2
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
@ -8,7 +8,7 @@
|
|||||||
- dns-master
|
- dns-master
|
||||||
- webautoconf
|
- webautoconf
|
||||||
- snmp-agent
|
- snmp-agent
|
||||||
# - syslog-cli
|
- journald-snd
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- post
|
- post
|
||||||
|
|
||||||
|
21
s-mon.yml
21
s-mon.yml
@ -1,16 +1,15 @@
|
|||||||
- name: Nagios
|
---
|
||||||
hosts: localhost
|
- name: Zabbix
|
||||||
connection: local
|
hosts: all
|
||||||
become: yes
|
# become: yes
|
||||||
become_method: sudo
|
# become_method: sudo
|
||||||
become_user: root
|
# become_user: root
|
||||||
vars:
|
# vars:
|
||||||
access: "Restricted Nagios4 Access"
|
# access: "Restricted Nagios4 Access"
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
- goss
|
- goss
|
||||||
- nagios
|
|
||||||
- postfix
|
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- syslog
|
- zabbix-srv
|
||||||
|
- journald-rcv
|
||||||
- post
|
- post
|
||||||
|
Reference in New Issue
Block a user