Graylog é uma ferramenta de software de gerenciamento de log gratuito e de código aberto que pode ser usada para monitorar o log dos sistemas de rede do servidor central. Ele usa Elasticsearch para armazenar dados de logs e fornecer recursos de pesquisa e MongoDB para armazenar metainformações. Ele ajuda você a monitorar, pesquisar e analisar uma grande quantidade de dados em um formato legível simples.
Neste tutorial, mostraremos como instalar o Graylog no servidor Ubuntu 20.04.
Pré-requisitos
- Um servidor executando Ubuntu 20.04, com no mínimo 4 GB de RAM;
- Senha de root.
Começando
Primeiro, você precisará atualizar seus pacotes de sistema para a versão mais recente. Você pode atualizá-los todos com o seguinte comando:
apt-get update -y
Depois de atualizar todos os pacotes, você também precisará instalar algumas dependências em seu servidor. Você pode instalar todos eles com o seguinte comando:
apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
Depois que todas as dependências necessárias forem instaladas, você pode prosseguir para a próxima etapa.
Instale o Java
O Graylog requer que o Java seja instalado em seu servidor. Se não estiver instalado, você pode instalá-lo com o seguinte comando:
apt-get install openjdk-11-jre-headless -y
Depois de instalar o Java, você pode verificar a versão instalada do Java executando o seguinte comando:
java -version
Você deve obter a seguinte saída:
openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Assim que terminar, você pode prosseguir para a próxima etapa.
Instalar e configurar o Elasticsearch
Graylog usa Elasticsearch para armazenar logs provenientes de recursos externos. Portanto, você precisará instalar o Elasticsearch em seu sistema.
Por padrão, a versão mais recente do Elasticsearch não está disponível no repositório padrão do Ubuntu. Portanto, você precisará adicionar o repositório Elasticsearch em seu sistema.
Primeiro, baixe e adicione a chave Elasticsearch GPG com o seguinte comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Em seguida, adicione o repositório Elasticsearch com o seguinte comando:
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Em seguida, atualize o repositório e instale o Elasticsearch com o seguinte comando:
apt-get update -yapt-get install elasticsearch-oss -y
Depois de instalar o Elasticsearch, você precisará editar o arquivo de configuração do Elasticsearch e definir o nome do cluster. Você pode fazer isso com o seguinte comando:
nano /etc/elasticsearch/elasticsearch.yml
Defina o nome do cluster como graylog e adicione a outra linha conforme mostrado abaixo:
cluster.name: graylog action.auto_create_index: false
Salve e feche o arquivo quando terminar. Em seguida, inicie o serviço Elasticsearch e habilite-o para iniciar na inicialização com o seguinte comando:
systemctl daemon-reloadsystemctl start elasticsearchsystemctl enable elasticsearch
Você também pode verificar o status do serviço Elasticsearch com o seguinte comando:
systemctl status elasticsearch
Você deve obter a seguinte saída:
? elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-25 08:41:18 UTC; 9s ago Docs: http://www.elastic.co Main PID: 7085 (java) Tasks: 17 (limit: 2353) Memory: 1.1G CGroup: /system.slice/elasticsearch.service ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -> Sep 25 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.
Agora, verifique a resposta do Elasticcsearch com o seguinte comando:
curl -X GET http://localhost:9200
Você deve obter a seguinte saída:
{ "name" : "vzg8H4j", "cluster_name" : "graylog", "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "7a15d2a", "build_date" : "2020-08-12T07:27:20.804867Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Instale o servidor MongoDB
Graylog usa MongoDB como banco de dados. Portanto, você precisará instalar o banco de dados MongoDB em seu servidor. Você pode instalá-lo com o seguinte comando:
apt-get install mongodb-server -y
Depois que o MongoDB estiver instalado, inicie o serviço MongoDB e ative-o para iniciar na reinicialização do sistema com o seguinte comando:
systemctl start mongodbsystemctl enable mongodb
Assim que terminar, você pode prosseguir para a próxima etapa.
Instalar e configurar Graylog
Por padrão, o pacote Graylog não está disponível no repositório padrão do Ubuntu. Portanto, você precisará instalar o repositório graylog em seu servidor.
Você pode baixar o pacote do repositório Graylog com o seguinte comando:
wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb
Assim que o download for concluído, instale o pacote baixado com o seguinte comando:
dpkg -i graylog-3.3-repository_latest.deb
Em seguida, atualize o repositório e instale o servidor Graylog com o seguinte comando:
apt-get update -yapt-get install graylog-server -y
Após instalar o servidor Graylog, você precisará gerar um segredo para proteger as senhas do usuário. Você pode gerá-lo com o seguinte comando:
pwgen -N 1 -s 96
Você deve ver a seguinte saída:
BENCaNiFo440N0au7opkbVRmgunRgIPJuXQaemXWoo9tybBB6b0y2G9Hy5SgiLFn62lc5awYFZ8GkcxTZNmtvAm0Sysl7PnT
Em seguida, você também precisará gerar uma senha segura para o usuário administrador do Graylog. Você precisará dessa senha para fazer login na interface da web do Graylog. Você pode gerá-lo com o seguinte comando:
echo -n password | sha256sum
Você deve ver a seguinte saída:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -
Agora, edite o arquivo de configuração principal Graylog e defina as duas senhas:
nano /etc/graylog/server/server.conf
Cole as duas senhas que você gerou acima, conforme mostrado abaixo:
password_secret = BENCaNiFo440N0au7opkbVRmgunRgIPJuXQaemXWoo9tybBB6b0y2G9Hy5SgiLFn62lc5awYFZ8GkcxTZNmtvAm0Sysl7PnT root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Em seguida, você também precisará definir um endereço de ligação para seu servidor, conforme mostrado abaixo:
http_bind_address = 127.0.0.1:9000
Salve e feche o arquivo quando terminar, em seguida, inicie o serviço Graylog e ative-o para iniciar na reinicialização do sistema com o seguinte comando:
systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
Em seguida, você pode verificar o status do servidor Graylog usando o seguinte comando:
systemctl status graylog-server
Você deve ver a seguinte saída:
? graylog-server.service - Graylog server Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-25 08:50:16 UTC; 15min ago Docs: http://docs.graylog.org/ Main PID: 8693 (graylog-server) Tasks: 156 (limit: 2353) Memory: 865.0M CGroup: /system.slice/graylog-server.service ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX> Sep 25 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.
Você também pode verificar o registro do servidor Graylog com o seguinte comando:
tail -f /var/log/graylog-server/server.log
Assim que o servidor Graylog for iniciado com sucesso, você deverá obter o seguinte resultado:
2020-09-25T08:51:36.473Z INFO [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701} 2020-09-25T08:51:36.477Z INFO [ServerBootstrap] Graylog server up and running.
Neste ponto, o servidor Graylog é iniciado e escutando na porta 9000.
Configure o Nginx como um proxy reverso para Graylog
Em seguida, você precisará instalar e configurar o Nginx como um proxy reverso para acessar o servidor Graylog.
Primeiro, instale o servidor Nginx com o seguinte comando:
apt-get install nginx -y
Depois de instalar o servidor Nginx, crie um novo arquivo de configuração de host virtual Nginx com o seguinte comando:
nano /etc/nginx/sites-available/graylog.conf
Adicione as seguintes linhas:
server { listen 80; server_name graylog.example.org; 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://$server_name/; proxy_pass http://127.0.0.1:9000; } }
Salve e feche o arquivo quando terminar. Em seguida, verifique o Nginx para qualquer erro de sintaxe com o seguinte comando:
nginx -t
Você deve obter a seguinte saída:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Em seguida, ative o arquivo de configuração de host virtual Nginx com o seguinte comando:
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
Por fim, reinicie o serviço Nginx para aplicar as alterações:
systemctl restart nginx
Em seguida, verifique o status do Graylog com o seguinte comando:
systemctl status nginx
Você deve obter a seguinte saída:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-25 09:07:50 UTC; 20s ago Docs: man:nginx(8) Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 9423 (nginx) Tasks: 3 (limit: 2353) Memory: 10.2M CGroup: /system.slice/nginx.service ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??9424 nginx: worker process ??9425 nginx: worker process Sep 25 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 25 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Acesse a interface da Web do Graylog
Agora, abra seu navegador da web e digite o URL http://IP_DO_SERVIDOR. Você será redirecionado para a página de login do Graylog conforme mostrado abaixo:
Forneça seu nome de usuário de administrador, senha e clique no botão Login . Você deve ver o painel Graylog na seguinte página:
Agora, clique em System >> Overview . Você deve ver o status do servidor Graylog na seguinte página:
Conclusão
Parabéns! você instalou e configurou com sucesso o servidor Graylog com Nginx como um proxy reverso no Ubuntu 20.04. Agora você pode explorar o Graylog e criar uma entrada para receber logs Rsyslog de fontes externas. Sinta-se à vontade para me perguntar se tiver alguma dúvida.
Fonte: https://howtoforge.com
No responses yet