Jump to content

Aplicação de monitorização da rede


CIA
Go to solution Solved by M6,

Recommended Posts

Olá, boa tarde.

Estou interessado em realizar um projeto que recentemente vi a ideia do mesmo e achei interessante, consiste num tipo de monitorização da rede, uma espécie de dashboard (Se possível em C# pois é a linguagem que me encontro mais à vontade, mas se forem necessárias outras não tem problema) onde fosse possível:

  • Verificar o estado dos servidores (se estão em baixo ou não, etc);
  • Dados sobre o hardware(temperatura da cpu, número de processos em execução, utilização de ram e swap, nome dos processos, utilização de hdd, dados sobre o tráfego de rede, serviços em execução, etc...);
  • Espaço disponível em disco numa storage;
  • E coisas do género, se tiverem mais ideias são aceites. 😉

Só que estou meio perdido em como começar a realizar o projeto e como o irei fazer. Alguém me pode dar umas dicas para atingir todas as funcionalidades mencionadas acima e de como as realizar?

Obrigado ☺️

 

“Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code." – Dan Salomon

Link to comment
Share on other sites

  • Solution

Presumo que te estejas a referir a algo como o Nagios.

Uma solução de monitorização desse tipo funciona, tipicamente, numa ótica de cliente-servidor, onde um servidor central recebe/comunica com os vários clientes que monitoriza.
Basicamente cada máquina a ser monitorizada tem um cliente que recolhe a informação que pretendes e comunica-a de forma regular para o servidor. Isto pode ser feito de duas formas:

  1. o cliente é responsável por enviar a informação para o servidor, ou
  2. o servidor é responsável por pedir a informação a cada cliente.

Pode dar-se o caso de coexistirem ambas as soluções, por exemplo, o modelo normal ser o cliente a enviar a informação, mas se o servidor entender que pretende uma atualização em determinada altura, pode requisitá-la não necessitando de ficar à espera que o cliente volte a comunicar.

Quanto ao tipo de dados que pretendes recolher, tipicamente vai depender do que estiver disponível ao nível da BIOS/sistema operativo/hw usado.
Por exemplo, imagina que queres recolher a rotação média dos discos num servidor. Essa informação pode não estar disponível se o hw usado for SSD e não HDD tradicionais.

  • Vote 1
10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

25 minutos atrás, M6 disse:

Presumo que te estejas a referir a algo como o Nagios.

Uma solução de monitorização desse tipo funciona, tipicamente, numa ótica de cliente-servidor, onde um servidor central recebe/comunica com os vários clientes que monitoriza.
Basicamente cada máquina a ser monitorizada tem um cliente que recolhe a informação que pretendes e comunica-a de forma regular para o servidor. Isto pode ser feito de duas formas:

  1. o cliente é responsável por enviar a informação para o servidor, ou
  2. o servidor é responsável por pedir a informação a cada cliente.

Pode dar-se o caso de coexistirem ambas as soluções, por exemplo, o modelo normal ser o cliente a enviar a informação, mas se o servidor entender que pretende uma atualização em determinada altura, pode requisitá-la não necessitando de ficar à espera que o cliente volte a comunicar.

Quanto ao tipo de dados que pretendes recolher, tipicamente vai depender do que estiver disponível ao nível da BIOS/sistema operativo/hw usado.
Por exemplo, imagina que queres recolher a rotação média dos discos num servidor. Essa informação pode não estar disponível se o hw usado for SSD e não HDD tradicionais.

Muito obrigado, vou fazer aqui uma pequena pesquisa. 😉

 

“Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code." – Dan Salomon

Link to comment
Share on other sites

Tenho usado extensivamente uma combinação de Prometheus, Node Exporter, e Grafana.  O Prometheus é o serviço que colecta e armazena as métricas, e que permite executar queries sobre as métricas.  O Node Exporter é um serviço que exporta um conjunto de métricas standard de sistemas Unix (até o tenho a funcionar no meu router 😀).  O Grafana é a aplicação de visualização.

Há uma série de outros "exporters" que expõem métricas que podem ser recolhidas pelo Prometheus, para além do Node Exporter (ver lista aqui), e é bastante fácil criares um exporter teu.

  • Vote 1
Link to comment
Share on other sites

14 minutos atrás, Rui Carlos disse:

Tenho usado extensivamente uma combinação de Prometheus, Node Exporter, e Grafana.  O Prometheus é o serviço que colecta e armazena as métricas, e que permite executar queries sobre as métricas.  O Node Exporter é um serviço que exporta um conjunto de métricas standard de sistemas Unix (até o tenho a funcionar no meu router 😀).  O Grafana é a aplicação de visualização.

Há uma série de outros "exporters" que expõem métricas que podem ser recolhidas pelo Prometheus, para além do Node Exporter (ver lista aqui), e é bastante fácil criares um exporter teu.

Muito obrigado, vou dar uma olhada nisso tudo e informar-me melhor hehe 😁

 

“Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code." – Dan Salomon

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.