Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
dcdb
dcdb
Commits
8b50c2b6
Commit
8b50c2b6
authored
Sep 13, 2019
by
Daniele Tafani
Browse files
Fixed typos and config
parent
a42ae915
Changes
3
Hide whitespace changes
Inline
Side-by-side
grafana/GrafanaServer.cpp
View file @
8b50c2b6
...
...
@@ -214,7 +214,6 @@ int main(int argc, char *argv[])
}
_httpsServer
=
new
RestAPI
(
restAPISettings
,
hierarchySettings
,
_cassandraConnection
);
//_httpsServer = new RestAPI(restAPISettings, hierarchySettings);
_configuration
->
readRestAPIUsers
(
_httpsServer
);
if
(
globalSettings
.
daemonize
)
{
...
...
@@ -236,7 +235,7 @@ int main(int argc, char *argv[])
//dummy to keep io service alive even if no tasks remain (e.g. because all sensors have been stopped over REST API)
keepAliveWork
=
boost
::
make_shared
<
boost
::
asio
::
io_service
::
work
>
(
io
);
//Create pool of threads which handle the sensors
for
(
size_t
i
=
0
;
i
<
globalSettings
.
threads
;
i
++
)
{
threads
.
create_thread
(
bind
(
static_cast
<
size_t
(
boost
::
asio
::
io_service
::*
)
()
>
(
&
boost
::
asio
::
io_service
::
run
),
&
io
));
...
...
@@ -260,11 +259,12 @@ int main(int argc, char *argv[])
LOG
(
trace
)
<<
"Running..."
;
//Run until Strg+C
//
threads.join_all();
threads
.
join_all
();
//will only continue if interrupted by SIGINT and threads were stopped
LOG
(
info
)
<<
"Tearing down objects..."
;
delete
_cassandraConnection
;
delete
_httpsServer
;
LOG
(
info
)
<<
"Exiting...Goodbye!"
;
...
...
grafana/RestAPI.cpp
View file @
8b50c2b6
...
...
@@ -36,11 +36,11 @@
std::placeholders::_2, \
std::placeholders::_3)
DCDB
::
Connection
*
conn
;
RestAPI
::
RestAPI
(
serverSettings_t
settings
,
hierarchySettings_t
hierarchySettings
)
:
RESTHttpsServer
(
settings
)
{
hierarchySettings_t
hierarchySettings
,
DCDB
::
Connection
*
cassandraConnection
)
:
RESTHttpsServer
(
settings
),
_connection
(
cassandraConnection
)
{
//Configuring endpoints
addEndpoint
(
"/"
,
{
http
::
verb
::
get
,
stdBind
(
GET_datasource
)});
...
...
@@ -48,43 +48,26 @@ RestAPI::RestAPI(serverSettings_t settings,
addEndpoint
(
"/search"
,
{
http
::
verb
::
post
,
stdBind
(
POST_search
)});
addEndpoint
(
"/query"
,
{
http
::
verb
::
post
,
stdBind
(
POST_query
)});
//_connection = cassandraConnection;
std
::
cout
<<
"Trying connecting..."
<<
std
::
endl
;
conn
=
new
DCDB
::
Connection
();
conn
->
setHostname
(
"127.0.0.1"
);
conn
->
setPort
(
atoi
(
"9042"
));
// if (!conn->connect()) {
// LOG(fatal) << "Failed to connect to the Cassandra database!";
// }
LOG
(
info
)
<<
"Retrieving published sensor names and topics..."
;
//Get the list of all public sensors and topics.
// std::list<DCDB::PublicSensor> publicSensors;
// DCDB::SensorConfig sensorConfig(conn);
//sensorConfig.getPublicSensorsVerbose(publicSensors);
std
::
list
<
DCDB
::
PublicSensor
>
publicSensors
;
_sensorConfig
=
new
DCDB
::
SensorConfig
(
_connection
);
_sensorConfig
->
getPublicSensorsVerbose
(
publicSensors
);
std
::
vector
<
std
::
string
>
sensors
;
std
::
vector
<
std
::
string
>
topics
;
for
(
auto
&
s
:
publicSensors
)
{
sensors
.
push_back
(
s
.
name
);
topics
.
push_back
(
s
.
pattern
);
}
//_sensorConfig = new DCDB::SensorConfig(cassandraConnection);
//_sensorConfig->getPublicSensorsVerbose(publicSensors);
//
// std::vector<std::string> sensors;
// std::vector<std::string> topics;
//
// for(auto& s : publicSensors) {
// sensors.push_back(s.name);
// topics.push_back(s.pattern);
// }
//
// //Build the tree navigator
// LOG(info) << "Building the sensor navigator...";
//
// _navigator = new SensorNavigator();
// std::cout << "Ok" << std::endl;
// _navigator->buildTree(hierarchySettings.regex, &sensors, &topics, hierarchySettings.separator);
// std::cout << "Ok" << std::endl;
//Build the tree navigator
LOG
(
info
)
<<
"Building the sensor navigator..."
;
_navigator
=
new
SensorNavigator
();
_navigator
->
buildTree
(
hierarchySettings
.
regex
,
&
sensors
,
&
topics
,
hierarchySettings
.
separator
);
}
//Dummy GET request to create a datasource. All necessary checks that could be peformed here are
...
...
@@ -220,12 +203,8 @@ void::RestAPI::POST_query(endpointArgs) {
for
(
auto
&
sensorName
:
sensors
)
{
// DCDB::SensorConfig sc(_connection);
// DCDB::Sensor sensor(_connection, sensorName);
DCDB
::
SensorConfig
sc
(
conn
);
DCDB
::
Sensor
sensor
(
conn
,
sensorName
);
//_sensorConfig->getPublicSensorByName(ps,sensorName.c_str());
sc
.
getPublicSensorByName
(
ps
,
sensorName
.
c_str
());
DCDB
::
Sensor
sensor
(
_connection
,
sensorName
);
_sensorConfig
->
getPublicSensorByName
(
ps
,
sensorName
.
c_str
());
//Shoot the query for this sensor.
std
::
list
<
DCDB
::
SensorDataStoreReading
>
results
;
...
...
@@ -238,9 +217,7 @@ void::RestAPI::POST_query(endpointArgs) {
datapoints
+=
"["
+
std
::
to_string
(
r
.
value
*
ps
.
scaling_factor
)
+
","
+
std
::
to_string
(
r
.
timeStamp
.
getRaw
()
/
1000000
)
+
"],"
;
if
(
datapoints
.
back
()
==
','
)
datapoints
.
pop_back
();
datapoints
.
pop_back
();
datapoints
+=
"]"
;
res
.
body
()
+=
"{
\"
target
\"
:
\"
"
+
sensorName
+
"
\"
,
\"
datapoints
\"
:"
+
datapoints
+
"},"
;
}
...
...
grafana/config/grafana.conf
View file @
8b50c2b6
...
...
@@ -10,18 +10,14 @@ cassandra {
}
hierarchy
{
separator
,
;
regex
mpp3
.,
r
\\
d
{
2
}.,
c
\\
d
{
2
}.,
s
\\
d
{
2
}.,
cpu
\\
d
+
regex
/
mpp2
,/
r
\\
d
{
2
},/
c
\\
d
{
2
},/
s
\\
d
{
2
}
}
restAPI
{
address
127
.
0
.
0
.
1
:
8081
certificate
/
Users
/
di34bap
/
Projects
/
dcdb
-
grafana
/
deps
/
openssl
-
1
.
1
.
1
c
/
test
/
certs
/
ca
-
cert
.
pem
privateKey
/
Users
/
di34bap
/
Projects
/
dcdb
-
grafana
/
deps
/
openssl
-
1
.
1
.
1
c
/
test
/
certs
/
ca
-
key
.
pem
dhFile
/
Users
/
di34bap
/
Projects
/
dcdb
-
grafana
/
deps
/
openssl
-
1
.
1
.
1
c
/
crypto
/
dh
/
dh2048
.
pem
address
0
.
0
.
0
.
0
:
8081
certificate
../..
/
deps
/
openssl
-
1
.
1
.
1
c
/
test
/
certs
/
ca
-
cert
.
pem
privateKey
../..
/
deps
/
openssl
-
1
.
1
.
1
c
/
test
/
certs
/
ca
-
key
.
pem
dhFile
../..
/
deps
/
openssl
-
1
.
1
.
1
c
/
crypto
/
dh
/
dh2048
.
pem
user
user1
{
...
...
@@ -36,7 +32,7 @@ restAPI {
POST
}
user
user3
{
user
user3
{
password
pass3
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment