Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • B BuildingBlocks.Logging
  • Project information
    • Project information
    • Activity
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Redmine
    • Redmine
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Commits
Collapse sidebar
  • GTiSolution
  • BuildingBlocks
  • BuildingBlocks.Logging
  • Wiki
  • Conhecendo o Seq

Conhecendo o Seq · Changes

Page history
Update Conhecendo o Seq authored Jun 03, 2022 by Alexandro Lopes's avatar Alexandro Lopes
Hide whitespace changes
Inline Side-by-side
Conhecendo-o-Seq.md 0 → 100644
View page @ 25e6ed35
# 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.
![screenshot](../images/create-user.png)
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`.
![screenshot](../images/create-apikey.png)
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`.
![screenshot](../images/seq-search.png)
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.
![screenshot](../images/seq-search-property.png)
> ***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.*
![screenshot](../images/seq-search-find.png)
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)**.
![screenshot](../images/seq-search-texto.png)
> *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.
![screenshot](../images/seq-dashboard.png)
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`.
![sreenshot](../images/seq-signal-personal.png)
Mas podemos criar nossos próprios e criar `Signals` e `dashboards` como explicado anteriormente.
![screenshot](../images/seq-workspaces.png)
Exemplo de `Signals` criados no `workspace` Riachuelo.
![screenshot](../images/seq-workspaces-Signals.png)
> *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.
![screenshot](../images/seq-retention.png)
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.
![screeshot](../images/seq-alertas.png)
E aqui alguns parâmetros de configuração.
![screeshot](../images/seq-alertas-config.png)
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.
![screenshot](../images/seq-alert-app.png)
Clicando no botão `INSTALL FROM NUGET` já são sugeridas algumas aplicações e caso queiramos outra, é só clicar na opção `More...`.
![screeshot](../images/seq-alertas-nuget.png)
> *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
Clone repository
  • AAA
  • Componente de Logging
  • Conhecendo o Seq
  • Home
  • XXX