7,2 Kio
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Zabbix - Installation | Toute la procédure pour mettre en place un serveur Zabbix | true | 2021-10-05T18:59:51.526Z | supervision, zabbix | markdown | 2021-10-05T15:27:25.169Z |
Introduction
Nous allons voir deux méthodes pour l'installation de Zabbix : la première, plus classique, directement sur Debian 11 et la seconde aue je vous conseil avec Docker. La suite des outils lié avec Zabbix se reposera sur l'installation avec la seconde option.
Debian
Installation
L'installation se fera sur une machine Debian 11 avec une base de données MySQL et Apache.
Mettre à jour Debian
sudo apt update && sudo apt upgrade
Ajoutez le dépot Zabbix
wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
sudo dpkg -i zabbix-release_5.4-1+debian11_all.deb
sudo apt update
Installez tous les paquets necessaires pour le serveur Zabbix
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 mariadb-server
Créez la base de données
sudo mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
Pensez à changer le mot de passe
password
! {.is-warning}
Importez le schéma et les données initiales
Vous serez invité à entrer votre mot de passe nouvellement créé.
sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
Configurer la base de données pour le serveur Zabbix
Modifier le fichier /etc/zabbix/zabbix_server.conf
:
DBPassword=password
Pensez à changer le mot de passe
password
! {.is-warning}
Démarrer les processus du serveur et de l'agent Zabbix
Démarrez les processus du serveur et de l'agent Zabbix et faites-les démarrer au démarrage du système.
sudo systemctl restart zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2
Vorte serveur Zabbix est installé ! Il est accessible depuis :
http://ip_or_name/zabbix
{.is-success}
Configuration
Connectez vous sur l'interface web de votre serveur Zabbix
Vérifiez que tous les pré-requis sont bien "OK"
Configurez la connexion à la base de données
Nommez votre serveur Zabbix
Selectionnez le bon fuseau horaire
Vérifier que les informations sont correctes
Terminez l'installation en cliquant sur "Finish"
Connectez vous avec l'identifiant Admin
et le mot de passe zabbix
![image_2021-10-05_200200.png](/images/zabbix/installation/image_2021-10-05_200200.png =500x)
Pensez à changer le mot de passe du compte Admin ! {.is-warning}
Toutes mes félicitations, vous pouvez maintenant superviser votre premier serveur ! {.is-success}
Docker
Vous pouvez déployer rapidement et simplement un serveur Zabbix et sa base de données avec ce docker-compose :
version: '2'
services:
postgres-server: # The Postgres Database Service
image: postgres:12.2
restart: always
container_name: zabbix-db
environment: # Username, password and database name variables
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_DB: zabbix
PG_DATA: /var/lib/postgresql/data/pgdata #data storage
volumes:
- /apps/zabbix/db:/var/lib/postgresql/data
# Facultatif
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
zabbix-server: # The main Zabbix Server Software Service
image: zabbix/zabbix-server-pgsql:ubuntu-5.4-latest
restart: always
container_name: zabbix
environment: # The Postgres database value variable
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_DB: zabbix
ZBX_HISTORYSTORAGETYPES: log,text #Zabbix configuration variables
ZBX_DEBUGLEVEL: 1
ZBX_HOUSEKEEPINGFREQUENCY: 1
ZBX_MAXHOUSEKEEPERDELETE: 5000
ZBX_STARTVMWARECOLLECTORS: 10
ZBX_VMWAREFREQUENCY: 30
ZBX_VMWAREPERFFREQUENCY: 30
ZBX_VMWARECACHESIZE: 16M
ZBX_VMWARETIMEOUT: 10
depends_on:
- postgres-server
ports:
- 10051:10051
volumes: # Volumes for scripts and related files you can add
- /apps/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
# Facultatif
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
zabbix-web: # The main Zabbix web UI or interface
image: zabbix/zabbix-web-nginx-pgsql:ubuntu-5.2-latest
restart: always
container_name: zabbix-web
environment: # Postgre database variables
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_DB: zabbix
ZBX_SERVER_HOST: zabbix-server # Zabbix related and Php variables
ZBX_POSTMAXSIZE: 64M
PHP_TZ: "Europe/Paris"
ZBX_MAXEXECUTIONTIME: 500
depends_on:
- postgres-server
- zabbix-server
# ports: # Port where Zabbix UI is available
# - 8090:8080
# Facultatif
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKIh"
loki-external-labels: service={{.Name}}
labels:
- "traefik.enable=true"
- "traefik.http.routers.zabbix.entrypoints=http"
- "traefik.http.routers.zabbix.rule=Host(`$URL`)"
- "traefik.http.middlewares.zabbix-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.zabbix.middlewares=zabbix-https-redirect"
- "traefik.http.routers.zabbix-secure.entrypoints=https"
- "traefik.http.routers.zabbix-secure.rule=Host(`$URL`)"
- "traefik.http.routers.zabbix-secure.tls=true"
- "traefik.http.routers.zabbix-secure.tls.certresolver=http"
- "traefik.http.services.zabbix-secure.loadbalancer.server.port=8080"
- "traefik.docker.network=proxy"
networks:
proxy:
external:
name: proxy
Pensez à changer dans le docker-compose ou à définir les variables suivantes : DB_PASSWORD, URL_LOKI et URL en fonction de votre installation. {.is-warning}
Votre serveur Zabbix est accessible via l'URL que vous avez configuré dans le docker-compose ! {.is-success}
L'identifiant par défaut est
Admin
et le mot de passe estzabbix
. {.is-info}