Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mysql> describe varbinds;
- +---------+----------------------------------------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +---------+----------------------------------------------+------+-----+---------+-------+
- | trap_id | int(11) unsigned | NO | PRI | 0 | |
- | msgdate | date | NO | | NULL | |
- | msgtime | time | NO | | NULL | |
- | oid | varchar(64) | NO | PRI | NULL | |
- | type | enum('boolean',[....],'counter64','unused2') | NO | | NULL | |
- | value | blob | NO | | NULL | |
- +---------+----------------------------------------------+------+-----+---------+-------+
- mysql> show create table varbinds;
- +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | Table | Create Table |
- +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | varbinds | CREATE TABLE `varbinds` (
- `trap_id` int(11) unsigned NOT NULL DEFAULT '0',
- `msgdate` date NOT NULL,
- `msgtime` time NOT NULL,
- `oid` varchar(64) NOT NULL,
- `type` enum('boolean','integer','bit','octet','null','oid','ipaddress','counter','unsigned','timeticks','opaque','unused1','counter64','unused2') NOT NULL,
- `value` blob NOT NULL,
- PRIMARY KEY (`trap_id`,`oid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
- mysql> select * from varbinds where trap_id = 9984589;
- +---------+------------+----------+-------------------------------------------------------+-----------+----------------------------------------------+
- | trap_id | msgdate | msgtime | oid | type | value |
- +---------+------------+----------+-------------------------------------------------------+-----------+----------------------------------------------+
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.2.1.1.3.0 | timeticks | Timeticks: (147490400) 17 days, 1:41:44.00 |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.513.1.1.1.1.5.x.x.x.x.x | octet | STRING: "apname" |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.513.1.2.1.1.1.0 | unsigned | Gauge32: 1 |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.27.x.x.x.x.x | octet | STRING: "username" |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.28.x.x.x.x.x | octet | STRING: "ssid" |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.38.x.x.x.x.x | octet | STRING: "55ed2de2/ac:29:3a:b7:91:73/1133797" |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.8.x.x.x.x.x | octet | Hex-STRING: 70 10 5C DA 16 B0 |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.2.1.2.0 | integer | INTEGER: 1 |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.2.1.3.0 | octet | Hex-STRING: 0A 74 10 85 |
- | 9984589 | 2015-09-07 | 09:11:54 | .1.3.6.1.6.3.1.1.4.1.0 | oid | OID: .1.3.6.1.4.1.9.9.599.0.8 |
- +---------+------------+----------+-------------------------------------------------------+-----------+----------------------------------------------+
- 10 rows in set (0.03 sec)
- mysql> select * from varbinds where trap_id = 9984588;
- +---------+------------+----------+-----------------------------------+-----------+--------------------------------------------+
- | trap_id | msgdate | msgtime | oid | type | value |
- +---------+------------+----------+-----------------------------------+-----------+--------------------------------------------+
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.2.1.1.3.0 | timeticks | Timeticks: (147490400) 17 days, 1:41:44.00 |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.513.1.1.1.1.5.0 | octet | STRING: "apname" |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.513.1.2.1.1.1.0 | unsigned | Gauge32: 1 |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.1.0 | octet | Hex-STRING: AC 29 3A B7 91 73 |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.10.0 | ipaddress | IpAddress: 10.116.16.133 |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.27.0 | octet | STRING: "username" |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.28.0 | octet | STRING: "ssid" |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.4.1.9.9.599.1.3.1.1.8.0 | octet | Hex-STRING: 70 10 5C DA 16 B0 |
- | 9984588 | 2015-09-07 | 09:11:54 | .1.3.6.1.6.3.1.1.4.1.0 | oid | OID: .1.3.6.1.4.1.9.9.599.0.4 |
- +---------+------------+----------+-----------------------------------+-----------+--------------------------------------------+
- 9 rows in set (0.00 sec)
- Notice how the table contains traps of various lengths. And with various OID: .x.x.x.x.x in the value column. (Last row above)
- I care for traps with the current date, having a varbind containing (value = «OID: .1.3.6.1.4.1.9.9.599.0.4») and (matching substring from the value colum where the oid column contains .1.3.6.1.4.1.9.9.599.1.3.1.1.27.0)
- Query:
- select
- trap.trap_id as trap_id,
- trap.msgdate as msgdate,
- trap.msgtime as msgtime,
- user.value as username,
- agent_mac.value as agent_mac,
- agent_ip.value as agent_ip,
- ap_name.value as ap_name,
- ssid.value as ssid
- from varbinds as trap
- join varbinds as user
- on user.trap_id = trap.trap_id and user.oid = '.1.3.6.1.4.1.9.9.599.1.3.1.1.27.0'
- and trap.value = 'OID: .1.3.6.1.4.1.9.9.599.0.4'
- join varbinds as agent_ip
- on agent_ip.trap_id = trap.trap_id and agent_ip.oid = '.1.3.6.1.4.1.9.9.599.1.3.1.1.10.0'
- join varbinds as agent_mac
- on agent_mac.trap_id = trap.trap_id and agent_mac.oid = '.1.3.6.1.4.1.9.9.599.1.3.1.1.1.0'
- join varbinds as ap_name
- on ap_name.trap_id = trap.trap_id and ap_name.oid = '.1.3.6.1.4.1.9.9.513.1.1.1.1.5.0'
- join varbinds as ssid
- on ssid.trap_id = trap.trap_id and ssid.oid = '.1.3.6.1.4.1.9.9.599.1.3.1.1.28.0'
- where user.value like '%$USERINPUT%' and trap.msgdate = curdate() order by username, agent_mac, msgtime;
- Can I optimize the primary key in the table definition any further?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement