Objetivo
Auxiliar e descrever como verificar as ações que foram executadas no OpMon através da base de dados.
Público-alvo
Destinado aos administradores do OpMon que necessitam executar uma auditoria no OpMon e entender e verificar os procedimentos que foram executados por outros usuários no OpMon.
Acessando a base
Se você possuir acesso root a base, acesse a mesma da seguinte maneira:
[root@opmon ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 235 Server version: 10.0.25-MariaDB MariaDB Server MariaDB [(none)]
Caso você não tenha acesso root a base, basta seguir o procedimento listado neste link.
Executando e compreendendo os comandos
Após logado na base de dados, a tabela que possuí o histórico das ações tomadas é a tabela history, que está presente na base opcfg.
a) Para saber quais foram as últimas 5 alterações executadas no OpMon, execute a seguinte query:
MariaDB [(none)]> select * from opcfg.history where query like '%UPDATE%' limit 5G *************************** 1. row *************************** id: 3 username: opmonadmin query: UPDATE nagios_contacts SET CONTACT_ID=1, ALIAS=/"/The system Admin/"/, HOST_NOTIFICATION_PERIOD=1, SERVICE_NOTIFICATION_PERIOD=1, EMAIL=/"/teste@teste.com.br/"/, PAGER=/"//"/, HOST_NOTIFICATION_OPTIONS_DOWN=/"/1/"/, HOST_NOTIFICATION_OPTIONS_UNREACHABLE=/"/1/"/, HOST_NOTIFICATION_OPTIONS_RECOVERY=/"/1/"/, SERVICE_NOTIFICATION_OPTIONS_WARNING=/"/1/"/, SERVICE_NOTIFICATION_OPTIONS_UNKNOWN=/"/1/"/, SERVICE_NOTIFICATION_OPTIONS_CRITICAL=/"/1/"/, SERVICE_NOTIFICATION_OPTIONS_RECOVERY=/"/1/"/, HOST_NOTIFICATION_OPTIONS_FLAPPING=/"/0/"/, SERVICE_NOTIFICATION_OPTIONS_FLAPPING=/"/0/"/, CONTACT_NAME=/"/opmonadmin/"/, COMMAND_EXECUTION=1, EXTERNAL_AUTH=0, TYPE=/"/0/"/, PASSWORD=/"/43e822cc4ef41e50b62d93fd55ea142f/"/, LANGUAGE=/"/pt_BR/"/, TAB_DASHBOARD=7, TAB_SCAT=3, TAB_REPORT=31, TAB_MONITORING=255, TAB_NETWORK=15, TAB_ADDITIONALMODULE=0, TAB_TOOL=127, THEME=/"/default/"/, EXPIRE_TIME=null, SHOW_SPLASHSCREEN=0, HOST_NOTIFICATION_OPTIONS_DOWNTIME=/"/0/"/, SERVICE_NOTIFICATION_OPTIONS_DOWNTIME=/"/0/"/ WHERE contact_id = /"/1/"/ ctime: 2016-10-11 09:35:33
Caso deseje trazer uma quantidade maior que as últimas 5 alterações, basta alterar o campo limit para a quantidade desejada.
b) Para saber quais foram as últimas 5 exclusões de hosts no OpMon, execute a seguinte query:
MariaDB [(none)]> select * from opcfg.history where query like '%DELETE from nagios_hosts %' limit 5; +----------+----------------+-----------------------------------------------------+---------------------+ | id | username | query | ctime | +----------+----------------+-----------------------------------------------------+---------------------+ | 32862972 | opmonadmin | DELETE FROM nagios_hosts WHERE host_id = /"/2551/"/ | 2016-09-15 10:36:26 | | 32928412 | opmonadmin | DELETE FROM nagios_hosts WHERE host_id = /"/941/"/ | 2016-09-26 19:17:26 | | 33056492 | opmonadmin | DELETE FROM nagios_hosts WHERE host_id = /"/1501/"/ | 2016-09-30 10:33:51 | | 33090482 | opmonadmin | DELETE FROM nagios_hosts WHERE host_id = /"/172/"/ | 2016-10-19 13:13:00 | | 33174552 | opmonadmin | DELETE FROM nagios_hosts WHERE host_id = /"/471/"/ | 2016-11-11 08:41:19 | +----------+----------------+-----------------------------------------------------+---------------------+
Caso deseje trazer uma quantidade maior que as últimas 5 exclusões, basta alterar o campo limit para a quantidade desejada.
c) Para saber quais foram as últimas 5 exclusões de serviços no OpMon, execute a seguinte query:
MariaDB [(none)]> select * from opcfg.history where query like '%DELETE from nagios_services %' limit 5; +----------+----------------+-------------------------------------------------------------+---------------------+ | id | username | query | ctime | +----------+----------------+-------------------------------------------------------------+---------------------+ | 32861902 | opmonadmin | DELETE FROM nagios_services WHERE service_id = /"/104952/"/ | 2016-09-14 09:08:04 | | 32862022 | opmonadmin | DELETE FROM nagios_services WHERE service_id = /"/104992/"/ | 2016-09-14 09:08:04 | | 32862142 | opmonadmin | DELETE FROM nagios_services WHERE service_id = /"/105032/"/ | 2016-09-14 09:08:05 | | 32862262 | opmonadmin | DELETE FROM nagios_services WHERE service_id = /"/105072/"/ | 2016-09-14 09:08:06 | | 32862842 | opmonadmin | DELETE FROM nagios_services WHERE service_id = /"/107151/"/ | 2016-09-15 10:36:24 | +----------+----------------+-------------------------------------------------------------+---------------------+
Caso deseje trazer uma quantidade maior que as últimas 5 exclusões, basta alterar o campo limit para a quantidade desejada.
d) Para saber as últimas 5 alterações de parâmetros no OpMon, execute a seguinte query:
MariaDB [(none)]> select * from opcfg.history where query like '%parameter%' limit 15; +----------+------------+------------------------------------------------------------------------------------------------------------------+---------------------+ | id | username | query | ctime | +----------+------------+------------------------------------------------------------------------------------------------------------------+---------------------+ | 32818791 | opmonadmin | DELETE FROM nagios_services_check_command_parameters WHERE service_id = /"/24641/"/ | 2016-09-12 09:51:20 | | 32818871 | opmonadmin | INSERT INTO nagios_services_check_command_parameters (service_id, parameter) VALUES (/"/24641/"/, /"/val_xls/"/) | 2016-09-12 09:51:20 | | 32819091 | opmonadmin | DELETE FROM nagios_services_check_command_parameters WHERE service_id = /"/15851/"/ | 2016-09-12 09:51:20 | | 32818891 | opmonadmin | DELETE FROM nagios_services_check_command_parameters WHERE service_id = /"/15481/"/ | 2016-09-12 09:51:20 | | 32818971 | opmonadmin | INSERT INTO nagios_services_check_command_parameters (service_id, parameter) VALUES (/"/15481/"/, /"/val_xls/"/) | 2016-09-12 09:51:20 | +----------+------------+------------------------------------------------------------------------------------------------------------------+---------------------+
Caso deseje trazer uma quantidade maior que as últimas 5 alterações, basta alterar o campo limit para a quantidade desejada.
e) Na query exemplificada anteriormente, é listado o service_id do serviço alterado, para saber o nome do serviço, execute a seguinte query:
MariaDB [(none)]> select service_id,service_description from opcfg.nagios_services where service_id=15481; +------------+---------------------+ | service_id | service_description | +------------+---------------------+ | 15481 | Download | +------------+---------------------+
Para listar outros nomes de serviços, basta alterar o campo service_id para o respectivo id.
f) Caso se tenha alguma dúvida sobre quais os campos apresentados na tabela ou de como é a sua estrutura, basta executar o comando desc:
MariaDB [(none)]> desc opcfg.nagios_hosts; +----------------------------------+------------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------------------------+------------------+------+-----+-------------------+----------------+ | host_id | int(11) unsigned | NO | PRI | NULL | auto_increment | | use_template_id | int(11) unsigned | YES | MUL | NULL | | | host_name | varchar(128) | YES | UNI | NULL | | | alias | varchar(256) | YES | | NULL | | | address | varchar(256) | YES | MUL | NULL | | | parents | int(11) unsigned | YES | MUL | NULL | | | check_command | int(11) unsigned | YES | | NULL | | | max_check_attempts | int(2) | YES | | NULL | | | check_interval | int(8) | YES | | NULL | | ...
Este comando serve para descrever qualquer tabela dentro da base de dados, para isso pasta informar qual a tabela que deseja verificar a alteração.