Skip to content

Commit 2772418

Browse files
committed
Update client
1 parent 97ca8b2 commit 2772418

2 files changed

Lines changed: 16 additions & 12 deletions

File tree

back_channel_client/back_channel_client.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class BackChannelClient: # pylint: disable=too-few-public-methods
1818
CONFIG_PATH = os.path.join(CONFIG_FOLDER_PATH, "config.ini")
1919
DEFAULT_CONFIG = {
2020
"connection": {
21-
"server_address": "localhost",
21+
"server_address": "http://localhost",
2222
"ssh_username": "root",
2323
"ssh_port": "22",
2424
"period_time_sec": "30",
@@ -37,7 +37,7 @@ def _init_logger(self):
3737
logging.Formatter("back-channel-client %(name)s: %(levelname)s %(message)s")
3838
)
3939
logger = logging.getLogger("back-channel-client")
40-
# logger.addHandler(syslog)
40+
logger.addHandler(syslog)
4141
logger.setLevel(logging.INFO)
4242
return logger
4343

@@ -69,7 +69,7 @@ def _server_hostname(self):
6969

7070
def _get_order(self):
7171
request = requests.get(
72-
url=f"{self._server_address}/api/order",
72+
url=f"{self._server_address}/api/v1/client/order",
7373
headers={
7474
"name": self._config["connection"]["client_name"],
7575
"username": self._config["connection"]["ssh_username"],
@@ -80,17 +80,16 @@ def _get_order(self):
8080

8181
def _send_metrics(self):
8282
metrics = self._collect_metrics()
83-
url = f"{self._server_address}/api/metric"
83+
url = f"{self._server_address}/api/v1/client/metric"
8484
client_name = self._config["connection"]["client_name"]
8585
data = {
86-
"name": client_name,
87-
"uptime": metrics["uptime_hous"],
86+
"uptime": metrics["uptime_hours"],
8887
"cpu_usage": metrics["cpu_percent"],
8988
"memory_usage": metrics["mem_percent"],
9089
"disk_usage": metrics["disk_usage"],
9190
"temperature": metrics["temperature"],
9291
}
93-
headers = {"Content-type": "application/json"}
92+
headers = {"Content-type": "application/json", "name": client_name}
9493
requests.put(url, data=json.dumps(data), headers=headers, timeout=5)
9594

9695
def _collect_metrics(self):
@@ -101,7 +100,7 @@ def _collect_metrics(self):
101100
else "/"
102101
)
103102
return {
104-
"uptime_hous": int(uptime_sec / 3600),
103+
"uptime_hours": int(uptime_sec),
105104
"mem_percent": int(psutil.virtual_memory().percent),
106105
"cpu_percent": self._get_cpu_avarage_load(),
107106
"disk_usage": int(psutil.disk_usage(disk_path).percent),
@@ -132,13 +131,14 @@ def _get_cpu_avarage_load():
132131
return -1
133132

134133
def run(self):
135-
self._logger.info("Starting rpi-remote client...")
134+
self._logger.info("Starting back channel client...")
136135
while True:
137136
try:
138-
if data := self._get_order():
137+
data = self._get_order()
138+
if port := data.get("port"):
139139
forwarder = ClientForwarder(
140140
host=self._server_hostname,
141-
port=data["port"],
141+
port=port,
142142
local_port=self._config["connection"]["ssh_port"],
143143
)
144144
forwarder.start()
@@ -155,3 +155,7 @@ def run(self):
155155
def main():
156156
client = BackChannelClient()
157157
client.run()
158+
159+
160+
if __name__ == "__main__":
161+
main()

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "back-channel-client"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
authors = [
55
{ name="Aron Radics", email="radics.aron.jozsef@gmail.com" },
66
]

0 commit comments

Comments
 (0)