Cum se monitorizează fișierele log cu Graylog2 pe Debian 9

Cum se monitorizează fișierele log cu Graylog2 pe Debian 9

Lucrul în echipă este mai simplu, mai plăcut și mai productiv.

Graylog este un instrument de gestionare a jurnalului gratuit și open source bazat pe Java, Elasticsearch și MongoDB, care poate fi folosit pentru a colecta, indexa și analiza orice jurnal de server dintr-o locație centralizată. Puteți monitoriza cu ușurință datele de conectare SSH și activitatea neobișnuită pentru depanarea aplicațiilor și a jurnalelor utilizând Graylog. Graylog oferă un limbaj puternic de interogare, abilități de alertare, o conductă de procesare pentru transformarea datelor și multe altele. Puteți extinde funcționalitatea aplicației Graylog printr-un API REST și prin adăugări suplimentare.

Graylog este alcătuit din trei componente:

  1. Elasticsearch: stochează toate mesajele primite și furnizează o facilitate de căutare.
  2. MongoDB: Este folosit pentru baza de date, stochează configurațiile și informațiile meta.
  3. Serverul Graylog: primește și procesează mesaje de la diverse intrări și oferă o interfață web pentru analiză și monitorizare.

În acest tutorial, vom explica cum se instalează Graylog2 pe Debian 9 Server.

Premisă

  • Un server care rulează Debian 9.
  • Minime 4 GB RAM.
  • O configurare statică a adresei IP 192.168.0.187 pe serverul dvs.

1 Instalați pachetele necesare

Înainte de a începe, va trebui să instalați Java 8 și alte pachete necesare în sistem. Nu toate pachetele necesare sunt disponibile în depozitul standard Debian 9, deci va trebui să adăugați Debian Backports în lista de surse de pachete. În primul rând, conectați-vă cu utilizatorul root și creați un fișier backport.list:

nano /etc/apt/sources.list.d/backport.list

Adăugați următoarea linie:

deb http://ftp.debian.org/debian jessie-backports principal

Salvați fișierul când ați terminat, apoi actualizați sistemul cu următoarea comandă:

apt-get update -y
apt-get upgrade -y

Odată ce sistemul dvs. este actualizat, instalați toate pachetele cu următoarea comandă:

apt-get instalare apt-transport-https openjdk-8-jre-fără cap uuid-runtime pwgen -y

Odată ce toate pachetele necesare sunt instalate, puteți continua să instalați MongoDB.

2 Instalați MongoDB

MongoDB este necesar pentru a stoca informațiile de configurare și meta. MongoDB este disponibil în repozitoriul implicit Debian 9, astfel încât să puteți instala MongoDB executând doar următoarea comandă:

apt-get a instala mongodb-server -y

Odată instalat MongoDB, puteți continua să instalați Elasticsearch.

Instalare 3 Elasticsearch

Elasticsearch este un server de căutare care stochează toate jurnalele trimise de serverul Graylog și afișează mesajele ori de câte ori solicitați. Elasticsearch nu este disponibil în repozitoriul implicit Debian 9. Va trebui să adăugați depozitul Elasticsearch la sursa de pachete Debian.

Mai întâi, descărcați și adăugați cheia GPG Elasticsearch cu următoarea comandă:

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Apoi, creați un fișier repo Elasticsearch cu următoarea comandă:

nano /etc/apt/sources.list.d/elasticsearch.list

Adăugați următoarea linie:

deb https://packages.elastic.co/elasticsearch/2.x/debian stabil principal

Salvați fișierul când ați terminat, apoi actualizați depozitul executând următoarea comandă:

apt-get update -y

Apoi, instalați Elasticsearch executând următoarea comandă:

apt-get instalează elasticsearch -y

Odată ce Elasticsearch este instalat, va trebui să modificați fișierul de configurare principal al Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Efectuați următoarele modificări:

cluster.name: graylog network.host: 192.168.0.187 discovery.zen.ping.timeout: 10s discovery.zen.ping.multicast.enabled: false discovery.zen.ping.unicast.hosts: ["192.168.0.187: 9300"]

Salvați și închideți fișierul când ați terminat, apoi porniți serviciul Elasticsearch și activați-l să pornească la boot:

sistem de start elasticsearch
sistemul permite activarea elasticului

După câteva secunde, executați următoarele pentru a testa că Elasticsearch rulează corect:

curl-XGET "http: // 192.168.0.187: 9200 / _cluster / health? pretty = true '

Asigurați-vă că ieșirea arată starea clusterului ca fiind "verde":

"1", "number_of_data_nodes": 1, "active_primary_shards": 1, "active_shards": 1, "relocating_shards" : 0, "initializing_shards": 0, "delayed_unassigned_shards": 1, "number_of_pending_tasks": 0, "number_of_in_flight_fetch": 0, "task_max_waiting_in_queue_millis": 0, "active_shards_percent_as_number"

Odată ce Elasticsearch este instalat și funcționează bine, puteți trece la pasul următor.

4 Instalați Graylog

Graylog nu este disponibil în repozitoriul implicit Debian 9, deci va trebui mai întâi să descărcați și să instalați depozitul Graylog 2. Puteți face acest lucru executând următoarea comandă:

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2.2-repository_latest.deb

Odată ce repozitoriul este instalat, actualizați depozitul și instalați serverul Graylog cu următoarea comandă:

apt-get update -y
apt-get instala graylog-server -y

După instalarea programului Graylog, va trebui să setați un secret pentru a asigura parolele utilizatorilor și, de asemenea, să setați o parolă hash (sha256) pentru utilizatorul rădăcină.

Mai întâi, generați password_secret cu următoarea comandă:

pwgen-1-s 96

Ar trebui să vedeți următoarea ieșire:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Apoi, generați parola hash pentru utilizatorul root cu următoarea comandă:

echo -n youradminpassword | sha256sum

Ar trebui să vedeți următoarea ieșire:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Notă: rețineți ambele chei de parolă, deoarece ambele chei vor trebui să fie configurate în server.conf.

Apoi, va trebui să modificați fișierul de configurare principal al serverului Graylog din directorul / etc / graylog / server /:

nano /etc/graylog/server/server.conf

Efectuați următoarele modificări:

is_master = true node_id_file = / etc / graylog / server / nod-id ######## past-ta-parola-secretă-aici ######### password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC root_username = admin ### #### trecut-ta-root-hash-parolă aici root_password_sha2 = ########## e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee root_timezone = UTC plugin_dir = / usr / share / graylog-server / plugin rest_listen_uri = http: // 0.0.0.0 : 9000 / api / rest_enable_cors = true web_listen_uri = http: // 0.0.0.0: 9000 / rotation_strategy = Numar de elasticsearch_max_docs_per_index = 20000000 elasticsearch_max_number_of_indices = 7 retention_strategy = șterge elasticsearch_shards = 4 elasticsearch_replicas = 1 elasticsearch_index_prefix = graylog allow_leading_wildcard_searches = true allow_highlighting = false elasticsearch_cluster_name = graylog elasticsearch_ discovery_zen_ping_unicast_hosts = 192.168.0.187: 9300 elasticsearch_http_enabled = false elasticsearch_network_host = 0.0.00 elasticsearch_discovery_initial_state_timeout = 3s elasticsearch_analyzer = standardul output_batch_size = 500 output_flush_interval = 1 output_fault_count_threshold = 5 output_fault_penalty_seconds = 30 processbuffer_processors = 5 outputbuffer_processors = 3 processor_wait_strategy = blocarea ring_size = 65536 inputbuffer_ring_size = 65536 inputbuffer_processors = 2 inputbuffer_wait_strategy = blocarea message_journal_enabled = true message_journal_dir = / var / lib / graylog-server / jurnal async_eventbus_processors = 2 lb_recognition_period_seconds = 3 alert_check_interval = 60 mongodb_uri = MongoDB: // localhost / graylog mongodb_max_connections = 1000 mongodb_threads_allowed_to_block_multiplier = 5 content_packs_dir = / usr / share / graylog-server / contentpacks content_packs_auto_load = grok-patterns.json proxied_requests_thread_pool_siz e = 32

Salvați și închideți fișierul când ați terminat, apoi porniți serviciul Graylog și activați-l să pornească la pornire:

systemctl porni graylog-server
systemctl permite graylog-server

După ce ați terminat, puteți trece la pasul următor

5 Configurați paravanul de protecție

În mod implicit, interfața web Graylog ascultă pe portul 9000, deci va trebui să permiteți portul 9000 prin firewall UFW. Paravanul de protecție UFW nu este instalat în Debian 9. Deci, va trebui să îl instalați mai întâi. Puteți să o instalați executând următoarea comandă:

apt-get instala ufw -y

Odată ce UFW este instalat, activați-l executând următoarea comandă;

ufw enable

Apoi, permiteți portul 9000 prin firewall UFW executând următoarea comandă:

ufw permite 9000

Puteți verifica starea firewallului UFW în orice moment, executând următoarea comandă.

statutul ufw

După configurarea firewall-ului, puteți trece la pasul următor.

6 Accesați interfața Web Graylog

Interylul web Graylog ascultă pe portul 9000. Acum, deschideți browserul web și introduceți adresa URL http://192.168.0.187:9000, ar trebui să vedeți următorul ecran:

Interfața Graylog

Logați-vă cu numele de utilizator "admin"Și parola pe care ați configurat-o la root_password_sha2 pe server.conf. Ar trebui să vedeți următorul ecran:

Graylog a început

Apoi, va trebui să adăugați intrarea pentru a primi mesajul syslog utilizând UDP. Pentru a adăuga intrarea, faceți clic pe System -> selectați Inputs -> Syslog UDP -> faceți clic pe butonul Lansați butonul de introducere nou, ar trebui să vedeți următorul ecran:

Adăugați o sursă de intrare în Graylog

Completați toate detaliile, cum ar fi titlul, portul, adresa de legare și, în final, faceți clic pe butonul Salvare, ar trebui să vedeți următorul ecran:

Raportează detaliile surselor

Acum, serverul Graylog va primi jurnalele de sistem utilizând portul 8514 de la client sau server.

În sistemul client, va trebui să configurați rsyslog astfel încât acesta să trimită mesajele de sistem log pe serverul Graylog. Puteți face acest lucru prin editarea fișierului rsyslog.conf:

nano /etc/rsyslog.conf

Adăugați următoarele rânduri:

# furnizează o recepție syslog UDP $ ModLoad imudp $ UDPServerRun 8514 $ șablon GRAYLOGRFC5424, "% protocol-version%% timestamp ::: date-rfc3339%% HOSTNAME%% numele aplicației%% ​​procid%% msg% n" *. 192.168.0.187: 8514; GRAYLOGRFC5424

Salvați fișierul și reporniți serviciul rsyslog pentru a aplica aceste modificări:

systemctl reporni rsyslog

Apoi, pe serverul Graylog faceți clic pe "Sursele Graylog" puteți vedea jurnalul ssh cu încercări de conectare eșuate în următorul ecran.

Monitorizați încercările de conectare cu Graylog

Concluzie

Felicitări! ați instalat și ați configurat serverul Graylog pe Debian 9. Acum puteți vedea cu ușurință jurnalele și analiza jurnalelor de sistem din locația centrală. Puteți, de asemenea, să personalizați programul Graylog și să trimiteți un alt tip de jurnale conform nevoilor dvs. Puteți obține mai multe informații de pe pagina de documentare Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Simțiți-vă liber să mă comenta dacă aveți întrebări.

Sursă

Lasa un raspuns

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.