[{"data":1,"prerenderedAt":1242},["ShallowReactive",2],{"docs-reporting-creating-a-query-":3,"docs-navigation":1098},{"id":4,"title":5,"body":6,"dateModified":1088,"datePublished":1088,"description":1089,"extension":1090,"meta":1091,"navigation":1092,"path":1093,"proficiencyLevel":1094,"seo":1095,"stem":1096,"__hash__":1097},"docs\u002Fdocs\u002F4.reporting\u002F3.creating-a-query.md","Creating a Query in Open-AudIT",{"type":7,"value":8,"toc":1070},"minimark",[9,14,18,23,26,36,44,52,58,86,92,96,144,148,153,156,272,275,279,302,364,368,374,399,406,410,414,623,627,750,754,912,916,1055,1059,1066],[10,11,13],"h1",{"id":12},"creating-a-query","Creating a Query",[15,16,17],"p",{},"Queries are one of the most powerful tools in Open-AudIT. Once you understand the basic structure, you can extract almost any information from your device database.",[19,20,22],"h2",{"id":21},"how-queries-work","How Queries Work",[15,24,25],{},"A query is a SQL SELECT statement. Open-AudIT runs it against the database and automatically applies:",[27,28,29,33],"ul",{},[30,31,32],"li",{},"The current user's organisation filter (so users only see their devices)",[30,34,35],{},"Any active filters or limits you've applied",[15,37,38,39,43],{},"The query is executed by navigating to ",[40,41,42],"code",{},"\u002Fopen-audit\u002Findex.php\u002Fqueries\u002F{id}\u002Fexecute",", or by clicking the Execute button in the GUI.",[19,45,47,48,51],{"id":46},"the-filter-requirement","The ",[40,49,50],{},"@filter"," Requirement",[15,53,54,55,57],{},"Your WHERE clause must include ",[40,56,50],{},". Open-AudIT replaces this placeholder with the appropriate user permission filter at runtime.",[59,60,65],"pre",{"className":61,"code":62,"language":63,"meta":64,"style":64},"language-sql shiki shiki-themes github-light github-dark","WHERE @filter AND your_conditions_here\n","sql","",[40,66,67],{"__ignoreMap":64},[68,69,72,76,80,83],"span",{"class":70,"line":71},"line",1,[68,73,75],{"class":74},"szBVR","WHERE",[68,77,79],{"class":78},"sVt8B"," @filter ",[68,81,82],{"class":74},"AND",[68,84,85],{"class":78}," your_conditions_here\n",[15,87,88,89,91],{},"If you omit ",[40,90,50],{},", Open-AudIT will warn you. Only Admin-role users can create queries without it.",[19,93,95],{"id":94},"creating-your-first-query","Creating Your First Query",[97,98,99,106,113,120,135,138],"ol",{},[30,100,101,102],{},"Go to ",[103,104,105],"strong",{},"Menu → Manage → Queries → Create Queries",[30,107,108,109,112],{},"Give the query a ",[103,110,111],{},"Name"," — this is what appears in the menu",[30,114,115,116,119],{},"Choose a ",[103,117,118],{},"Menu Category"," — which submenu it will appear under in the Reports menu",[30,121,122,123,126,127,130,131,134],{},"Set ",[103,124,125],{},"Menu Display"," to ",[40,128,129],{},"y"," to make it appear in the GUI (or ",[40,132,133],{},"n"," to hide it but still allow direct execution)",[30,136,137],{},"Write your SQL in the query field",[30,139,140,141],{},"Click ",[103,142,143],{},"Submit",[19,145,147],{"id":146},"writing-the-sql","Writing the SQL",[149,150,152],"h3",{"id":151},"the-select","The SELECT",[15,154,155],{},"Use full dot notation for every column. Each column must be aliased with its full name:",[59,157,159],{"className":61,"code":158,"language":63,"meta":64,"style":64},"SELECT\n  devices.id AS `devices.id`,\n  devices.type AS `devices.type`,\n  devices.name AS `devices.name`,\n  devices.ip AS `devices.ip`,\n  devices.manufacturer AS `devices.manufacturer`,\n  devices.model AS `devices.model`\n",[40,160,161,166,189,206,223,240,257],{"__ignoreMap":64},[68,162,163],{"class":70,"line":71},[68,164,165],{"class":74},"SELECT\n",[68,167,169,173,176,179,182,186],{"class":70,"line":168},2,[68,170,172],{"class":171},"sj4cs","  devices",[68,174,175],{"class":78},".",[68,177,178],{"class":171},"id",[68,180,181],{"class":74}," AS",[68,183,185],{"class":184},"sZZnC"," `devices.id`",[68,187,188],{"class":78},",\n",[68,190,192,194,196,199,201,204],{"class":70,"line":191},3,[68,193,172],{"class":171},[68,195,175],{"class":78},[68,197,198],{"class":171},"type",[68,200,181],{"class":74},[68,202,203],{"class":184}," `devices.type`",[68,205,188],{"class":78},[68,207,209,211,213,216,218,221],{"class":70,"line":208},4,[68,210,172],{"class":171},[68,212,175],{"class":78},[68,214,215],{"class":171},"name",[68,217,181],{"class":74},[68,219,220],{"class":184}," `devices.name`",[68,222,188],{"class":78},[68,224,226,228,230,233,235,238],{"class":70,"line":225},5,[68,227,172],{"class":171},[68,229,175],{"class":78},[68,231,232],{"class":171},"ip",[68,234,181],{"class":74},[68,236,237],{"class":184}," `devices.ip`",[68,239,188],{"class":78},[68,241,243,245,247,250,252,255],{"class":70,"line":242},6,[68,244,172],{"class":171},[68,246,175],{"class":78},[68,248,249],{"class":171},"manufacturer",[68,251,181],{"class":74},[68,253,254],{"class":184}," `devices.manufacturer`",[68,256,188],{"class":78},[68,258,260,262,264,267,269],{"class":70,"line":259},7,[68,261,172],{"class":171},[68,263,175],{"class":78},[68,265,266],{"class":171},"model",[68,268,181],{"class":74},[68,270,271],{"class":184}," `devices.model`\n",[15,273,274],{},"This format is required for the GUI to enable column filtering.",[149,276,278],{"id":277},"the-from-and-joins","The FROM and JOINs",[15,280,281,282,285,286,289,290,293,294,297,298,301],{},"Use LEFT JOINs to include component tables. Every component table has a ",[40,283,284],{},"device_id"," column that links back to ",[40,287,288],{},"devices.id",", and a ",[40,291,292],{},"current"," column (",[40,295,296],{},"'y'"," or ",[40,299,300],{},"'n'",") that indicates whether that component is still present on the device.",[59,303,305],{"className":61,"code":304,"language":63,"meta":64,"style":64},"FROM devices\nLEFT JOIN software ON (software.device_id = devices.id AND software.current = 'y')\n",[40,306,307,315],{"__ignoreMap":64},[68,308,309,312],{"class":70,"line":71},[68,310,311],{"class":74},"FROM",[68,313,314],{"class":78}," devices\n",[68,316,317,320,323,326,329,332,334,336,339,342,344,346,349,352,354,356,358,361],{"class":70,"line":168},[68,318,319],{"class":74},"LEFT JOIN",[68,321,322],{"class":78}," software ",[68,324,325],{"class":74},"ON",[68,327,328],{"class":78}," (",[68,330,331],{"class":171},"software",[68,333,175],{"class":78},[68,335,284],{"class":171},[68,337,338],{"class":74}," =",[68,340,341],{"class":171}," devices",[68,343,175],{"class":78},[68,345,178],{"class":171},[68,347,348],{"class":74}," AND",[68,350,351],{"class":171}," software",[68,353,175],{"class":78},[68,355,292],{"class":171},[68,357,338],{"class":74},[68,359,360],{"class":184}," 'y'",[68,362,363],{"class":78},")\n",[149,365,367],{"id":366},"the-where","The WHERE",[15,369,370,371,373],{},"Always include ",[40,372,50],{},":",[59,375,377],{"className":61,"code":376,"language":63,"meta":64,"style":64},"WHERE @filter AND software.name LIKE '%Adobe%'\n",[40,378,379],{"__ignoreMap":64},[68,380,381,383,385,387,389,391,393,396],{"class":70,"line":71},[68,382,75],{"class":74},[68,384,79],{"class":78},[68,386,82],{"class":74},[68,388,351],{"class":171},[68,390,175],{"class":78},[68,392,215],{"class":171},[68,394,395],{"class":74}," LIKE",[68,397,398],{"class":184}," '%Adobe%'\n",[400,401,403],"docs-callout",{"type":402},"tip",[15,404,405],{},"The backtick character (`) is used for field names, not the single quote. On US keyboards it's in the top-left, next to the 1 key.",[19,407,409],{"id":408},"example-queries","Example Queries",[149,411,413],{"id":412},"devices-older-than-3-years","Devices Older Than 3 Years",[59,415,417],{"className":61,"code":416,"language":63,"meta":64,"style":64},"SELECT\n  devices.id AS `devices.id`,\n  devices.name AS `devices.name`,\n  devices.type AS `devices.type`,\n  devices.manufacturer AS `devices.manufacturer`,\n  devices.model AS `devices.model`,\n  devices.purchase_date AS `devices.purchase_date`,\n  locations.name AS `locations.name`\nFROM devices\nLEFT JOIN locations ON (devices.location_id = locations.id)\nWHERE @filter\n  AND devices.purchase_date \u003C DATE_SUB(NOW(), INTERVAL 3 YEAR)\n  AND devices.serial NOT LIKE '%VM%'\n",[40,418,419,423,437,451,465,479,494,510,525,532,563,571,603],{"__ignoreMap":64},[68,420,421],{"class":70,"line":71},[68,422,165],{"class":74},[68,424,425,427,429,431,433,435],{"class":70,"line":168},[68,426,172],{"class":171},[68,428,175],{"class":78},[68,430,178],{"class":171},[68,432,181],{"class":74},[68,434,185],{"class":184},[68,436,188],{"class":78},[68,438,439,441,443,445,447,449],{"class":70,"line":191},[68,440,172],{"class":171},[68,442,175],{"class":78},[68,444,215],{"class":171},[68,446,181],{"class":74},[68,448,220],{"class":184},[68,450,188],{"class":78},[68,452,453,455,457,459,461,463],{"class":70,"line":208},[68,454,172],{"class":171},[68,456,175],{"class":78},[68,458,198],{"class":171},[68,460,181],{"class":74},[68,462,203],{"class":184},[68,464,188],{"class":78},[68,466,467,469,471,473,475,477],{"class":70,"line":225},[68,468,172],{"class":171},[68,470,175],{"class":78},[68,472,249],{"class":171},[68,474,181],{"class":74},[68,476,254],{"class":184},[68,478,188],{"class":78},[68,480,481,483,485,487,489,492],{"class":70,"line":242},[68,482,172],{"class":171},[68,484,175],{"class":78},[68,486,266],{"class":171},[68,488,181],{"class":74},[68,490,491],{"class":184}," `devices.model`",[68,493,188],{"class":78},[68,495,496,498,500,503,505,508],{"class":70,"line":259},[68,497,172],{"class":171},[68,499,175],{"class":78},[68,501,502],{"class":171},"purchase_date",[68,504,181],{"class":74},[68,506,507],{"class":184}," `devices.purchase_date`",[68,509,188],{"class":78},[68,511,513,516,518,520,522],{"class":70,"line":512},8,[68,514,515],{"class":171},"  locations",[68,517,175],{"class":78},[68,519,215],{"class":171},[68,521,181],{"class":74},[68,523,524],{"class":184}," `locations.name`\n",[68,526,528,530],{"class":70,"line":527},9,[68,529,311],{"class":74},[68,531,314],{"class":78},[68,533,535,537,540,542,544,547,549,552,554,557,559,561],{"class":70,"line":534},10,[68,536,319],{"class":74},[68,538,539],{"class":78}," locations ",[68,541,325],{"class":74},[68,543,328],{"class":78},[68,545,546],{"class":171},"devices",[68,548,175],{"class":78},[68,550,551],{"class":171},"location_id",[68,553,338],{"class":74},[68,555,556],{"class":171}," locations",[68,558,175],{"class":78},[68,560,178],{"class":171},[68,562,363],{"class":78},[68,564,566,568],{"class":70,"line":565},11,[68,567,75],{"class":74},[68,569,570],{"class":78}," @filter\n",[68,572,574,577,579,581,583,586,589,592,595,598,601],{"class":70,"line":573},12,[68,575,576],{"class":74},"  AND",[68,578,341],{"class":171},[68,580,175],{"class":78},[68,582,502],{"class":171},[68,584,585],{"class":74}," \u003C",[68,587,588],{"class":78}," DATE_SUB(",[68,590,591],{"class":74},"NOW",[68,593,594],{"class":78},"(), INTERVAL ",[68,596,597],{"class":171},"3",[68,599,600],{"class":74}," YEAR",[68,602,363],{"class":78},[68,604,606,608,610,612,615,618,620],{"class":70,"line":605},13,[68,607,576],{"class":74},[68,609,341],{"class":171},[68,611,175],{"class":78},[68,613,614],{"class":171},"serial",[68,616,617],{"class":74}," NOT",[68,619,395],{"class":74},[68,621,622],{"class":184}," '%VM%'\n",[149,624,626],{"id":625},"devices-with-expired-warranties","Devices with Expired Warranties",[59,628,630],{"className":61,"code":629,"language":63,"meta":64,"style":64},"SELECT\n  devices.id AS `devices.id`,\n  devices.name AS `devices.name`,\n  devices.warranty_expires AS `devices.warranty_expires`,\n  devices.manufacturer AS `devices.manufacturer`,\n  devices.model AS `devices.model`\nFROM devices\nWHERE @filter\n  AND devices.warranty_expires \u003C= CURDATE()\n  AND devices.serial NOT LIKE '%VM%'\n",[40,631,632,636,650,664,680,694,706,712,718,734],{"__ignoreMap":64},[68,633,634],{"class":70,"line":71},[68,635,165],{"class":74},[68,637,638,640,642,644,646,648],{"class":70,"line":168},[68,639,172],{"class":171},[68,641,175],{"class":78},[68,643,178],{"class":171},[68,645,181],{"class":74},[68,647,185],{"class":184},[68,649,188],{"class":78},[68,651,652,654,656,658,660,662],{"class":70,"line":191},[68,653,172],{"class":171},[68,655,175],{"class":78},[68,657,215],{"class":171},[68,659,181],{"class":74},[68,661,220],{"class":184},[68,663,188],{"class":78},[68,665,666,668,670,673,675,678],{"class":70,"line":208},[68,667,172],{"class":171},[68,669,175],{"class":78},[68,671,672],{"class":171},"warranty_expires",[68,674,181],{"class":74},[68,676,677],{"class":184}," `devices.warranty_expires`",[68,679,188],{"class":78},[68,681,682,684,686,688,690,692],{"class":70,"line":225},[68,683,172],{"class":171},[68,685,175],{"class":78},[68,687,249],{"class":171},[68,689,181],{"class":74},[68,691,254],{"class":184},[68,693,188],{"class":78},[68,695,696,698,700,702,704],{"class":70,"line":242},[68,697,172],{"class":171},[68,699,175],{"class":78},[68,701,266],{"class":171},[68,703,181],{"class":74},[68,705,271],{"class":184},[68,707,708,710],{"class":70,"line":259},[68,709,311],{"class":74},[68,711,314],{"class":78},[68,713,714,716],{"class":70,"line":512},[68,715,75],{"class":74},[68,717,570],{"class":78},[68,719,720,722,724,726,728,731],{"class":70,"line":527},[68,721,576],{"class":74},[68,723,341],{"class":171},[68,725,175],{"class":78},[68,727,672],{"class":171},[68,729,730],{"class":74}," \u003C=",[68,732,733],{"class":78}," CURDATE()\n",[68,735,736,738,740,742,744,746,748],{"class":70,"line":534},[68,737,576],{"class":74},[68,739,341],{"class":171},[68,741,175],{"class":78},[68,743,614],{"class":171},[68,745,617],{"class":74},[68,747,395],{"class":74},[68,749,622],{"class":184},[149,751,753],{"id":752},"devices-missing-description-or-function","Devices Missing Description or Function",[59,755,757],{"className":61,"code":756,"language":63,"meta":64,"style":64},"SELECT\n  devices.id AS `devices.id`,\n  devices.name AS `devices.name`,\n  devices.ip AS `devices.ip`,\n  devices.description AS `devices.description`,\n  devices.function AS `devices.function`,\n  devices.purchase_date AS `devices.purchase_date`\nFROM devices\nWHERE @filter\n  AND (devices.purchase_date = '2000-01-01'\n    OR devices.function = ''\n    OR devices.description = '')\n",[40,758,759,763,777,791,805,821,837,850,856,862,879,895],{"__ignoreMap":64},[68,760,761],{"class":70,"line":71},[68,762,165],{"class":74},[68,764,765,767,769,771,773,775],{"class":70,"line":168},[68,766,172],{"class":171},[68,768,175],{"class":78},[68,770,178],{"class":171},[68,772,181],{"class":74},[68,774,185],{"class":184},[68,776,188],{"class":78},[68,778,779,781,783,785,787,789],{"class":70,"line":191},[68,780,172],{"class":171},[68,782,175],{"class":78},[68,784,215],{"class":171},[68,786,181],{"class":74},[68,788,220],{"class":184},[68,790,188],{"class":78},[68,792,793,795,797,799,801,803],{"class":70,"line":208},[68,794,172],{"class":171},[68,796,175],{"class":78},[68,798,232],{"class":171},[68,800,181],{"class":74},[68,802,237],{"class":184},[68,804,188],{"class":78},[68,806,807,809,811,814,816,819],{"class":70,"line":225},[68,808,172],{"class":171},[68,810,175],{"class":78},[68,812,813],{"class":171},"description",[68,815,181],{"class":74},[68,817,818],{"class":184}," `devices.description`",[68,820,188],{"class":78},[68,822,823,825,827,830,832,835],{"class":70,"line":242},[68,824,172],{"class":171},[68,826,175],{"class":78},[68,828,829],{"class":171},"function",[68,831,181],{"class":74},[68,833,834],{"class":184}," `devices.function`",[68,836,188],{"class":78},[68,838,839,841,843,845,847],{"class":70,"line":259},[68,840,172],{"class":171},[68,842,175],{"class":78},[68,844,502],{"class":171},[68,846,181],{"class":74},[68,848,849],{"class":184}," `devices.purchase_date`\n",[68,851,852,854],{"class":70,"line":512},[68,853,311],{"class":74},[68,855,314],{"class":78},[68,857,858,860],{"class":70,"line":527},[68,859,75],{"class":74},[68,861,570],{"class":78},[68,863,864,866,868,870,872,874,876],{"class":70,"line":534},[68,865,576],{"class":74},[68,867,328],{"class":78},[68,869,546],{"class":171},[68,871,175],{"class":78},[68,873,502],{"class":171},[68,875,338],{"class":74},[68,877,878],{"class":184}," '2000-01-01'\n",[68,880,881,884,886,888,890,892],{"class":70,"line":565},[68,882,883],{"class":74},"    OR",[68,885,341],{"class":171},[68,887,175],{"class":78},[68,889,829],{"class":171},[68,891,338],{"class":74},[68,893,894],{"class":184}," ''\n",[68,896,897,899,901,903,905,907,910],{"class":70,"line":573},[68,898,883],{"class":74},[68,900,341],{"class":171},[68,902,175],{"class":78},[68,904,813],{"class":171},[68,906,338],{"class":74},[68,908,909],{"class":184}," ''",[68,911,363],{"class":78},[149,913,915],{"id":914},"all-open-ports-per-device","All Open Ports Per Device",[59,917,919],{"className":61,"code":918,"language":63,"meta":64,"style":64},"SELECT\n  devices.id AS `devices.id`,\n  devices.name AS `devices.name`,\n  devices.ip AS `devices.ip`,\n  nmap.port AS `nmap.port`,\n  nmap.protocol AS `nmap.protocol`,\n  nmap.program AS `nmap.program`\nFROM nmap\nLEFT JOIN devices ON (nmap.device_id = devices.id)\nWHERE @filter\n",[40,920,921,925,939,953,967,984,1000,1014,1021,1049],{"__ignoreMap":64},[68,922,923],{"class":70,"line":71},[68,924,165],{"class":74},[68,926,927,929,931,933,935,937],{"class":70,"line":168},[68,928,172],{"class":171},[68,930,175],{"class":78},[68,932,178],{"class":171},[68,934,181],{"class":74},[68,936,185],{"class":184},[68,938,188],{"class":78},[68,940,941,943,945,947,949,951],{"class":70,"line":191},[68,942,172],{"class":171},[68,944,175],{"class":78},[68,946,215],{"class":171},[68,948,181],{"class":74},[68,950,220],{"class":184},[68,952,188],{"class":78},[68,954,955,957,959,961,963,965],{"class":70,"line":208},[68,956,172],{"class":171},[68,958,175],{"class":78},[68,960,232],{"class":171},[68,962,181],{"class":74},[68,964,237],{"class":184},[68,966,188],{"class":78},[68,968,969,972,974,977,979,982],{"class":70,"line":225},[68,970,971],{"class":171},"  nmap",[68,973,175],{"class":78},[68,975,976],{"class":171},"port",[68,978,181],{"class":74},[68,980,981],{"class":184}," `nmap.port`",[68,983,188],{"class":78},[68,985,986,988,990,993,995,998],{"class":70,"line":242},[68,987,971],{"class":171},[68,989,175],{"class":78},[68,991,992],{"class":171},"protocol",[68,994,181],{"class":74},[68,996,997],{"class":184}," `nmap.protocol`",[68,999,188],{"class":78},[68,1001,1002,1004,1006,1009,1011],{"class":70,"line":259},[68,1003,971],{"class":171},[68,1005,175],{"class":78},[68,1007,1008],{"class":171},"program",[68,1010,181],{"class":74},[68,1012,1013],{"class":184}," `nmap.program`\n",[68,1015,1016,1018],{"class":70,"line":512},[68,1017,311],{"class":74},[68,1019,1020],{"class":78}," nmap\n",[68,1022,1023,1025,1028,1030,1032,1035,1037,1039,1041,1043,1045,1047],{"class":70,"line":527},[68,1024,319],{"class":74},[68,1026,1027],{"class":78}," devices ",[68,1029,325],{"class":74},[68,1031,328],{"class":78},[68,1033,1034],{"class":171},"nmap",[68,1036,175],{"class":78},[68,1038,284],{"class":171},[68,1040,338],{"class":74},[68,1042,341],{"class":171},[68,1044,175],{"class":78},[68,1046,178],{"class":171},[68,1048,363],{"class":78},[68,1050,1051,1053],{"class":70,"line":534},[68,1052,75],{"class":74},[68,1054,570],{"class":78},[19,1056,1058],{"id":1057},"exploring-the-database-schema","Exploring the Database Schema",[15,1060,1061,1062,1065],{},"Not sure which table or column to use? Go to ",[103,1063,1064],{},"Menu → Admin → Database → List Tables"," to browse the full database schema. Click the details icon next to any table to see its columns and types.",[1067,1068,1069],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":64,"searchDepth":168,"depth":168,"links":1071},[1072,1073,1075,1076,1081,1087],{"id":21,"depth":168,"text":22},{"id":46,"depth":168,"text":1074},"The @filter Requirement",{"id":94,"depth":168,"text":95},{"id":146,"depth":168,"text":147,"children":1077},[1078,1079,1080],{"id":151,"depth":191,"text":152},{"id":277,"depth":191,"text":278},{"id":366,"depth":191,"text":367},{"id":408,"depth":168,"text":409,"children":1082},[1083,1084,1085,1086],{"id":412,"depth":191,"text":413},{"id":625,"depth":191,"text":626},{"id":752,"depth":191,"text":753},{"id":914,"depth":191,"text":915},{"id":1057,"depth":168,"text":1058},"2026-04-10","Learn how to write custom SQL queries in Open-AudIT to extract device information, with examples for common use cases like warranty tracking and open ports.","md",{},{"title":13},"\u002Fdocs\u002Freporting\u002Fcreating-a-query","Intermediate",{"title":5,"description":1089},"docs\u002F4.reporting\u002F3.creating-a-query","9yEEXebrCx850H1Ypx3Di_0DPgRBQXfbZp0My4r-A0Q",[1099],{"title":1100,"path":1101,"stem":1102,"children":1103},"Docs","\u002Fdocs","docs",[1104,1108,1120,1142,1173,1191,1198,1220,1237],{"title":1105,"path":1101,"stem":1106,"description":1107},"Overview","docs\u002Findex","Guides to help you install, configure, and get the most out of Open-AudIT — a powerful network discovery, audit, and asset tracking system.",{"title":1109,"path":1110,"stem":1111,"children":1112,"description":1114},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[1113,1115],{"title":1109,"path":1110,"stem":1111,"description":1114},"Get from a fresh install to discovering devices on your network in under 10 minutes. This guide walks through each step in order.",{"title":1116,"path":1117,"stem":1118,"description":1119},"Activating Your License","\u002Fdocs\u002Fgetting-started\u002Factivating-your-license","docs\u002F1.getting-started\u002F2.activating-your-license","How to activate your free 100-device Open-AudIT Enterprise license after installation.",{"title":1121,"path":1122,"stem":1123,"children":1124,"description":1126},"Installation","\u002Fdocs\u002Finstallation","docs\u002F2.installation\u002F1.index",[1125,1127,1132,1137],{"title":1121,"path":1122,"stem":1123,"description":1126},"Install or upgrade Open-AudIT on Windows Server or Linux. Includes virtual appliance option for the fastest setup.",{"title":1128,"path":1129,"stem":1130,"description":1131},"Server Requirements","\u002Fdocs\u002Finstallation\u002Fserver-requirements","docs\u002F2.installation\u002F2.server-requirements","Hardware, operating system, browser, and dependency requirements for running Open-AudIT.",{"title":1133,"path":1134,"stem":1135,"description":1136},"Install on Linux","\u002Fdocs\u002Finstallation\u002Finstall-linux","docs\u002F2.installation\u002F3.install-linux","Step-by-step guide to installing Open-AudIT on supported Linux distributions including Red Hat, Rocky Linux, Debian, and Ubuntu.",{"title":1138,"path":1139,"stem":1140,"description":1141},"Install on Windows","\u002Fdocs\u002Finstallation\u002Finstall-windows","docs\u002F2.installation\u002F4.install-windows","Step-by-step guide to installing Open-AudIT on Windows Server, including Nmap and Visual C++ prerequisites.",{"title":1105,"path":1143,"stem":1144,"children":1145,"description":1147},"\u002Fdocs\u002Fdiscovery","docs\u002F3.discovery\u002F1.index",[1146,1148,1153,1158,1163,1168],{"title":1105,"path":1143,"stem":1144,"description":1147},"Discovery is how Open-AudIT finds and audits devices on your network. Learn about credentials, running scans, discovery types, and how it all works under the hood.",{"title":1149,"path":1150,"stem":1151,"description":1152},"Credentials","\u002Fdocs\u002Fdiscovery\u002Fcredentials","docs\u002F3.discovery\u002F2.credentials","Learn how to create and manage the credential sets Open-AudIT uses to authenticate with devices during network discovery.",{"title":1154,"path":1155,"stem":1156,"description":1157},"Running a Discovery","\u002Fdocs\u002Fdiscovery\u002Frunning-a-discovery","docs\u002F3.discovery\u002F3.running-a-discovery","Step-by-step guide to creating and running your first network discovery in Open-AudIT, including advanced options and scheduling.",{"title":1159,"path":1160,"stem":1161,"description":1162},"Discovery Types","\u002Fdocs\u002Fdiscovery\u002Fdiscovery-types","docs\u002F3.discovery\u002F4.discovery-types","Open-AudIT supports Subnet, Active Directory, and Seed discovery types. Learn when to use each and how they work.",{"title":1164,"path":1165,"stem":1166,"description":1167},"How It Works","\u002Fdocs\u002Fdiscovery\u002Fhow-discovery-works","docs\u002F3.discovery\u002F5.how-discovery-works","A detailed look at what Open-AudIT does during a discovery — from Nmap scanning through credential testing, audit script execution, and data processing.",{"title":1169,"path":1170,"stem":1171,"description":1172},"Matching Devices","\u002Fdocs\u002Fdiscovery\u002Fmatching-devices","docs\u002F3.discovery\u002F6.matching-devices","How Open-AudIT decides whether a discovered device is new or already exists in the database, and how to configure match rules to avoid duplicates.",{"title":1174,"path":1175,"stem":1176,"children":1177,"description":1179},"Reporting","\u002Fdocs\u002Freporting","docs\u002F4.reporting\u002F1.index",[1178,1180,1185,1186],{"title":1174,"path":1175,"stem":1176,"description":1179},"Open-AudIT gives you multiple ways to pull meaningful information out of collected data using Queries, Summaries, and Reports.",{"title":1181,"path":1182,"stem":1183,"description":1184},"Queries, Summaries & Reports","\u002Fdocs\u002Freporting\u002Fqueries-summaries-reports","docs\u002F4.reporting\u002F2.queries-summaries-reports","Understand the three types of reporting in Open-AudIT — Queries, Summaries, and Reports — how they differ, and how to use filters and permissions.",{"title":13,"path":1093,"stem":1096,"description":1089},{"title":1187,"path":1188,"stem":1189,"description":1190},"Groups","\u002Fdocs\u002Freporting\u002Fgroups","docs\u002F4.reporting\u002F4.groups","Learn how to use Groups in Open-AudIT to create dynamic collections of devices for filtering reports, building dashboards, and baselining configurations.",{"title":1192,"path":1193,"stem":1194,"children":1195,"description":1197},"Dashboards","\u002Fdocs\u002Fdashboards","docs\u002F5.dashboards\u002F1.index",[1196],{"title":1192,"path":1193,"stem":1194,"description":1197},"Configure and customise Open-AudIT dashboards and widgets to create at-a-glance visual overviews of your network environment.",{"title":1199,"path":1200,"stem":1201,"children":1202,"description":1204},"Administration","\u002Fdocs\u002Fadministration","docs\u002F6.administration\u002F1.index",[1203,1205,1210,1215],{"title":1199,"path":1200,"stem":1201,"description":1204},"Covers the ongoing administration of Open-AudIT including configuration, user management, permissions, and backup procedures.",{"title":1206,"path":1207,"stem":1208,"description":1209},"Configuration","\u002Fdocs\u002Fadministration\u002Fconfiguration","docs\u002F6.administration\u002F2.configuration","Key configuration settings in Open-AudIT covering discovery behaviour, change logging, data retention, and how to edit them.",{"title":1211,"path":1212,"stem":1213,"description":1214},"Users, Roles & Orgs","\u002Fdocs\u002Fadministration\u002Fusers-roles-orgs","docs\u002F6.administration\u002F3.users-roles-orgs","Understand Open-AudIT's role-based access control system including users, roles, organisations, LDAP integration, and permission inheritance.",{"title":1216,"path":1217,"stem":1218,"description":1219},"Backup & Restore","\u002Fdocs\u002Fadministration\u002Fbackup-restore","docs\u002F6.administration\u002F4.backup-restore","How to back up and restore your Open-AudIT database on Linux and Windows, including database reset procedures.",{"title":1221,"path":1222,"stem":1223,"children":1224,"description":1226},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F7.troubleshooting\u002F1.index",[1225,1227,1232],{"title":1221,"path":1222,"stem":1223,"description":1226},"General troubleshooting guidance for Open-AudIT covering discovery problems, common errors, and first steps for diagnosing issues.",{"title":1228,"path":1229,"stem":1230,"description":1231},"Common Errors","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-errors","docs\u002F7.troubleshooting\u002F2.common-errors","Explanations and solutions for common Open-AudIT error messages including MySQL lock errors, LDAP issues, Apache problems, and license screens.",{"title":1233,"path":1234,"stem":1235,"description":1236},"Discovery Problems","\u002Fdocs\u002Ftroubleshooting\u002Fdiscovery-problems","docs\u002F7.troubleshooting\u002F3.discovery-problems","Troubleshoot Open-AudIT discovery issues including devices not found, duplicate records, Nmap problems, stuck queues, and cross-platform auditing.",{"title":1238,"path":1239,"stem":1240,"description":1241},"Release Notes","\u002Fdocs\u002Frelease-notes","docs\u002Frelease-notes","What's new in each Open-AudIT release — features, fixes, and improvements.",1779864901287]