/ NASIL YAPILIR

Graylog kurulumu ve kullanımı

Bugün development ve production ortamlarında bizlere büyük yardımı dokunacak olan Graylog'u tanıtacağım.

Graylog, bilgisayar sisteminde aklınıza gelebilen her yerden (programlar, bash scriptleri, syslog vs..) logları almanızı ve bunların takibini yapmanızı sağlayan bir sunucudur. Ayrıca logların takibini yapabilmeniz için de bir web arayüzü sunar. Graylog altyapısında Java, Mongo ve Elasticsearch teknolojilerini kullanıyor. Logların gönderimi için HTTP POST, HTTP JSONPath, syslog, Heroku Log, Rails Logger ve daha bir çok seçenek sunmaktadır. Log gönderim dökümanı.

HTTP POST ile log gönderimi:

curl -XPOST http://graylog.example.org:12202/gelf --data '{"short_message":"Merhaba dünya!", "host":"proje.local", "foo":"bar"}'

Log gönderildikten sonra, web arayüzünde gönderilen bu log'u tüm detaylarıyla görüntüleyebilirsiniz.

Kurulumuna geçelim. Ben kurulumu Debian tabanlı sunucusuya yapıyorum. Kurulum dökümanı.

Gerekli paketler:

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

MongoDB:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service

Elasticsearch:

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

/etc/elasticsearch/elasticsearch.yml dosyasını açıp cluster.name kısmına graylog yazalım.

cluster.name: graylog

Elasticsearch'ü yeniden başlatalım:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

En son Graylog'u yüklüyoruz:

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

Graylog ayarlarına başlayalım. Graylog'u kullanabilmeniz için password_secret ve root_password_sha2 parametrelerini ayarlamanız lazım.

Şimdi pwgen -N 1 -s 96 komutunu çalıştırarak çıktısını kopyalayın ve password_secret'a tanımlayın:

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

Son olarak echo -n ŞİFRENİZ | sha256sum komutunu çalıştırarak ortaya çıkan sha256 çıktısını kopyalayın ve root_password_sha2'a tanımlayın. ŞİFRENİZ kısmına kendi şifrenizi yazacaksınız. Bu web arayüzünde kullanılacak admin şifresi olacaktır:

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

Graylog'u yeniden başlatalım:

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

Henüz ayarlamalar bitmiş durumda değil. server.conf'da rest_listen_uri ve web_listen_uri parametrelerini kendinize göre düzenlemelisiniz. Eğer reverse proxy olmadan kullanacaksanız IP adresini 127.0.0.1 yerine 0.0.0.0 olarak ayarlayın. Ben nginx üzerinden kullanmayı tercih ettiğim için listen adresini 127.0.0.1 olarak ayarladım. Ancak proxy'de çalıştırırken bir ayar daha yapmanız gerekiyor. web_endpoint_uri kısmına da public'ten girdiğiniz hostname'i ayarlamalısınız. Örnek olarak: https://log.example.org:8888/api/

Sunucu kurulumu kısmı tamam. Şimdi web_listen_uri parametresinde tanımlı olan adrese ya da proxy ettiğiniz adrese, web tarayıcınızdan Graylog'un web arayüzüne girin. Kullanıcı adı kısmına admin, şifre kısmına ise root_password_sha2'da hash'ini tanımladığınız şifreyi girin. Getting Started ekranı sizi karşılayacaktır. System -> Inputs'a girip yeni bir giriş oluşturun. Yazının başında verdiğimiz HTTP POST örneği GELF HTTP girişiyle kullanılmaktadır. Son olarak Launch new input'a tıklayarak girişin dinleme adresini ve bilgilerini girerek yeni bir tane oluşturun. Gönderdiğiniz log'lara ise Search kısmından ulaşabilirsiniz.

Aklınıza bu konu hakkında bir soru bulunuyorsa bunu yorumlar kısmından sorabilirsiniz. İyi çalışmalar.