Difference between revisions of "Data export"
From Awesome Baozam
Line 3: | Line 3: | ||
To obtain data on request you can use the URL | To obtain data on request you can use the URL | ||
− | <nowiki>https://</nowiki>baozam.net/index.php?action=csv&hosts='''''<HOSTID>'''''&period='''''<PERIOD_IN_SECONDS>'''''&stime='''''<START_UNIXTIME>'''''&step='''''<STEP>''''' | + | '''1''' To get pass counters statisctic |
+ | <nowiki>https://</nowiki>baozam.net/index.php?action=csv&hosts='''''<HOSTID>'''''&period='''''<PERIOD_IN_SECONDS>'''''&stime='''''<START_UNIXTIME>'''''&step='''''<STEP>''''' | ||
+ | '''2''' To get statistic for any device item | ||
<nowiki>https://</nowiki>baozam.net/index.php?action=csv&items='''''<ITEMID 1>, <ITEMID 2>, <...>, <ITEMID N> '''''&period='''''<PERIOD_IN_SECONDS>'''''&stime='''''<START_UNIXTIME>'''''&step='''''<STEP>''''' | <nowiki>https://</nowiki>baozam.net/index.php?action=csv&items='''''<ITEMID 1>, <ITEMID 2>, <...>, <ITEMID N> '''''&period='''''<PERIOD_IN_SECONDS>'''''&stime='''''<START_UNIXTIME>'''''&step='''''<STEP>''''' | ||
− | |||
Script should pass login and password into '''POST''' request for authentication. | Script should pass login and password into '''POST''' request for authentication. | ||
''HOSTID'' - it's same id as in url of this device (host). | ''HOSTID'' - it's same id as in url of this device (host). | ||
For example https://baozam.net/index.php?obj=host&act=preview&id=10233 | For example https://baozam.net/index.php?obj=host&act=preview&id=10233 | ||
+ | |||
+ | ''ITEMID N'' - it's same id as in url of device items (host). | ||
+ | For example https://baozam.net/index.php?action=history&items=27714 | ||
''STIME'' - unixtime of '''begin''' of period. | ''STIME'' - unixtime of '''begin''' of period. |
Revision as of 15:56, 12 June 2018
Contents
To obtain data on request you can use the URL
1 To get pass counters statisctic https://baozam.net/index.php?action=csv&hosts=<HOSTID>&period=<PERIOD_IN_SECONDS>&stime=<START_UNIXTIME>&step=<STEP> 2 To get statistic for any device item
https://baozam.net/index.php?action=csv&items=<ITEMID 1>, <ITEMID 2>, <...>, <ITEMID N> &period=<PERIOD_IN_SECONDS>&stime=<START_UNIXTIME>&step=<STEP>
Script should pass login and password into POST request for authentication.
HOSTID - it's same id as in url of this device (host). For example https://baozam.net/index.php?obj=host&act=preview&id=10233
ITEMID N - it's same id as in url of device items (host). For example https://baozam.net/index.php?action=history&items=27714
STIME - unixtime of begin of period. If = 0, then period begin will be calculated as difference between current time and period length.
STEP - seconds count, or predefined values
- g1h - by hours
- g1d - by days
- g1w - by weeks
- g1m - by monthes
CURL example
HOST=baozam.net DEVICE= PERIOD=$(( 7 * 24 * 3600 )) STIME=0 STEP=g1h USER= PWD= curl "https://$HOST/index.php?action=csv&hosts=$DEVICE&period=$PERIOD&stime=$STIME&step=$STEP" \ -H "Host: $HOST" --compressed \ -d "name=$USER" -d "password=$PWD"
VB script
For example:
' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo. Const myDevice = "<HOSTID>", myUser = "<USR>", myPwd = "<PASSWORD>" Const myHost = "baozam.net", mySaveTo = "D:\baozam.csv" Const myPeriod = "259200", mySTime = "0", myStep = "g1d" HTTPDownload "https://" + myHost + "/index.php?action=csv&hosts=" + myDevice + "&period=" + myPeriod + "&stime=" + mySTime + "&step=" + myStep Sub HTTPDownload( myUrl ) ' Based on a script found on the Thai Visa forum ' http://www.thaivisa.com/forum/index.php?showtopic=21832 ' by Rob van der Woude ' http://www.robvanderwoude.com/vbstech_internet_download.php ' Standard housekeeping Dim i, objFile, objFSO, objHTTP Const ForReading = 1, ForWriting = 2, ForAppending = 8 ' Create a File System Object Set objFSO = CreateObject( "Scripting.FileSystemObject" ) ' Create the target file Set objFile = objFSO.CreateTextFile( mySaveTo, True, True ) ' overwrite, unicode ' Create an HTTP object Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" ) ' Download the specified URL objHTTP.Open "POST", myUrl, False 'objHTTP.Option(4) = &H3300 'WinHttpRequestOption_SslErrorIgnoreFlags = 0x3300 objHTTP.setRequestHeader "myHost", myHost objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" objHTTP.Send "name=" + myUser + "&password=" + myPwd ' Write the downloaded byte stream to the target file For i = 1 To LenB( objHTTP.ResponseBody ) objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) ) Next ' Close the target file objFile.Close( ) End Sub
OpenSSL
openssl s_client -connect baozam.net:443 ...