Desafio 5 - Monitoramento e Análise de Logs AWS
import java.util.*;
import java.util.stream.Collectors;
public class AWSLogAnalyzer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Ler a quantidade de logs a serem analisados
int numLogs = Integer.parseInt(scanner.nextLine());
// Criar um mapa para armazenar a contagem de eventos por serviço AWS
Map<String, Integer> eventosPorServico = new HashMap<>();
// Ler os logs e contar os eventos por serviço AWS
for (int i = 0; i < numLogs; i++) {
String[] logParts = scanner.nextLine().split(",");
String nomeServico = logParts[1];
eventosPorServico.put(nomeServico, eventosPorServico.getOrDefault(nomeServico, 0) + 1);
}
// Encontrar o serviço AWS com a maior e a menor quantidade de eventos
String maiorServico = eventosPorServico.entrySet().stream()
.max(Map.Entry.comparingByValue())
.get()
.getKey();
String menorServico = eventosPorServico.entrySet().stream()
.min(Map.Entry.comparingByValue())
.get()
.getKey();
// Exibir os resultados da análise
System.out.println("Eventos por servico:");
eventosPorServico.forEach((servico, quantidade) -> {
System.out.println(servico + ":" + quantidade);
});
System.out.println("Maior:" + maiorServico);
System.out.println("Menor:" + menorServico);
scanner.close();
}
}