refs #1983 log length of sessions
parent
0099a05921
commit
d231816c0f
|
@ -6,6 +6,12 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [5.2.0] - 2025-05-14
|
||||
|
||||
### Added
|
||||
|
||||
- Log duration of user sessions
|
||||
|
||||
## [5.1.1] - 2025-05-06
|
||||
|
||||
### Fixed
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
ogagent (5.2.0-1) stable; urgency=medium
|
||||
|
||||
* Log length of user sessions
|
||||
|
||||
-- OpenGnsys developers <info@opengnsys.es> Mon, 12 May 2025 11:38:27 +0200
|
||||
|
||||
ogagent (5.1.1-1) stable; urgency=medium
|
||||
|
||||
* Fix URL for notifying stop to ogcore
|
||||
|
|
|
@ -1 +1 @@
|
|||
5.1.1
|
||||
5.2.0
|
||||
|
|
|
@ -17,6 +17,8 @@ level=full
|
|||
# Log Level, if omitted, will be set to INFO
|
||||
log=DEBUG
|
||||
|
||||
imgname=
|
||||
|
||||
# TLS
|
||||
ca=C:\Program Files (x86)\OGagent\ca.crt
|
||||
crt=C:\Program Files (x86)\OGagent\ogagent.crt
|
||||
|
|
|
@ -213,6 +213,10 @@ class OpenGnSysWorker(ServerWorker):
|
|||
"""
|
||||
Sends OGAgent stopping notification to OpenGnsys server
|
||||
"""
|
||||
now = time.time()
|
||||
for elem in self.user:
|
||||
sess_len = now - elem['login_ts']
|
||||
logger.debug ('Session of logged in user {} took {} seconds'.format (elem['username'], int (sess_len)))
|
||||
logger.debug('onDeactivation')
|
||||
self.REST.sendMessage('ogagent/stopped', {'mac': self.interface.mac, 'ip': self.interface.ip,
|
||||
'ostype': operations.os_type, 'osversion': operations.os_version})
|
||||
|
@ -223,7 +227,7 @@ class OpenGnSysWorker(ServerWorker):
|
|||
"""
|
||||
user, language, self.session_type = tuple(data.split(','))
|
||||
logger.debug('Received login for {0} using {2} with language {1}'.format(user, language, self.session_type))
|
||||
self.user.append(user)
|
||||
self.user.append ({'username': user, 'login_ts': time.time() })
|
||||
self.REST.sendMessage('ogagent/loggedin', {'ip': self.interface.ip, 'user': user, 'language': language,
|
||||
'session': self.session_type,
|
||||
'ostype': operations.os_type, 'osversion': operations.os_version})
|
||||
|
@ -232,7 +236,11 @@ class OpenGnSysWorker(ServerWorker):
|
|||
"""
|
||||
Sends session logout notification to OpenGnsys server
|
||||
"""
|
||||
logger.debug('Received logout for {}'.format(user))
|
||||
sess_len = 0
|
||||
for elem in self.user:
|
||||
if user != elem['username']: continue
|
||||
sess_len = time.time() - elem['login_ts']
|
||||
logger.debug ('Received logout for {}, session length {} seconds'.format (user, int (sess_len)))
|
||||
try:
|
||||
self.user.pop()
|
||||
except IndexError:
|
||||
|
@ -288,7 +296,7 @@ class OpenGnSysWorker(ServerWorker):
|
|||
if get_params.get('detail', 'false') == 'true':
|
||||
res.update({'agent_version': VERSION, 'os_version': operations.os_version, 'sys_load': os.getloadavg()})
|
||||
if res['loggedin']:
|
||||
res.update({'sessions': len(self.user), 'current_user': self.user[-1]})
|
||||
res.update({'sessions': len(self.user), 'current_user': self.user[-1]['username']})
|
||||
except KeyError:
|
||||
# Unknown operating system
|
||||
res = {'status': 'UNK'}
|
||||
|
|
|
@ -422,7 +422,7 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
params = []
|
||||
disk_info = cfg.pop (0)
|
||||
logger.debug (f'disk_info ({disk_info})')
|
||||
for k in ['dis', 'tch']:
|
||||
for k in ['dis']:
|
||||
params.append (f'{k}={disk_info[k]}')
|
||||
disk_info_str = '*'.join (params)
|
||||
|
||||
|
|
Loading…
Reference in New Issue