Giriş
Günümüzde sistemlerin, uygulamaların ve ağ bileşenlerinin ürettiği logların merkezi olarak toplanması, analiz edilmesi ve gerektiğinde geriye dönük olarak incelenmesi kurumsal BT altyapıları için kritik bir gereksinimdir. Graylog, merkezi log yönetimi ve analizi konusunda açık kaynaklı, ölçeklenebilir ve güçlü bir çözüm sunar.
Bu yazıda, Ubuntu 22.04 LTS işletim sistemi üzerinde Graylog kurulumunun kurumsal bir bakış açısıyla, adım adım nasıl gerçekleştirileceği anlatılmaktadır. Rehber, temel seviyede Linux bilgisine sahip sistem yöneticileri için hazırlanmıştır.
Mimari Bileşenler
Graylog, temel olarak aşağıdaki bileşenlerden oluşur:
- OpenSearch: Log verilerinin indekslenmesi ve aranması için kullanılır.
- MongoDB: Graylog yapılandırmalarını ve metadata bilgilerini tutar.
- Graylog Server: Logların alındığı, işlendiği ve arayüz üzerinden sunulduğu ana bileşendir.
Bu rehberde tüm bileşenler tek bir sunucu üzerinde kurulacaktır. Üretim ortamlarında bileşenlerin ayrıştırılması önerilir.
Ön Gereksinimler
- Ubuntu 22.04 LTS (temiz kurulum önerilir)
- En az 4 GB RAM (8 GB önerilir)
- En az 2 vCPU
- Root veya sudo yetkisi
- Sunucu saatinin doğru ayarlanmış olması
Sistemi güncelleyerek başlayalım:
sudo apt update && sudo apt upgrade -y
Java Kurulumu
Graylog, Java tabanlı bir uygulamadır. Ubuntu 22.04 üzerinde OpenJDK 17 kullanılması önerilir.
sudo apt install -y openjdk-17-jre-headless
Java kurulumunu doğrulayalım:
java -version
MongoDB Kurulumu
Graylog için MongoDB 5.x veya 6.x sürümleri desteklenmektedir.
sudo apt install -y mongodb-org
Servisi başlatıp aktif edelim:
sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod
OpenSearch Kurulumu
Graylog, Elasticsearch yerine artık OpenSearch kullanmaktadır.
OpenSearch Repository Ekleme
curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor -o /usr/share/keyrings/opensearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring.gpg] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch.list
sudo apt update
OpenSearch Kurulumu
sudo apt install -y opensearch
OpenSearch Yapılandırması
/etc/opensearch/opensearch.yml dosyasını düzenleyin:
cluster.name: graylog
node.name: node-1
network.host: 0.0.0.0
discovery.type: single-node
plugins.security.disabled: true
Servisi başlatalım:
sudo systemctl enable opensearch
sudo systemctl start opensearch
Graylog Kurulumu
Graylog Repository Ekleme
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
sudo dpkg -i graylog-5.2-repository_latest.deb
sudo apt update
Graylog Server Kurulumu
sudo apt install -y graylog-server
Graylog Yapılandırması
Admin Şifresi Oluşturma
echo -n 'GucluBirSifre' | sha256sum
Çıktıyı kopyalayın ve /etc/graylog/server/server.conf dosyasında ilgili alanlara ekleyin:
password_secret = RASTGELE_UZUN_BIR_SECRET
root_password_sha2 = OLUSTURULAN_SHA256_DEGERI
http_bind_address = 0.0.0.0:9000
Not:
password_secreten az 64 karakter olmalıdır.
Graylog Servisini Başlatma
sudo systemctl enable graylog-server
sudo systemctl start graylog-server
Web Arayüzüne Erişim
Tarayıcı üzerinden aşağıdaki adres ile Graylog arayüzüne erişebilirsiniz:
http://SUNUCU_IP:9000
Varsayılan kullanıcı adı:
admin
Nginx Reverse Proxy ve SSL Yapılandırması
Kurumsal ortamlarda Graylog web arayüzünün doğrudan internete açılması önerilmez. Bunun yerine Nginx Reverse Proxy kullanılarak erişim kontrolü sağlanmalı ve SSL ile güvenli hale getirilmelidir.
Nginx Kurulumu
sudo apt install -y nginx
Servisin çalıştığını doğrulayın:
sudo systemctl status nginx
Nginx Reverse Proxy Konfigürasyonu
Graylog için yeni bir sanal host oluşturalım:
sudo nano /etc/nginx/sites-available/graylog
server {
listen 80;
server_name graylog.example.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Konfigürasyonu aktif edelim:
sudo ln -s /etc/nginx/sites-available/graylog /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL (Let’s Encrypt) Kurulumu
sudo apt install -y certbot python3-certbot-nginx
SSL sertifikasını oluşturalım:
sudo certbot --nginx -d graylog.example.com
Bu işlem sonrasında Nginx konfigürasyonu otomatik olarak HTTPS’e taşınacaktır.
Graylog HTTP Ayarları
Reverse proxy arkasında sorunsuz çalışması için /etc/graylog/server/server.conf dosyasında aşağıdaki ayarların olduğundan emin olun:
http_bind_address = 127.0.0.1:9000
http_publish_uri = https://graylog.example.com/
Değişikliklerden sonra Graylog servisini yeniden başlatın:
sudo systemctl restart graylog-server
Güvenlik ve Kurumsal Öneriler
- Graylog web arayüzü mutlaka Nginx + SSL arkasında yayınlanmalıdır.
- OpenSearch ve MongoDB servisleri dış ağa kapatılmalıdır.
- Log retention politikaları belirlenmelidir.
- Yetkilendirme ve rol bazlı erişim yapılandırılmalıdır.
Sonuç
Bu rehberde Ubuntu 22.04 LTS üzerinde Graylog kurulumunu kurumsal bir bakış açısıyla ele aldık. Doğru yapılandırılmış bir Graylog sistemi, log yönetimini merkezi hale getirerek operasyonel farkındalığı ve güvenliği önemli ölçüde artırır.
Üretim ortamları için yüksek erişilebilirlik (HA), yedekleme ve performans ayarlarının ayrıca planlanması önerilir.
Kaynaklar
Bu rehber hazırlanırken aşağıdaki resmi dokümantasyonlar ve kaynaklar referans alınmıştır:
- Graylog Resmi Dokümantasyonu – Installation & Configuration
- OpenSearch Resmi Dokümantasyonu
- MongoDB Official Documentation
- Ubuntu Server 22.04 LTS Official Documentation
- Nginx Official Documentation
- Let’s Encrypt & Certbot Documentation









