|
|
|
# Introdução
|
|
|
|
|
|
|
|
`Seq` é um servidor de pesquisa e análise em tempo real para dados estruturados de registro de logs de aplicativos. Sua interface de usuário foi cuidadosamente projetada e conta com uma linguagem de consulta familiar o que fazem dele uma plataforma eficiente para detectar e diagnosticar problemas em aplicativos e microsserviços complexos.
|
|
|
|
|
|
|
|
Comtém um mecanismo próprio de armazenamento e que fica localizado no próprio servidor de onde está instalado.
|
|
|
|
|
|
|
|
Há como armazenar os dados em um banco de dados SQL Server ou PostgreSQL, por exemplo, mas esse assunto não será abordado nessa documentação. Você pode consultar a [documentação][8] para saber mais.
|
|
|
|
|
|
|
|
Para desenvovimento, temos uma instalação do `Seq` na url http://gtiserver02:5341 com usuário/senha `admin\Admin123!@#`.
|
|
|
|
|
|
|
|
**Importante**: Por ser um servidor de desenvolvimento, a política de retenção está configurada para manter os logs de apenas 3 dias e pedimos para que isso não seja alterado.
|
|
|
|
|
|
|
|
> ***Para melhor conhecer o produto***, acesse a [documentação completa][5].
|
|
|
|
|
|
|
|
* [Requisitos de Sistema](#requisitos-de-sistema)
|
|
|
|
* [Instalação Windows](#instalação-windows)
|
|
|
|
* [Instalação Docker](#instalação-docker)
|
|
|
|
* [Configurações Básicas](#configurações-básicas)
|
|
|
|
* [Criação de Usuário](#criação-de-usuário)
|
|
|
|
* [API Keys](#api-keys)
|
|
|
|
* [Funcionalidades](#funcionalidades)
|
|
|
|
* [Pesquisa de logs](#pesquisa-de-logs)
|
|
|
|
* [Dashboards](#dashboards)
|
|
|
|
* [Signals](#Signals)
|
|
|
|
* [Workspaces](#workspaces)
|
|
|
|
* [Políticas de Retenção](#política-de-retenção-de-logs)
|
|
|
|
* [Alertas](#alertas)
|
|
|
|
* [Backup](#backup)
|
|
|
|
|
|
|
|
## Requisitos de Sistema
|
|
|
|
* Arquitetura de 64 bits (Windows ou Linux/Docker)
|
|
|
|
* Poucos eventos por segundo e retenção de 30 dias
|
|
|
|
* 2 CPU Cores
|
|
|
|
* 3 GB RAM
|
|
|
|
* 50 GB Storage
|
|
|
|
* Alta concorrência
|
|
|
|
* 4 CPU Cores
|
|
|
|
* 16 GB RAM
|
|
|
|
* 256 GB SSD Storage
|
|
|
|
`1 GB RAM para cada 1.5M de eventos é uma boa métrica.`
|
|
|
|
|
|
|
|
> **Importante:** Versões do Seq a partir de 01/01/2021 não têm suporte ao Internet Explorer.
|
|
|
|
> *Para maiores detalhes, visite a [página do produto][1]*.
|
|
|
|
|
|
|
|
## Instalação Windows
|
|
|
|
Seguir a orientações da [documentação][2] do produto.
|
|
|
|
## Instalação Docker
|
|
|
|
É importante ter conhecimento da arquitetrua e comandos do docker para poder seguir com essa instalação.
|
|
|
|
|
|
|
|
Via `docker run`:
|
|
|
|
```docker run \
|
|
|
|
--name seq \
|
|
|
|
-d \
|
|
|
|
--restart unless-stopped \
|
|
|
|
-e ACCEPT_EULA=Y \
|
|
|
|
-v <local path to store data>:/data \
|
|
|
|
-p 5341:5341 \
|
|
|
|
datalust/seq
|
|
|
|
```
|
|
|
|
> `<local path to store data>` deve ser o caminho de uma pasta no host ou um volume `mount`.
|
|
|
|
|
|
|
|
Via `docker-compose`:
|
|
|
|
```
|
|
|
|
version: '3.6'
|
|
|
|
|
|
|
|
services:
|
|
|
|
seq:
|
|
|
|
image: datalust/seq
|
|
|
|
container_name: seq
|
|
|
|
environment:
|
|
|
|
- ACCEPT_EULA=Y
|
|
|
|
volumes:
|
|
|
|
- seqdata:/data
|
|
|
|
ports:
|
|
|
|
- 5341:80
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
seqdata:
|
|
|
|
driver: local
|
|
|
|
```
|
|
|
|
> **Importante:** *Consulte a [documentação][3] para detalhes específicos de configuração. Principalmente no que diz respeito a [configuração de memória][4] do container*
|
|
|
|
|
|
|
|
## Configurações Básicas
|
|
|
|
|
|
|
|
### Criação de Usuário
|
|
|
|
Para a licença `free` é permitida a criação de apenas um usuário, como pode ser visto no alerta da imagem abaixo.
|
|
|
|

|
|
|
|
Ao acessar a página, clicar no botão `ADD USER`.
|
|
|
|
|
|
|
|
### API Keys
|
|
|
|
Logs de aplicações podem ser realizados com uma API Key para poder identificá-los, se necessário.
|
|
|
|
|
|
|
|
Elas podem ser criadas clicando em `settings > API Keys` e selecionando `ADD API KEY`.
|
|
|
|

|
|
|
|
|
|
|
|
Ou para uso pessoal clicando no seu avatar no canto superior direito e selecionando a opção `API Keys`
|
|
|
|
|
|
|
|
> *Veja mais detalhes na [documentação do produto][6]*.
|
|
|
|
## Funcionalidades
|
|
|
|
Abaixo serão apresentadas as funcionalidades que podem ser mais utilizadas.
|
|
|
|
|
|
|
|
### Pesquisa de Logs
|
|
|
|
Podemos filtrar logs por texto contido na mensagem, por propriedades contidas no log, por data de criação e etc.
|
|
|
|
|
|
|
|
Vamos apresentar um exemplo de filtro que pode ser realizado, onde é utilizada a propriedade `CorrelationId`.
|
|
|
|

|
|
|
|
|
|
|
|
Note que `CorrelationId` é uma propriedade que foi criada por quem gerou o log. Assim como essa, outras podem ser criadas também, tudo vai depender da sua necessiade.
|
|
|
|

|
|
|
|
|
|
|
|
> ***Dica**: Uma forma fácil de montar a expressão de pesquisa é clicar no `check` da propriedade e selecionar a opção `Find` que automaticamente será criada a expressão de consulta.*
|
|
|
|

|
|
|
|
|
|
|
|
Agora um outro exemplo utilizando o texto `processo` para trazer todas as ocorrências que contenham esse a palavra na mensagem **(não nas propriedades)**.
|
|
|
|

|
|
|
|
|
|
|
|
> *Há diversas outras formas de localizar um log. Consulte a [documentação][7] para mais detalhes*.
|
|
|
|
### Dashboards
|
|
|
|
Outra funcionalidade muito interessante do `Seq` é a possibilidade de criar dashboards realizando consultas em nossos logs, baseado nas propriedades que já vimos anteriromente.
|
|
|
|
Por padrão o `Seq`já disponibiliza um dashboard que contém os quatro primeiros gráficos da imagem abaixo.
|
|
|
|

|
|
|
|
|
|
|
|
Os Três últimos gráficos foram criados no dashboard padrão, afim de demonstrar que podemos adicionar novos gráficos conforme nossa necessidade de análise.
|
|
|
|
|
|
|
|
Temos a possibilidade de criar novos dahsboards, clicando no sinal de (+) no menu à esquerda.
|
|
|
|
|
|
|
|
> *Conheça mais possibilidades acessando a [documentação][9]*.
|
|
|
|
|
|
|
|
### Workspaces
|
|
|
|
`Workspaces` ajudam a organizar a visualização dos logs e criar [Signals](#Signals), queries e [dashborads](#dashboards) específicos.
|
|
|
|
|
|
|
|
Por padrão o `Seq` já tem um workspace chamado `Personal`.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Mas podemos criar nossos próprios e criar `Signals` e `dashboards` como explicado anteriormente.
|
|
|
|

|
|
|
|
|
|
|
|
Exemplo de `Signals` criados no `workspace` Riachuelo.
|
|
|
|

|
|
|
|
|
|
|
|
> *Aqui o acesso à [documentação][11] para saber mais*.
|
|
|
|
### Signals
|
|
|
|
`Signals` é um recurso que permite criar e salvar filtros de acordo com alguma informação contida nos logs, por exemplo.
|
|
|
|
* Criar um filtro por ambiente
|
|
|
|
* Criar um filtro por aplicação
|
|
|
|
|
|
|
|
Além disso os filtros podem ser criados vinculados a um [workspace](#workspaces).
|
|
|
|
|
|
|
|
> *Nesse [link da documentação][10] tem a explicação mais detalhada e mais exemplos de como utilizar os Signals.*
|
|
|
|
|
|
|
|
### Políticas de Retenção
|
|
|
|
O `Seq` nos permite criar políticas de retenção para nossos logs e como podemos ver, usamos os `Signals` para isso.
|
|
|
|

|
|
|
|
|
|
|
|
Caso o necessidade seja expurgar os dados antigos independente dos `Signals`, basta selecionar a opção `All events`.
|
|
|
|
|
|
|
|
> *Na [documentação][12] há mais explicações de como podemos configurar as políticas*.
|
|
|
|
## Alertas
|
|
|
|
Temos a opção de criar alertas que podem ser enviados através de e-mail, MS Teams e outros.
|
|
|
|
|
|
|
|
Os alertas podem notificar os responsáveis quando uma determinada aplicação começa a dar muitos erros, quando está lenta ou qualquer outro critério que seja necessário para avaliar a saúde da aplicação.
|
|
|
|
|
|
|
|
Os alertas podem ser acessados direto pelo menu superior do `Seq`. Abaixo dois exemplos de alerta.
|
|
|
|

|
|
|
|
|
|
|
|
E aqui alguns parâmetros de configuração.
|
|
|
|

|
|
|
|
|
|
|
|
Para que os alertas possam ser enviados é necessário instalar a aplicação que fará esse envio, no caso abaixo, temos uma aplicação para notificações via e-mail.
|
|
|
|

|
|
|
|
|
|
|
|
Clicando no botão `INSTALL FROM NUGET` já são sugeridas algumas aplicações e caso queiramos outra, é só clicar na opção `More...`.
|
|
|
|

|
|
|
|
|
|
|
|
> *Na [documentação][13] há maiores detalhes sobre a configuração e instalação dos alertas*.
|
|
|
|
## Backup
|
|
|
|
|
|
|
|
[1]: https://docs.datalust.co/docs/system-requirements#hardware
|
|
|
|
[2]: https://docs.datalust.co/docs/getting-started
|
|
|
|
[3]: https://docs.datalust.co/docs/getting-started-with-docker#running-seq-in-a-docker-container
|
|
|
|
[4]: https://docs.datalust.co/docs/getting-started-with-docker#memory-limits
|
|
|
|
[5]: https://docs.datalust.co/docs
|
|
|
|
[6]: https://docs.datalust.co/docs/api-keys
|
|
|
|
[7]: https://docs.datalust.co/docs/the-seq-query-language
|
|
|
|
[8]: https://docs.datalust.co/docs/using-postgresql-as-a-metastore
|
|
|
|
[9]: https://docs.datalust.co/docs/dashboards
|
|
|
|
[10]: https://docs.datalust.co/docs/Signals
|
|
|
|
[11]: https://docs.datalust.co/docs/workspaces
|
|
|
|
[12]: https://docs.datalust.co/docs/retention-policies
|
|
|
|
[13]: https://docs.datalust.co/docs/alerts |
|
|
|
\ No newline at end of file |