GrayLog Nedir ve Nasıl Kurulur?

GRAYLOG NEDİR?

Graylog , Tüm logların merkezi olarak bir arada toplanmasını sağlayan açık kaynak bir yazılımdır. Toplanan loglar üzerinde gerçek zamanlı veya belirlenen zamanlı analiz yapma, görselleştirme alarm üretme vs. işlemler yapılabilir.

Mimarisinde Elasticsearch ve Mongodb barındırdığı için performanslı çalışmaktadır. Open Source bir üründür ve istenirse ücretli versiyonu da bulunmaktadır.

Bu yazımda GrayLog Ubuntu sunucuya nasıl kurulur kısaca anlatmaya çalışacağım.

GRAYLOG KURULUMU İÇİN HAZIRLIK

  • Ubuntu 20.04 LTS kurulmuş olması
  • Sunucuda internet erişimi olması

Minimum sunucu kurulumu için aşağıdaki paketleri kurmamız gerekiyor.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install apt-transport-https openjdk-17-jre-headless uuid-runtime pwgen

Eğer yukarıdaki işlemde “Unable to locate the package” şeklinde hata alıyor iseniz universe repository eklemek için aşağıdaki komut sırasını kullanabilirsiniz.

sudo add-apt-repository universe
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install apt-transport-https openjdk-17-jre-headless uuid-runtime pwgen

MONGODB KURULUMU

Resmi MongoDB deposu en güncel versiyonu sağladığı için kurulumu kendi deposu üzerinden yapıyoruz.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

MongoDB Servisinin Aktif Edilmesi

Yapılandırmayı değiştirdikten sonra MongoDB yi başlatıyoruz, açılışa ekliyoruz ve çalıştığını doğruluyoruz.

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service
sudo systemctl --type=service --state=active | grep mongod

ELASTICSEARCH KURULUMU

Graylog, Elasticsearch 7.x ile kullanılabiliyor. Open Source versiyonunu aşağıdaki şekilde kuruyoruz.

wget -q https://artifacts.elastic.co/GPG-KEY-elasticsearch -O myKey
sudo apt-key add myKey
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch-oss

Elasticsearch Ayarları Yapılması

/etc/elasticsearch/elasticsearch.yml dosyasına cluster.name: graylog ve action.auto_create_index: false değerlerini eklememiz, eğer bu değerler var ise güncellememiz gerekiyor. Ekleme işlemini aşağıdaki komut ile hızlıca yapabiliriz.

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT

Elasticsearch Servisinin Aktif Edilmesi

Yapılandırmayı değiştirdikten sonra Elasticsearch’ü başlatıyoruz, açılışa ekliyoruz ve çalıştığını doğruluyoruz.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
sudo systemctl --type=service --state=active | grep elasticsearch

GRAYLOG KURULUMU

GrayLog’u aşağıdaki komutlar sayesinde sunucumuza kuruyoruyuz.

wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb
sudo dpkg -i graylog-4.2-repository_latest.deb
sudo apt-get update && sudo apt-get install graylog-server graylog-integrations-plugins

Kurulum yaparken ücretli versiyonda kullanılan graylog-enterprise-plugins ve graylog-enterprise-integrations-plugins paketlerinin kurulumunu yapmadım. İsterseniz bu paketleri de kurabilirsiniz. Kurulum tamamlandıktan sonra server.conf dosyasını düzenlemeye geçiyoruz.

Configuration Dosyasının Düzenlenmesi

GrayLog’un başlatılabilmesi için /etc/graylog/server/server.conf dosyasına aşağıdaki temel ayarların yapılması gerekmektedir.

password_secret ve root_password_sha2 alanlarına şifre hash bilgisi girilmesi

GrayLog kurulduğunda varsayılan kullanıcı adınız admin dir. Bu admin hesabı için SHA2 hash kodunu aşağıdaki komut ile basitce oluşturabilirsiniz. Bu komutu çalıştırdığınızda sizden şifre girmenizi isteyecektir. Bu şifre web arayüze girerken kullanacağımız şifredir. Şifreyi yazıp enter yaptığımızda o şifrenin hash bilgisini bize verecektir. Bu çıktıyı password_secret ve root_password_sha2 alanlarına yazıyoruz.

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
//server.conf Örnek
password_secret = b050b259f4b8ec072d67399f563ca3905c212e6cff
root_password_sha2 = b050b259f4b8ec072d67399f563ca3905c212e6cff

http_bind_address bilgisine sunucunun ip adresinin yazılması

Bu alana yazılan ip adresi ile http kullanarak web arayüzüne erişeceğiz ve tüm client makinler bu ip adresi sayesinde GrayLog sunucusu ile haberleşecektir. Var sayılan olarak 9000 portunu kullanmaktadır.

//server.conf Örnek
# Default: 127.0.0.1:9000
http_bind_address = 172.30.1.20:9000

GrayLog Servisinin Aktif Edilmesi

Yapılandırmayı değiştirdikten sonra GrayLog’u başlatıyoruz, açılışa ekliyoruz ve çalıştığını doğruluyoruz.

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog

GRAYLOG WEB ARAÜZE ERİŞİM

Kurulumlar tamamlandıktan sonra http://makineipadresi:9000 şeklinde GrayLog web arayüzüne erişilebilir.

graylog_admin

KAYNAKLAR

https://docs.graylog.org/docs/ubuntu

https://archivedocs.graylog.org/en/2.4/pages/faq.html#how-can-i-start-an-input-on-a-port-below-1024

You may also like...