Audit merupakan tugas yang penting untuk memonitoring lingkungan database. informasi dari hasil audit dapat membantu untuk memecahkan masalah baik dari sisi performance database atau dari sisi aplikasi, serta memungkinkan juga melihat query apa saja yang sedang diproses.

Pada MariaDB terdapat juga plugin untuk audit yang dapat berfungsi juga di MySQL, secara default saat menginstal paket MariaDB plugin tersebut sudah ada namun masih belum diaktifkan. Jika menggunakan linux_x86_64 plugin direktori berada di /usr/lib64/mysql/plugin (di CentOS-6)

Kali ini, kita akan coba mengaktifkan plugin untuk audit pada MariaDB, caranya adalah sebagai berikut

pada prompt shell Mariadb jalankan perintah berikut ini

MariaDB [mysql]> show variables like 'plugin_dir';
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| plugin_dir    | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)

jika output nya seperti diatas , maka kita dapat melanjutkan untuk melakukan installasi plugin audit tersebut. perintah untuk menginstalnya adalah sebagai berikut

MariaDB [mysql]> INSTALL PLUGIN server_audit SONAME 'server_audit';
Query OK, 0 rows affected (0.04 sec)

untuk mengetahui bahwa plugin tersebut sudah terinstal dan aktif jalankan perintah berikut

MariaDB [mysql]> show plugins;
+-----------------------------+----------+--------------------+-----------------+---------+
| Name                        | Status   | Type               | Library         | License |
+-----------------------------+----------+--------------------+-----------------+---------+
| binlog                      | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| mysql_native_password       | ACTIVE   | AUTHENTICATION     | NULL            | GPL     |
| mysql_old_password          | ACTIVE   | AUTHENTICATION     | NULL            | GPL     |
| MEMORY                      | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| MRG_MyISAM                  | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| CSV                         | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| MyISAM                      | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| Aria                        | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| PERFORMANCE_SCHEMA          | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| ARCHIVE                     | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| FEDERATED                   | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| InnoDB                      | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| XTRADB_READ_VIEW            | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| XTRADB_INTERNAL_HASH_TABLES | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| XTRADB_RSEG                 | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_TRX                  | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_LOCKS                | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_LOCK_WAITS           | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMP                  | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMP_RESET            | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMPMEM               | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMPMEM_RESET         | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMP_PER_INDEX        | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CMP_PER_INDEX_RESET  | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_BUFFER_PAGE          | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_BUFFER_PAGE_LRU      | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_BUFFER_POOL_STATS    | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_METRICS              | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_DEFAULT_STOPWORD  | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_DELETED           | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_BEING_DELETED     | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_CONFIG            | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_INDEX_CACHE       | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_FT_INDEX_TABLE       | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_TABLES           | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_TABLESTATS       | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_INDEXES          | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_COLUMNS          | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_FIELDS           | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_FOREIGN          | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_FOREIGN_COLS     | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_TABLESPACES      | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_SYS_DATAFILES        | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| INNODB_CHANGED_PAGES        | ACTIVE   | INFORMATION SCHEMA | NULL            | GPL     |
| BLACKHOLE                   | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| FEEDBACK                    | DISABLED | INFORMATION SCHEMA | NULL            | GPL     |
| partition                   | ACTIVE   | STORAGE ENGINE     | NULL            | GPL     |
| SERVER_AUDIT                | ACTIVE   | AUDIT              | server_audit.so | GPL     |
+-----------------------------+----------+--------------------+-----------------+---------+
48 rows in set (0.00 sec)

dapat dilihat pada baris paling bawah bahwa plugin “SERVER_AUDIT” sudah terinstal dan aktif, kita juga dapat melihat variable-variable yang berhubungan dengan server_audit dengan menjalankan perintah berikut

MariaDB [mysql]> SHOW GLOBAL VARIABLES LIKE "server_audit%";
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| server_audit_events           |                       |
| server_audit_excl_users       |                       |
| server_audit_file_path        | server_audit.log      |
| server_audit_file_rotate_now  | OFF                   |
| server_audit_file_rotate_size | 1000000               |
| server_audit_file_rotations   | 9                     |
| server_audit_incl_users       |                       |
| server_audit_logging          | OFF                   |
| server_audit_mode             | 0                     |
| server_audit_output_type      | file                  |
| server_audit_query_log_limit  | 1024                  |
| server_audit_syslog_facility  | LOG_USER              |
| server_audit_syslog_ident     | mysql-server_auditing |
| server_audit_syslog_info      |                       |
| server_audit_syslog_priority  | LOG_INFO              |
+-------------------------------+-----------------------+
15 rows in set (0.00 sec)

jika sudah terlihat semua, maka untuk mengaktifkannya tambahkanlah beberapa variable yang berkaitan dengan audit plugin di file my.cnf, seperti di bawah ini

#Audit Plugin#
server_audit_logging=on
server_audit_events=CONNECT,QUERY,TABLE
server_audit_output_type=syslog

selanjutnya restart service MariaDB dan untuk melihat log dari audit ini bisa di lihat di /var/log/mesages atau /var/log/audit/audit.log

demikian semoga bermanfaat

Advertisements