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.
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