Registro de auditoría de MySQL La auditoría de McAfee es compatible con MySQL 8.0
Idea: conexión SSH al servidor, lectura de archivos json, procesamiento de datos y visualización en el front-end
plan:
- Lea el contenido del archivo json, procéselo de forma sencilla y muéstrelo directamente en el front-end
- Tareas programadas, leer contenido de archivos json, procesar datos, guardar en MySQL, interfaz de escritura de back-end, visualización de front-end
Dependencias importantes:
<!-- ssh -->
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>262</version>
</dependency>
Parte de la visualización del código:
public void exec(String host, String user, String password, String[] cmd) {
try {
Connection connection = new Connection(host);
connection.connect();
boolean authenticate = connection.authenticateWithPassword(user, password);
if (!authenticate) {
system.out.println("服务器认证失败");
}
Session session = null;
for (int i = 0; i < cmd.length; i++) {
session = connection.openSession();
session.execCommand(cmd[i]);
InputStream stdout = new StreamGobbler(session.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
String line = br.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
stdout.close();
session.close();
}
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void test() {
exec("【主机】", "【用户名】", "【密码】", new String[]{
"tail -n 20 /var/lib/mysql/mysql-audit.json | grep \"\""});
}