How to Install Graylog on Ubuntu 24.04

Graylog is a powerful log management and analysis platform. This guide will walk you through installing Graylog 5.2 on Ubuntu 24.04, including all required components.

Prerequisites

  • Ubuntu 24.04 server
  • Minimum 4GB RAM (8GB recommended)
  • Root privileges or sudo access
  • Java 17 or newer

Step 1: System Preparation

First, update your system:

sudo apt update
sudo apt upgrade -y

Step 2: Install Java

sudo apt install openjdk-17-jre-headless -y

Verify Java installation:

java -version

Step 3: Install MongoDB

Import MongoDB GPG key and repository:

sudo apt install gnupg curl

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
   sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Install MongoDB:

sudo apt update
sudo apt install mongodb-org -y

sudo systemctl daemon-reload 
sudo systemctl enable mongod
sudo systemctl start mongod

Step 4: Install OpenSearch

Import OpenSearch GPG key and repository:

curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp | \
   sudo gpg -o /usr/share/keyrings/opensearch-archive-keyring.gpg \
   --dearmor

echo "deb [signed-by=/usr/share/keyrings/opensearch-archive-keyring.gpg] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | \
   sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

Install OpenSearch:

sudo apt update
sudo apt install opensearch -y

Configure OpenSearch:

sudo nano /etc/opensearch/opensearch.yml

Update these settings:

cluster.name: graylog
node.name: node-1
network.host: localhost
http.port: 9200
discovery.type: single-node
plugins.security.disabled: true

Start OpenSearch:

sudo systemctl daemon-reload
sudo systemctl enable opensearch
sudo systemctl start opensearch

Step 5: Install Graylog

Add Graylog repository:

wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
sudo dpkg -i graylog-5.2-repository_latest.deb

Install Graylog server:

sudo apt update
sudo apt install graylog-server -y

Step 6: Configure Graylog

Generate password secret:

pwgen -N 1 -s 96

Generate admin password hash:

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Edit Graylog configuration:

sudo nano /etc/graylog/server/server.conf

Update these settings:

password_secret = YOUR_GENERATED_SECRET
root_password_sha2 = YOUR_PASSWORD_HASH
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://localhost:9200
mongodb_uri = mongodb://localhost:27017/graylog

Step 7: Start Graylog

sudo systemctl daemon-reload
sudo systemctl enable graylog-server
sudo systemctl start graylog-server

Step 8: Configure Firewall

sudo ufw allow 9000/tcp
sudo ufw reload

Troubleshooting

Check Service Status

sudo systemctl status mongod
sudo systemctl status opensearch
sudo systemctl status graylog-server

View Logs

sudo tail -f /var/log/graylog-server/server.log
sudo tail -f /var/log/mongodb/mongod.log
sudo tail -f /var/log/opensearch/graylog.log

Common Issues

MongoDB Connection Issues

sudo mongosh
> show dbs
> use graylog
> show collections

OpenSearch Not Starting

sudo sysctl -w vm.max_map_count=262144

Initial Setup

Access Graylog web interface:

http://your-server-ip:9000

Default login credentials:

  • Username: admin
  • Password: (the one you set earlier)

Security Recommendations

  • Change default ports
  • Set up SSL/TLS
  • Configure authentication backends
  • Implement role-based access control
  • Regular security updates

Performance Tuning

MongoDB Optimization

sudo nano /etc/mongod.conf
wiredTiger:
  engineConfig:
    cacheSizeGB: 2

OpenSearch Optimization

sudo nano /etc/opensearch/jvm.options
-Xms2g
-Xmx2g

Maintenance

Backup Configuration

sudo cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf.backup
sudo mongodump --db graylog --out /backup/mongodb/

Update Procedure

sudo apt update
sudo apt upgrade graylog-server

Conclusion

Your Graylog installation is now complete. Remember to:

  • Configure input sources
  • Set up log retention policies
  • Create dashboards and alerts
  • Monitor system resources
  • Regularly backup your data