22
0
Fork 0

WIP - Travail de re-écriture/mise à jour doc mongodb

This commit is contained in:
Ludovic Poujol 2020-04-07 12:01:08 +02:00
parent 52c96edef6
commit a2e15af93f
1 changed files with 50 additions and 52 deletions

View File

@ -2,49 +2,68 @@
title: Howto MongoDB
---
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
**CETTE DOCUMENTATION EST EN COURS DE RÉVISION....**
* Documentation (2.4) : <https://docs.mongodb.com/v2.4/>
* Référence de configuration (2.4) : <https://docs.mongodb.com/v2.4/reference/configuration-options/>
* Documentation (3.4) : <https://docs.mongodb.com/manual/>
* Référence de configuration (3.4) : <https://docs.mongodb.com/manual/reference/configuration-options/>
* Documentation (4.2) : <https://docs.mongodb.com/manual/>
* Référence de configuration (4.2) : <https://docs.mongodb.com/manual/reference/configuration-options/>
MongoDB est un système de base de données de type NoSQL, orienté dans la gestion de documents.
## Installation
### Paquet Debian stable
### Debian Buster
C'est la verison 2.4 qui est disponible dans les paquets stables de Debian :
A partir de Debian 10 (Buster), MongoDB n'est plus distribué dans les dépôts de Debian.
Il est néanmoins possible d'installé MongoDB 4.2 à partir des dépôts officiels du logiciel
> **Note**: MongoDB ne supporte Debian Buster que depuis sa version 4.2.1, pour utiliser une ancienne version de MongoDB, il est préférable d'utiliser une ancienne version de Debian comme Debian Stretch pour les versions 3.6 et 4.0
~~~
# aptitude install mongodb
~~~
### Paquet de 10Gen
L'éditeur de MongoDB fourni des paquets pour Debian, depuis leur dépôt. La version 3.4 est disponible.
~~~
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
# echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.4 main" >> /etc/apt/sources.list.d/mongodb.list
~~~
Puis :
~~~
# apt install mongodb-org
# echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" >> /etc/apt/sources.list.d/mongodb-org-4.2.list
# wget https://www.mongodb.org/static/pgp/server-4.2.asc -O /etc/apt/trusted.gpg.d/mongo-org-4.2.asc
# apt update && apt install mongodb-org
~~~
Tous les détails sont disponibles sur <https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/>.
## Logrotate
### Debian Stretch
### 3.4
Dans Debian Stretch, MongoDB 3.2 est distribué dans les dépôts Debian.
Il est aussi possible d'installer MongoDB 3.6+ à partir des des dépôts officiels du logiciel
Les paquets fournis par 10Gen n'ont pas de logrotate !
On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongodb`
> **Important**: Bien que les noms de paquets soient différents, les deux versions ne peuvent pas cohabiter ensemble sur un même système !
#### Version Debian (3.2)
~~~
/var/log/mongod.log {
# apt install mongodb
~~~
#### Version mongodb.org (3.6, 4.0 ou 4.2)
Les dépôts mongodb.org proposent les versions 3.6, 4.0 et 4.2 pour Debian Strech.
Exemple ici pour MongoDB 3.6
~~~
# echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" >> /etc/apt/sources.list.d/mongodb-org-3.6.list
# wget https://www.mongodb.org/static/pgp/server-3.6.asc -O /etc/apt/trusted.gpg.d/mongo-org-3.6.asc
# apt update && apt install mongodb-org
~~~
Tous les détails sont disponibles sur <https://docs.mongodb.com/v3.6/tutorial/install-mongodb-on-debian/>.
## Logrotate
### Paquets mongodb.org 3.6+
Les paquets fournis par mongodb.org n'ont pas de logrotate !
On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongod`
~~~
/var/log/mongodb/mongod.log {
daily
missingok
rotate 365
@ -54,49 +73,28 @@ On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongodb`
notifempty
sharedscripts
postrotate
kill -0 $(cat /var/lib/mongodb/mongod.lock) && kill -USR1 $(cat /var/lib/mongodb/mongod.lock)
kill -USR1 $(cat /var/lib/mongodb/mongod.lock)
endscript
}
~~~
Il faut aussi penser à modifier la configuration (`/etc/mongod.conf`) pour forcer le mode _reopen_ :
Il faut aussi penser à modifier la configuration (`/etc/mongod.conf`) pour forcer le mode _reopen_ de la directive `logRotate` :
~~~
systemLog:
destination: file
logRotate: reopen
logAppend: true
path: /var/log/mongod.log
path: /var/log/mongodb/mongod.log
~~~
Il y a tout un chapitre (pas toujours très clair) sur la maière de gérer la rotation de logs : <https://docs.mongodb.com/manual/reference/command/logRotate/>.
> **Note** : Attention, mongodb-org-server 2.4 génère des logs *mongodb.log** mais en 3.2 des logs *mongod.log**
> **Note** : Attention, par défaut mongodb log les requêtes lentes de plus de 100ms. Ça peut générer beaucoup de logs… On pourra les modifier avec [slowOpThresholdMs](https://docs.mongodb.com/manual/reference/configuration-options/#operationProfiling.slowOpThresholdMs).
## Configuration
### 2.4
La configuration de MongoDB se trouve dans le fichier `/etc/mongodb.conf` :
~~~
bind_ip = 127.0.0.1
port = 27017
auth = true
#cpu = true
#verbose = true
#slowms = 42
~~~
ATTENTION : la configuration de MongoDB est *très* spéciale… si vous voulez désactiver les logs verbose
par exemple, il ne faut pas faire _verbose # false_ car _verbose NIMPORTEQUOI_ active les logs verbeux !!
Il faut donc se méfier et suivre la documentation à la lettre…
### 3.4
La configuration de MongoDB se trouve dans le fichier `/etc/mongod.conf` et le format a changé.