Offline Installs And Upgrades

LogZilla documentation for Offline Installs And Upgrades

LogZilla supports offline installations and upgrades for air-gapped environments where direct internet access is not available. The offline installation package contains all necessary Docker images and installation scripts, enabling complete LogZilla deployment without external network connectivity.

Important: Offline installations require Docker to be pre-installed on the target system. The offline package does not include Docker itself.

Version Support Policy

  • Supported versions: v6.26.0 and above receive updates, security patches, and technical support.
  • End of Life (EOL): versions prior to v6.26.0 no longer receive updates or support and should be upgraded.

Offline Installation Overview

LogZilla's offline installation system provides:

  • Self-Contained Package: Complete installation bundle with all required Docker images
  • Air-Gap Support: No internet connectivity required on target systems
  • Automated Installation: Streamlined installation process via kickstart script
  • Upgrade Capability: In-place upgrades using offline packages
  • Version Verification: Built-in version checking and validation

Prerequisites

System Requirements

  • Target System: LogZilla server (air-gapped or offline)
  • Download System: Any system with internet access for package download
  • Root Access: Administrative privileges on the LogZilla server
  • Docker: Docker Engine installed and running on target system
  • System Resources: Minimum CPU and RAM requirements as per LogZilla specifications

File Transfer Method

Choose an appropriate method for transferring the offline package:

  • SCP/RSYNC: Secure copy over existing network connections
  • Network Share: Shared storage accessible to both systems
  • Physical Media: USB drives, CD/DVD, or other removable media

Downloading the Offline Package

Web Interface Download (Recommended)

The recommended approach for obtaining the offline package is through the LogZilla license portal:

  1. Access Download Portal:

  2. Package Information:

    • File Format: logzilla-v6.x.y.tar.gz
    • Package Contents: All required Docker images and installation scripts
    • File Size: Typically 2-4 GB depending on version
    • Naming Convention: Version number included in filename
  3. Verify Download:

    • Confirm complete download by checking file size
    • Note the exact filename for use in subsequent commands
    • Verify file integrity if checksums are provided

Package Transfer

Transfer the downloaded package to the offline LogZilla server using one of these methods:

Network Transfer:

bash
# SCP transfer
scp logzilla-v6.x.y.tar.gz user@offline-server:/tmp/

# RSYNC transfer  
rsync -avz logzilla-v6.x.y.tar.gz user@offline-server:/tmp/

Physical Media Transfer:

bash
# Copy to removable media
cp logzilla-v6.x.y.tar.gz /media/usb-drive/
sync && umount /media/usb-drive

Note: Replace logzilla-v6.x.y.tar.gz with the actual filename of the downloaded package throughout this document.

Determining Installation vs Upgrade

Critical Warning: Running a new installation on an existing LogZilla system will destroy all data and configuration. Always verify whether LogZilla is already installed before proceeding.

Check for Existing Installation

Before proceeding with any installation, verify if LogZilla is already installed:

bash
# Check if logzilla command exists
which logzilla

# If logzilla exists, check current version
logzilla version 2>/dev/null

# Check for LogZilla Docker containers
docker ps -a | grep lz_

# Check for LogZilla settings directory
ls -la /etc/logzilla/ 2>/dev/null

Decision Matrix:

  • If logzilla version returns a version number: Use the Upgrade Procedure below
  • If logzilla command does not exist: Use the New Installation Procedure below
  • If unsure: Contact LogZilla support before proceeding

Upgrade Procedure (Existing Systems)

Important: This section is for systems that already have LogZilla installed. If LogZilla is not currently installed, skip to the New Installation section below.

Pre-Upgrade Preparation

System Verification:

bash
# Check current LogZilla version
logzilla version

# Check available disk space for Docker
docker info --format '{{.DockerRootDir}}' | xargs df -h

Backup Recommendations:

  • Create system backup before upgrading
  • Document current configuration settings
  • Note any custom modifications or integrations

Command Line Upgrade Process

  1. Extract Upgrade Package:

    bash
    # Navigate to transfer location
    cd /tmp
    
    # Extract the new version package
    tar xzvf logzilla-v6.x.y.tar.gz
    
  2. Execute Upgrade:

    bash
    # Run upgrade command pointing to extracted directory
    logzilla upgrade --offline-dir /tmp/logzilla-v6.x.y
    
  3. Upgrade Process: The upgrade command automatically:

    • Loads new Docker images from the offline directory
    • Stops existing LogZilla containers in proper sequence
    • Starts new containers with upgraded images
    • Updates system configurations
  4. Verify Upgrade:

    bash
    # Check new version
    logzilla version
    
    # Test web interface accessibility
    curl -X GET http://localhost/api/ping
    

Upgrade Output Example:

text
Loading /tmp/logzilla-v6.x.y/logzilla-runtime:v6.x.y.tar.gz ...
Loading /tmp/logzilla-v6.x.y/postgres:15.2-alpine.tar.gz ...
Starting LogZilla upgrade to 'v6.x.y'
Decommissioning old containers...
Starting new containers...
LogZilla successfully upgraded to 'v6.x.y'

Post-Upgrade Verification

System Health Check:

bash
# Verify version upgrade
logzilla version

# Test log ingestion
logger "Test message after upgrade"

Web Interface Verification:

  1. Access LogZilla web interface
  2. Confirm user authentication works
  3. Verify dashboard functionality
  4. Test search capabilities
  5. Check system settings and configurations

New Installation Procedure (Fresh Systems Only)

Critical: This procedure is only for systems that do not have LogZilla installed. Running this on an existing LogZilla system will destroy all data. Use the Upgrade Procedure above for existing installations.

Post-Installation Setup

After completing the offline installation, the first administrator login triggers a mandatory setup sequence:

  1. Initial Login: Log in with the initial administrator credentials
  2. EULA Acceptance: Accept the End-User License Agreement
  3. Instance Registration: Complete the license registration form with:
    • User Name
    • Company Name
    • Email Address
    • Phone Number
  4. License Retrieval: The system automatically obtains a license based on registration information
  5. Dashboard Access: Access the main LogZilla interface and dashboards

Installation Process

Prerequisites Check:

bash
# Verify Docker is installed and running
docker --version
systemctl status docker

# Ensure sufficient system resources
free -h  # Check available RAM
nproc    # Check CPU cores

# CRITICAL: Verify LogZilla is NOT already installed
logzilla version 2>/dev/null && echo "ERROR: LogZilla already installed! Use upgrade procedure instead."

Installation Steps:

  1. Extract Package:

    bash
    # Navigate to transfer location
    cd /tmp
    
    # Extract the offline package
    tar xzvf logzilla-v6.x.y.tar.gz
    

    This creates a directory named logzilla-v6.x.y containing:

    • Docker image archives (.tar.gz files)
    • Installation script (kickstart.sh)
    • Version information (version.txt)
    • Package manifest
  2. Run Installation Script:

    bash
    # Navigate to extracted directory
    cd logzilla-v6.x.y
    
    # Execute installation with root privileges
    sudo bash kickstart.sh
    
  3. Installation Process: The kickstart.sh script automatically:

    • Verifies system requirements (CPU, RAM, Docker)
    • Loads all Docker images from the package
    • Executes logzilla install --version <version> --offline
    • Configures initial system settings
  4. Post-Installation Setup:

    bash
    # Verify installation
    logzilla version
    

Installation Output Example:

text
Checking system requirements...
✓ CPU cores: 4 (minimum 2 required)
✓ RAM: 8GB (minimum 4GB required)
✓ Docker: 20.10.x (supported version)

Loading Docker images...
✓ logzilla-runtime:v6.x.y
✓ logzilla-front:v6.x.y
✓ postgres:15.2-alpine
✓ redis:6.2.6-alpine

Starting LogZilla installation...
LogZilla successfully installed!

Complete Upgrade Example

This example demonstrates a complete offline upgrade from version 6.28.0 to 6.31.8 in an air-gapped environment.

Pre-Upgrade Status

Check Current Version:

bash
root@logzilla-server:/tmp$ logzilla version
v6.28.0

Verify Air-Gapped Environment:

bash
root@logzilla-server:~$ ping 8.8.8.8
ping: connect: Network is unreachable

Package Extraction

Extract Offline Package:

bash
root@logzilla-server:~$ cd /tmp
root@logzilla-server:/tmp$ tar xzvf logzilla-v6.31.8.tar.gz
logzilla-v6.31.8/
logzilla-v6.31.8/kickstart.sh
logzilla-v6.31.8/library-influxdb:1.8.10-alpine.tar.gz
logzilla-v6.31.8/library-postgres:15.2-alpine.tar.gz
logzilla-v6.31.8/library-redis:6.2.6-alpine.tar.gz
logzilla-v6.31.8/library-telegraf:1.20.4-alpine.tar.gz
logzilla-v6.31.8/logzilla-etcd:v3.5.7.tar.gz
logzilla-v6.31.8/logzilla-front:v6.31.8.tar.gz
logzilla-v6.31.8/logzilla-mailer:v6.31.8.tar.gz
logzilla-v6.31.8/logzilla-runtime:v6.31.8.tar.gz
logzilla-v6.31.8/logzilla-sec:v6.31.8.tar.gz
logzilla-v6.31.8/logzilla-syslogng:v6.31.8.tar.gz

Upgrade Execution

Run Upgrade Command:

bash
root@logzilla-server:/tmp$ logzilla upgrade --offline-dir /tmp/logzilla-v6.31.8

Upgrade Process Output:

text
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/library-influxdb:1.8.10-alpine.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/library-postgres:15.2-alpine.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/library-redis:6.2.6-alpine.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/library-telegraf:1.20.4-alpine.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-etcd:v3.5.7.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-front:v6.31.8.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-mailer:v6.31.8.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-runtime:v6.31.8.tar.gz ...
lz.manager INFO     Assuming version v6.31.8
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-sec:v6.31.8.tar.gz ...
lz.manager INFO     Loading /tmp/logzilla-v6.31.8/logzilla-syslogng:v6.31.8.tar.gz ...

Starting LogZilla upgrade to 'v6.31.8'
lz.setup   INFO     Setup init
lz.docker  INFO     Decommission: queryupdatemodule, front
lz.docker  INFO     Decommission: httpreceiver, celerybeat, queryeventsmodule-1
lz.docker  INFO     Decommission: triggersactionmodule, gunicorn, aggregatesmodule-1
lz.docker  INFO     Decommission: storagemodule-1
lz.docker  INFO     Decommission: logcollector, telegraf, tornado, mailer
lz.docker  INFO     Decommission: syslog
lz.docker  INFO     Decommission: postgres
lz.docker  INFO     Decommission: redis, influxdb
lz.docker  INFO     Decommission: etcd
lz.docker  INFO     Start: etcd
lz.docker  INFO     Start: influxdb, redis
lz.docker  INFO     Start: postgres
lz.containers.postgres INFO     Running postgres v15 migration ...
lz.containers.postgres INFO     Postgres v15 migration finished successfully

Operations to perform:
  Apply all migrations: admin, api, auth, contenttypes, django_celery_beat, sessions
Running migrations:
  No migrations to apply.

lz.setup   INFO     Update group permissions
lz.setup   INFO     Update internal triggers
lz.docker  INFO     Start: syslog
lz.docker  INFO     Start: logcollector, tornado, telegraf, mailer
lz.docker  INFO     Start: storagemodule-1
lz.docker  INFO     Start: triggersactionmodule, celeryworker, dictionarymodule
lz.docker  INFO     Start: celerybeat, httpreceiver, queryeventsmodule-1
lz.docker  INFO     Start: queryupdatemodule, front
lz.docker  INFO     Start: watcher

LogZilla successfully upgraded to 'v6.31.8'

Post-Upgrade

Verify New Version:

bash
root@logzilla-server:/tmp$ logzilla version
v6.31.8

Test Log Ingestion:

bash
root@logzilla-server:/tmp$ logger "Test message after upgrade"

Then log into the LogZilla web interface and search for Test message after upgrade to verify log ingestion is working correctly.

Troubleshooting

Common Issues

Package Extraction Fails:

bash
# Check file integrity
ls -la logzilla-v6.x.y.tar.gz

# Verify sufficient disk space
df -h /tmp

# Re-extract with verbose output
tar -xzvf logzilla-v6.x.y.tar.gz

Docker Image Loading Issues:

bash
# Check Docker service status
systemctl status docker

# Verify Docker disk space
docker system df

Upgrade Command Fails:

bash
# Verify offline directory path
ls -la /tmp/logzilla-v6.x.y/

# Check system resources
free -h && df -h

Post-Upgrade Issues:

bash
# Check service logs
logzilla logs --tail 50

# Restart services if needed
logzilla restart
Offline Installs And Upgrades | LogZilla Documentation