Wiki [Tuto/HowTo] Optimiser Zoneminder

0
26
juin
2017

Introduction

ZoneMinder étant un logiciel assez lourd (consommateur de ressources machine et réseau), il peut être intéressant d'optimiser son bon fonctionnement partout où on le peut. Voici quelques clés non-exhaustives afin de diminuer les lags, d'augmenter la durée de vie de certains composants de l’ordinateur, d'améliorer la sécurité, etc…

Optimisations de Zoneminder

Déplacer le dossier Swap de ZoneMinder

Le dossier swap (tampon) est utilisé lorsqu'un client veut visionner des caméras et plus particulièrement lors des retours en arrière et ralentissements. ZoneMinder vous permet de déplacer son dossier swap (défaut : /tmp/zoneminder).
Déplacer le dossier Swap peut vous permettre de diminuer l'usure de votre espace mémoire principal. Recycler un vieux SSD de plus de 5Go, ou une vieille carte SD, est une très bonne idée :) (en cas de défaillance il n'y aura aucune de perte de données et le remplacement est facile)
Pour déplacer le dossier swap de ZoneMinder :

  1. Connectez-vous en administrateur sur l'interface graphique Web (WEBUI) de votre serveur zoneminder.
  2. Cliquez sur "Options" pour rejoindre le panneau d'administration.
  3. Dans "Chemin" modifiez l'encart "PATH_SWAP".

screenshot-2017_06_16-Zoneminder-changer_path_swap

Changer l'emplacement du stockage de zoneminder

On va partir du principe qu'on veut placer les fichiers de zoneminder (photos, vidéos, sons, etc) dans /media/raidSSD/zoneminder. Adaptez le PATH a ce que vous souhaitez. Si vous ne savez pas comment monter vos disques/ressources distantes, voyez la section Operating System => Memory.
Attention : l'utilisateur de votre serveur web (par défaut : www-data) doit avoir accès en lecture+écriture à ce dossier (/media/raidSSD/zoneminder), et accès en lecture à la racine (/media/raidSSD)

  1. On change le PATH et sauvegarde le dossier de zoneminder au cas ou
sudo mv  /var/cache/zoneminder /var/cache/zoneminderOLD
  1. On copie les dossiers et leurs éventuels contenus vers notre montage dédié
sudo cp -R -p -v /var/cache/zoneminderOLD/* /media/raidSSD/zoneminder
  1. On crée le lien symbolique
sudo ln -s /media/raidSSD/zoneminder /var/cache/zoneminder

_


_

Optimisations du serveur Ubuntu/Debian

Mettre en place HTTP2

ATTENTION : ZoneMinder dysfonctionne parfois avec http2 (lecteur streaming ne fonctionnant plus, ni le chargement de la liste des évents).
HTTP2 permet d'économiser de la bande passante, un peu d'électricité et accélérer la navigation pour les clients. HTTP2 n'a pour le moment aucune incidence pour les caméras, il n'améliore la vitesse qu'entre les clients et le serveur en https avec un certificat trusté.
Pour installer HTTP2 sur votre serveur web apache2 :
(ndlr: à tester sur Debian 9, ne fonctionne pas sur Debian 8)

  • Lancez l'installation
apt-get install software-properties-common
add-apt-repository -y ppa:ondrej/apache2
apt-key update
apt-get update
apt-get --only-upgrade install apache2 -y
a2enmod http2
service apache2 restart
  • Ensuite éditez tout vos fichiers VHOST dans le dossier /etc/apache2/sites-enabled/ et ajoutez la ligne suivante (vous pouvez l'ajouter au tout début)
Protocols h2 http/1.1

Supprimer l'accès aux données serveurs

Les serveurs peuvent fournir des informations compromettantes via divers outils de diagnostiques/maintenance incorporé. On citera entre-autre server-status d'apache2 (exemple) qui ouvre un trou de sécurité. Ces informations sont utilisées par les pirates et agences malveillantes afin de dés-anonymiser des serveurs, en vue de les référencer avant d'éventuelles attaques. Il est fortement conseillé de supprimer l'accès à ses informations.

Faire taire server-status d'apache2 :

sudo a2dismod status
sudo service apache2 restart
  • Entrez ensuite l'hostname de votre web service suivis de /server-status. Le serveur doit vous retourner une erreur 404 page not found.

Faire taire serverTokens :

Ajoutez dans /etc/apache2/apache2.conf

ServerTokens Prod

Faire taire ServerSignature :

Ajoutez dans /etc/apache2/apache2.conf

ServerSignature Off

_


_

Optimisations du réseau

Gigabit Ethernet (RJ45)

La norme Ethernet Gigabit (RJ45) permet de faire transiter au moins 1 Go/s de données sur le réseau. Utiliser des périphériques (switch, carte réseau, routeur) compatible Gigabit Ethernet permet, à débit égal, de consommer moins d'énergie que les périphériques non compatible.

_


_

  • # Consommation électrique Gigabit VS Megabit

    Posté par . Évalué à 1 (+0/-0). Dernière modification le 26/06/17 à 14:38.

    Si quelqu'un est motivé, il faudrait tester "la différence de consommation électrique entre un switch Mégabit et le (quasi) même switch Gigabit pour 1000Go de données transférées (soit entre 10 et 15 jours de fonctionnement d'une caméra HD)".

    Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

  • # HTTP2 problème avec le streaming sur ZoneMinder

    Posté par . Évalué à 1 (+0/-0). Dernière modification le 03/07/17 à 16:57.

    Pour ceux qui liront ce post ultérieurement, checkez la date ;)

    Il semble qu'actuellement la mise en place de HTTP2 amène quelques bugs lorsque vous tentez de visionner vos caméras en streaming :

    • soit les différentes pages de visionnage des caméras restent blanches
    • soit on peut visionner le flux de la caméra mais tout le reste (évènements, boutons pour le contrôle PTZ, etc) ne se télécharge plus (et le zoom ne fonctionne plus non plus)

    N'hésitez pas à tester ce bug puis à aider à le reporter aux Devs de ZoneMinder afin qu'ils puisse le corriger.

    Note : pour vérifier que le problème ne venait pas de la mise en place expliquée dans le tuto, j'ai testé la même conf sur un Nextcloud qui n'a pas buggé.

    Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.