TODO BlueMonitor

De MSTECH wiki
Ir para: navegação, pesquisa

Update para dual boot

Resumo análise final

BD

Criar tabela

K4_SLOT
ksID (k4 slot id)
k4ID
soID
slot (incremento manual, tinyint)
ksSituacao (1 = ativo, 2 = inativo, 3 = excluído)

Criar campo

SERVER_UPDATES_STATUS
ksID (chave para tabela K4_SLOT)

Web (api)

POST

  • Recebe k4, so, adiciona na tabela K4_SLOT independente se já existe ou não (possibilitando vários SO's iguais na mesma máquina)
  • incrementa slot
  • retorna a K4ID, soID, slot, ksID


POST api/v1/devices (cadastraAltera)
alterar - id slot, etc
criar um put para não instalar novo, e sim, apenas alterar.
todo dia manda um post com a situação atual da máquina (qual k1, localidade, ip, mac, etc) para o BM, e atualizar na base alguma mudança.


Outros métodos da API para mudar

POST api/v1/devices/{k4Chave}/signals
GET api/v1/devices/{k4Chave}/turnoff
POST api/v1/devices/{k4Chave}/turnoff
GET api/v1/devices/{k4Chave}/updates
POST api/v1/devices/{k4Chave}/updates/{updateId}/status
PUT api/v1/devices/{k4Chave}/updates/{updateId}/status/{id}
  • todos k4Chave trocar para slot ID (ksID)

Detecção SO

Recebe o nome de um SO vindo do agente, busca na tabela SISTEMA_OPERACIONAL; Retorna o soID

Agente (desktop)

Instalação

post para instalação so + k4 + slot, grava no BD local (pode gravar apenas o ksID, que é o id do slot, ou a tabela k4_slot toda).

Solicitação de update(agente)

  • Envia para API: dados da K4_SLOT
  • Recebe: Lista de updates disponíveis para seu slot.
  • Processa: Verifica em sua base local quais updates já foram instalados, e solicita os que ainda não foram.

Envio de updates (web)

  • Recebe: solicitação de um update específico contendo os dados da K4_SLOT (ksID) + updID
  • Processa: valida se existe ksID (k4+so+slot), se existe, grava na tabela SERVER_UPDATES_STATUS com o ksID além do que já grava.
  • Envia: pacote.

Relatórios:

Updates por slot, k4, k1

Manutenção

Dependendo do número de dias sem sinal de máquina ligada, provavelmente o slot não está mais em uso (foi formatado pra dar lugar a outro). neste caso, pode-se marcar como excluído este slot, para que nos relatórios não saia ele, nem status de seus updates.

Schema BD atual

SERVER_UPDATES_STATUS

[dbo].[SERVER_UPDATES_STATUS](
[k4ID] [int] NOT NULL,
[updID] [int] NOT NULL,
[susInicioDownload] [bit] NULL,
[susDataInicioDownload] [datetime] NULL,
[susTerminoDownload] [bit] NULL,
[susDataTerminoDownload] [datetime] NULL,
[susInstalado] [bit] NULL,
[susDataInstalado] [datetime] NULL,
[susErroInstall] [varchar](1000) NULL,
[susID] [uniqueidentifier] NULL CONSTRAINT [DF_SERVER_UPDATES_STATUS_susID]  DEFAULT (newid()),
CONSTRAINT [PK_K4_SERVER_UPDATES_STATUS] PRIMARY KEY CLUSTERED 
(
 [k4ID] ASC,
 [updID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


SISTEMA_OPERACIONAL

[dbo].[SISTEMA_OPERACIONAL](
[soID] [int] IDENTITY(1,1) NOT NULL,
[soDescricao] [varchar](200) NULL,
[soVersao] [varchar](15) NULL,
[ent_id] [uniqueidentifier] NULL,
CONSTRAINT [PK_SISTEMA_OPERACIONAL] PRIMARY KEY CLUSTERED 
(
 [soID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


SERVER_UPDATES_SISTEMA_OPERACIONAL

[dbo].[SERVER_UPDATES_SISTEMA_OPERACIONAL](
[updID] [int] NOT NULL,
[soID] [int] NOT NULL,
CONSTRAINT [PK_SERVER_UPDATES_SISTEMA_OPERACIONAL] PRIMARY KEY CLUSTERED 
(
[updID] ASC,
[soID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

Relatório Resumo Configurações de máquinas

mudar o relatório - está hardcoded para a ent_id da sme-sp em: C:\Projetos\MStechCollection\BlueMonitor\main\BlueMonitorSSO_vs2012\BlueMonitor\Relatorios\RelatorioResumoConfigMaquina.aspx.cs

linha 40: if (__SessionWEB.__UsuarioWEB._Usuario.ent_id.Equals("6CF424DC-8EC3-E011-9B36-00155D033206"))

Limite de conexões simultâneas (downloads)

BlueMonitor tem limite de downloads - BlueMonitor gerencia quantos downloads estão sendo feitos, e se já deu o limite, ele retorna "Requisição Excedida" quando um cliente faz requisição da lista de updates pendentes (já aconteceu na FDE - blueUpdate) O BlueUpdate precisa enviar uma notificação de início de download para o BM.

o webservice retorna quantos Status download tem aberto e não fechado. se estiver acima de um X lá, ele não deixa marcar o início do download logo que começar a baixar.

A API não tem limite de downloads

Listagem de máquinas

A listagem de dispositivos apresenta carregamento muito lento. Precisamos investigar as operações realizadas para o carregamento da página e otimizá-las.

Trocar SQL Job e Windows services

Os SQL jobs e Windows Services são de difícil manutenção (devops) e não fornecem acesso a execução manual e logs (até fornecem, mas tem muitas restrições para implantação -- permissão de usuário no bd entre outros)

  • Jobs de indicadores da tela inicial
  • serviço de inventário
  • serviço de monitoramento de link;

Seria interessante trocar SQL jobs e Windows services por tecnologia de jobs administradas pelo ASP.net, como exemplo o HangFire.

Dashboard

Criar dashboard com indicadores

  • Uso de dispositivos
  • Uso de softwares
  • Dispositivos com atualizações pendentes

Novo Blue

Plataforma Tracker

04/01/17 - 15h

Dicionário de dados tem uma documentação, mas vinicius fez um apanhado de todas as funcionalidades do BM e BCW a ideia é renovar a plataforma

relatório de atendimento para o produto não faz sentido, sendo que podemos contabilizar dados de outra forma 15 dias bcw 15 dias bm

um backend, 1 client

blue monitor ainda não tem relatório de inventariado relatórios bem específicos pra cada cliente.

existe um rascunho de relatórios, dashboards apresentados

android - stand by

sincronização de usuários (?) fde manda a base cie

camada como um AD - integrações BD, AD, etc no desktop

bluecontrol - precisava de aluno e professor devido a permissão de horários em sala - provavelmente daria para remover o grupo de usuários

substituir ping de tunel ssh por um sinal de máquina ligada

seria possível montar um mapa igual da central de monitoramento apenas com o sinal de máquina ligada.

tipo de máquina (ver pelo processador) num primeiro momento, usar seleção manual, depois, ver pelo processador.

alertas de coisas fora do padrão: baidu, por exemplo no perfil, e-mail, tela máquina mudou o hardware e software

mapa geral das escolas ligadas e desligadas.

inventariado de software remover, bloquear, fora do padrão padrão - que nós enviamos associar, desassociar, desinstalar o pacote bloquear o software (desinstalar e não deixar mais)

Editar configurações da máquina (nome, usuário, localização, tipo da máquina)


Funcionalidades básicas - atômicas

- modelagem de dados, o que é um computador, onde está, o que é feito alimentação de dados de inventário, entrada saída, login logout, qto tempo (btracker + mongoDB) POC: buscar inventário de uma library java, ou wmi.

- inventários - características físicas hardware e software - reconhecer o parque de máquinas. Enviar apenas quando houver alteração. na primeira vez manda tudo, amanhã gera de novo, compara com o que tem (hash do pacote) se for idêntico, ignora o upload. - mais importante: HD (espaço em disco, softwares instalados) - processador, placa mãe, memória - para os técnicos monitorarem máquinas defasadas, etc - alertas de tempo de processador, memória, hd (se ficar mais de 80% durante 1h, manda alerta)

- localizações administrativas (endereço, domínio) - maquina com id tal, na sala Y, subscretaria X, da região, nível infinito hierárquico. (verificar gerador e validador de chaves do casella)

- usuários (coresso) - verificar performance (logar na uad) logar no sistema - número de requisições no core sincronizar nas estações - inseguro: banco local em cada máquina, token, openID.

- utilização desses usuários no login/logout (perguntar via api, não teremos servidor nas escolas, se não tiver internet, cada máquina terá um bd local )

relatórios - base dispositivos: utilização dos dispositivos, quantas máquinas com determinado processador, qtd memória, qtas máquinas tem qtos gigas, tamanho do hd, tipo de placa mãe, tipos de dispositivos (netbook, desktop, tablet, chromebook, etc), ligados e desligados (em det. período) uso de software: os do btracker + dados básicos por escola, por software, por data específico. acesso a internet: btracker (apenas título da janela, não mostra url), estudar se é possível buscar a url (sniffer, anti virus, etc) btracker tem diferença aluno/professor (?) quanto tempo aquele usuário perdeu naquele site. filtrar por domínio

licenças: software da mstech e do SO,


---

Updates Reformular o cadastro de updates (dependências - ex. instalar o update 2 se já tiver o 1) sem gerenciamento de dependências (cadastro de update dependente um do outro, pra essa primeira versão, continua como está, pelo número da versão) know-how - ok, já conhecemos as regras

Relatórios Atualizações (updates) o que foi atualizado, o que falta atualizar

Validador de licenças: quantos softwares foram licenciados para aquele cliente, quando instalar no client, ver se ainda existem licenças disponíveis. se não tiver, alerta o usuário e não deixa instalar.


05/01 - 9h

Wizard de instalação maq. laboratório - vefificar se tem algo no banco, se já foi configurada antes. acelerador - fazer separado do wizard se tiver um servidor, fica no servidor as configurações da máquina referentes a localização, range de ip, se tiver servidor, ele já configuraria, se tiver broadcast, validaria, e se não, busca no datacenter. localização, tipo, patrimônio, nome da máquina, numa máquina a gente configuraria, e nas outras, verifica esta instalação, ou fica num servidor de cache (segundo momento) - máquina mestra que vai servir como espelho pras outras, no momento de dar manutenção, pra definir localidade, updates (segundo momento) Tendo travas no wizard e no configurador, de não sair da tela a não ser se estiver tudo ok. a ideia é configurar pela web as máquinas tb. diminuir os passos de 2 pra 1, criar grupos individualmente e manualmente. Pensar em automação em outro momento.

asp.net core piloto 15 dias + postgres

Relatórios BTracker

De: André Ruz [1] 
Enviada em: quarta-feira, 28 de dezembro de 2016 11:00
Para: 'Thiago Froes' <thiago.froes@mstech.com.br>; 'Arnaldo Gerner Rosa' <arnaldo.gerner@mstech.com.br>
Assunto: RES: Solicitações para os Blues

Nos relatórios que já existem, adicionar/alterar onde for possível:

1 – em todos os relatórios, filtrar por intervalo de data, para pegar o ranking exatamente daquele intervalo de data;

2 – Relatório por escola;

3 – Relatório por aplicação;


Lista Aplicações.png

TOP 10.png