1. Home
  2. Configurando
  3. OpMon
  4. Gerenciamento
  5. Verificando mudanças no OpMon através da base de dados

Verificando mudanças no OpMon através da base de dados

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 5\G
*************************** 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.

Updated on abril 11, 2017

Was this article helpful?