Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Documentação
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Harbor Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Root
Documentação
Commits
3114e511
Commit
3114e511
authored
1 year ago
by
mvrp21
Browse files
Options
Downloads
Patches
Plain Diff
feat(services): add forsyn zabbix server info
Signed-off-by:
mvrp21
<
mvrp21@inf.ufpr.br
>
parent
b4a683b5
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
source/pages/services/forsyn-monitoramento-zabbix.md
+112
-0
112 additions, 0 deletions
source/pages/services/forsyn-monitoramento-zabbix.md
with
112 additions
and
0 deletions
source/pages/services/forsyn-monitoramento-zabbix.md
0 → 100644
+
112
−
0
View file @
3114e511
# forsyn/Monitoramento Zabbix
A
[](
/pages/machines/base/forsyn
)
é a máquina que executa o servidor de
monitoramento Zabbix, responsável por coletar dados importantes das máquinas do
C3SL (tanto físicas quanto virtuais), bem como enviar alertas relacionados a elas.
## Zabbix Server
Há um servidor rodando nessa máquina, que recebe as informações dos
*agents*
executados nas máquinas monitoradas e armazena essa informações em um banco de
dados PostgreSQL local. Há uma interface web para interagir com esse servidor,
sua configuração está no
`/etc/nginx/`
.
### Coleta de dados
Zabbix utiliza
*agents*
que são serviços executados nos hosts
**monitorados**
para que eles enviem dados sobre as máquinas, como uso de CPU, memória, espaço
de disco, etc.
Além disso utilizamos ele também para monitorar aparelhos SNMP, dos quais
destacamos o
**gerador**
e o
**ar condicionado**
, e também há algumas entradas
de monitoramento de agentes IPMI (principalmente para verificar se eles estão
acessíveis na rede).
### Integração com o Telegram
Além de enviar emails, o servidor Zabbix está configurado para enviar avisos no
grupo de monitoramento dos roots em casos especiais, como quedas de energia ou
máquinas críticas.
Para isso existe o script
[
`zbxtg.py`
](
https://github.com/ableev/Zabbix-in-Telegram
)
, localizado em
`/usr/lib/zabbix/alertscripts/`
. Além disso é importante que uma conversa seja
iniciada com o bot, para isso basta mandar a seguinte mensagem nos grupos em
que o bot está:
`/start@c3sl_monitoramento_bot`
. Dificilmente será necessário
mandar essa mensagem, mas caso algum alerta não seja enviado pelo Zabbix essa
pode ser a causa (é possível ver isso na interface web do servidor).
## Rede
Essa máquina tem conexão direta de 10Gb com o switch
[](
/pages/switches/dc/malbec
)
.
Nomes que apontam para essa máquina:
-
`forsyn.c3sl.ufpr.br`
,
`forsyn.dfs`
,
`forsyn.arcond`
: Nome da forsyn
nas subredes;
-
`monitoramento.c3sl.ufpr.br`
,
`monitoramento.dfs`
,
`monitoramento.arcond`
: CNAMEs utilizados pelos
*agents*
para identificar o
servidor de monitoramento;
-
`zabbix.c3sl.ufpr.br`
: nome para o frontend do servidor zabbix;
Essa máquina está nas seguintes VLANs:
-
`DFS`
: para monitoramento das torneiras e barris.
-
`ARCOND`
: para monitoramento SNMP do ar condicionado.
-
`C3SL`
: para o resto.
:::{admonition}
`CNAME monitoramento.*`
:class: important
É importante ressaltar que utilizar os CNAMEs
`monitoramento.*`
é preferível a
utilizar
`forsyn.*`
, pois caso o monitoramento seja migrado novamente para
outra máquina a mudança de diversos arquivos (como firewall, DNS, etc.) não
seja necessária, basta apenas fazer 'monitoramento.
*
' apontar para o novo
servidor (e esperar as máquinas atualizarem suas tabelas de DNS).
:::
Há também algumas regras definidas no
*firewall*
para abrir portas de
monitoramento (ressalta-se a 10050). Ele utiliza o nome
`monitoramento`
, então
não deve ser necessário se preocupar em mexer no firewall caso o monitoramento
seja movido da forsyn.
## Detalhes importantes
### Binários SNMP
Ao que parece os binários para monitoramento SNMP não existem mais na internet,
e portanto uma cópia deles é mantida no diretório
`/root/zabbix/snmp/`
. É
importante não perder esses arquivos (há cópias deles no
*backup*
também,
claro) se não a maior parte do monitoramento por SNMP ficará indisponível.
### `micro.arcond`
O monitoramento do ar de precisão do datacenter é feito por meio de um micrinho
proprietário dele que 'não temos acesso'.
No momento da escrita desse texto, o monitoramento foi recém migrado da
[](
/pages/machines/base/urquell
)
para a
[](
/pages/machines/base/forsyn
)
, mas
aparentemente há alguma regra de
*firewall*
**interna**
do micrinho que permite
apenas a urquell fazer as requisições SNMP.
Não foi feita nenhuma gambiarra para contornar isso, logo o monitoramento do ar
de precisão pela forsyn não ocorre atualmente.
:::{note}
Uma possível solução envolveria mexer no
*firewall*
da urquell e fazer a forsyn
fazer as requisições através dela. Não foi feito por ser bizarro isso ser
necessário.
:::
## Planos para o futuro
*
Sincronizar o Zabbix com uma base de dados que seja 'fonte da verdade': O que
evitaria problemas com rotação de IPs de VMs e também facilita o
monitoramento de algumas coisas. Uma proposta para isso é utilizar o
[
NetBox
](
https://github.com/netbox-community/netbox
)
.
*
Alertas destinados aos responsáveis pelos ativos: Por exemplo, se o disco de
uma virtual utilizada pelo PET ficar cheio eles devem receber o aviso,
provavelmente por email, não os roots.
*
Monitoramento de serviços: Atualmente apenas se fazem verificações sobre o
estado da máquina virtual em si (se está ligada ou desligada, porcentagem de
uso de disco, etc.), mas seria ideal verificar se os serviços web estão
rodando por exemplo, principalmente para alguns projetos do C3SL.
*
Utilizar a máquina de monitoramento para inventariar a rede do DInf:
hardwares, serviços, imagens, etc. com o intuito de gerenciar
vulnerabilidades.
*
Idealmente, por mais que não necessário, o monitoramento deveria ser
redundante, afinal se a única máquina de monitoramento cair nós ficaremos no
escuro, sem saber se há problemas com as demais máquinas ou não.
*
Dar um jeito de monitorar o ar de precisão, idealmente por meio de algo que
tenhamos controle, não pelo micrinho esquisito.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment