- 
				            Graylog – zaawansowany agregator logówWielokrotnie na łamach tego bloga pisałem jak ważną rolę w administracji odgrywa monitoring. Chyba się ze mną zgodzicie, prawda? O wielu przydatnych narzędziach już pisałem. Dzisiaj chciałbym wspomnieć o czymś ściśle związanym z monitorowaniem, mianowicie o logowaniu. Co nam bowiem z informacji, że np. serwer pocztowy działa, jak połowa wiadomości wysłanych z niego trafia do spamu lub nie dochodzi? Z pomocą przychodzą nam tu logi, ale ….. jeśli mamy naprawdę dużo serwerów, to przydałoby się narzędzie agregujące i pomagające zaprezentować je w bardziej przystępnej formie z możliwością przeszukiwania. Poniżej pokażę jak zainstalować i wstępnie skonfigurować/uruchomić Grayloga. Zaczynamy od instalacji bazy MongoDB. Edytujemy w tym celu plik „/etc/yum.repos.d/mongodb.repo”. vim /etc/yum.repos.d/mongodb.repo i dodajemy poniższe linie: 
 [mongodb]
 name=MongoDB Repository
 baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
 gpgcheck=1
 enabled=1
 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
 Czas na instalację yum install mongodb-org i uruchomienie service mongod start Dodajemy MongoDB do autostartu. chkconfig mongod on Teraz czas na instalację Javy. yum install java-1.8.0-openjdk-headless Czas na instalację Elasticsearcha. Dodajemy wpierw odpowiednie repozytorium. rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch vim /etc/yum.repos.d/elasticsearch.repo 
 [elasticsearch]
 name=Elasticsearch repository
 baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
 gpgcheck=1
 gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
 enabled=1
 Instalujemy yum install elasticsearch Podstawową i niezbędną zarazem czynnością jest ustawienie nazwy dla naszego klastra. vim /etc/elasticsearch/elasticsearch.yml 
 cluster.name: graylog
 Startujemy systemctl start elasticsearch Dodajemy do autostartu systemctl enable elasticsearch Teraz sprawdzamy, czy działa. Wydajemy poniższą komendę curl -XGET http://localhost:9200/_cluster/health?pretty=true Powinniśmy otrzymać „w zamian” coś takiego: 
 {
 "cluster_name" : "graylog",
 "status" : "green",
 "timed_out" : false,
 "number_of_nodes" : 1,
 "number_of_data_nodes" : 1,
 "active_primary_shards" : 0,
 "active_shards" : 0,
 "relocating_shards" : 0,
 "initializing_shards" : 0,
 "unassigned_shards" : 0,
 "delayed_unassigned_shards" : 0,
 "number_of_pending_tasks" : 0,
 "number_of_in_flight_fetch" : 0,
 "task_max_waiting_in_queue_millis" : 0,
 "active_shards_percent_as_number" : 100.0
 }
 
 To czas na instalację „właściwego” pakietu. Wpierw zaczynamy od repozytorium.rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm 
 Retrieving https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm
 Preparing... ################################# [100%]
 Updating / installing...
 1:graylog-2.2-repository-1-5 ################################# [100%]
 
 Instalujemy niezbędne pakietyyum install graylog-server epel-release pwgen Generujemy klucz, który będziemy musieli wpisać jako „password_secret” w pliku /etc/graylog/server/server.conf. pwgen -N 1 -s 96 vim /etc/graylog/server/server.conf 
 password_secret = tQHLPyfB31Ymo84SfV3wK0QUmCWV92JlnWj0kvlPXJKPs6t4aJeKGvXI3hNVdj1RMBDRED4EOvSX40zlD0AvATFxV8ScBwRJ
 
 Następnie „generujemy” nasze hasło root i wpisujemy jako „root_password_sha2” w pliku /etc/graylog/server/server.conf.echo -n nasze_tajne_haslo_root | sha256sum 
 [root@graylog ~]# echo -n nasze_tajne_haslo | sha256sum
 c50a2ab008c82ddf4f2872a2ea05d3d410e4559b5560ff35ac8d795bfceed8e8 -
 
 Wpisujemy gdzie trzeba, ale bez „-” na końcu.vim /etc/graylog/server/server.conf 
 root_password_sha2 = c50a2ab008c82ddf4f2872a2ea05d3d410e4559b5560ff35ac8d795bfceed8e8
 
 Następnie ustawiamy kilka opcji konfiguracyjnych we wspomnianym pliku. Zakładamy, że nasza maszyna wirtualna ma prywatny IP 192.168.122.208 i jest proxowana na zewnątrz przez nginx.
 
 root_username = domyślnie_jest_admin_ale_może_być_cokolwiek
 rest_listen_uri = http://192.168.122.208:9000/api/
 rest_transport_uri = http://192.168.122.208:9000/api/
 web_enable = true
 web_listen_uri = http://192.168.122.208:9000/
 web_endpoint_uri = http://logi.naszadomena.pl/
 elasticsearch_network_host = 192.168.122.208
 
 Dodajemy grayloga do autostartusystemctl enable graylog-server.service 
 Created symlink from /etc/systemd/system/multi-user.target.wants/graylog-server.service to /usr/lib/systemd/system/graylog-server.service.
 
 Odpalamy serwer grayloga.systemctl start graylog-server.service Czas na konfigurację nginx. W naszym przypadku dodajemy osobny plik „/etc/nginx/sites-enabled/logi.naszadomena.pl” vim /etc/nginx/sites-enabled/logi.naszadomena.pl z następującą treścią: 
 
 server {
 server_name logi.naszadomena.pl;location / { 
 proxy_set_header Host $http_host;
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-Server $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Graylog-Server-URL http://logi.naszadomena.pl/api;
 proxy_pass http://192.168.122.208:9000;
 }
 }
 
 Restartujemy nginxsystemctl restart nginx i możemy wpisać w przeglądarce adres http://logi.naszadomena.pl. Powinien przywitać nas Graylog 🙂 
 
Artykuł albo jest niedokończony albo ma zły tytuł. Opisujesz tylko jak zainstalować. Czy przedstawisz bliżej Grayloga?
Super z jednym „ale”. Artykuł albo jest niedokończony albo ma zły tytuł. Opisujesz tylko jak zainstalować Grayloga ale wcale go nie przedstawiasz.
Trzymam kciuki za kontynuację artykułu…
Skoro widzę zainteresowanie, to będzie dalszy ciąg 🙂