-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
109 lines (91 loc) · 3.82 KB
/
app.py
File metadata and controls
109 lines (91 loc) · 3.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/env python3
# Libraries
##############################################################################
from flask import Flask
from flask_cors import CORS
from mongoengine import connect
from Shared.configs import (
SECRET_KEY,APP_HOST,APP_PORT,
DB_HOST,DB_NAME,DB_USERNAME,DB_PASSWORD
)
from Agents.routes import agnt_bp
from Users.routes import users_bp
from SysData.routes import sys_data_bp
from Session.routes import session_bp
from SystemInfo.routes import sys_info_bp
from SystemUsers.routes import sys_users_bp
from SystemInstalledApps.routes import sys_apps_bp
from SystemServices.routes import sys_srvc_bp
from SystemLastLogons.routes import sys_last_logons_bp
from InformationalData.routes import inf_data_bp
from PipPackages.routes import sys_pip_pkgs_bp
from NpmPackages.routes import sys_npm_pkgs_bp
from DockerInfo.routes import sys_dckr_bp
from AgentConfigs.routes import agnt_configs_bp
from DiskUsage.routes import disk_usage_bp
from MemoryUsage.routes import memory_usage_bp
from CpuUsage.routes import cpu_usage_bp
import socket
##############################################################################
# Configs
##############################################################################
# App Config
app = Flask(__name__)
app.config['SECRET_KEY'] = SECRET_KEY
# DB Config
db = connect(
host = DB_HOST,
db = DB_NAME,
username = DB_USERNAME,
password = DB_PASSWORD
)
CORS(app)
##############################################################################
# Blueprints
##############################################################################
app.register_blueprint(agnt_bp, url_prefix='/agent')
app.register_blueprint(users_bp, url_prefix='/user')
app.register_blueprint(sys_data_bp, url_prefix='/data')
app.register_blueprint(session_bp, url_prefix='/session')
app.register_blueprint(sys_info_bp, url_prefix='/sysinfo')
app.register_blueprint(sys_users_bp, url_prefix='/sysusers')
app.register_blueprint(sys_last_logons_bp, url_prefix='/sysusers/lastlogons')
app.register_blueprint(sys_apps_bp, url_prefix='/sysapps')
app.register_blueprint(sys_srvc_bp, url_prefix='/sysservices')
app.register_blueprint(sys_pip_pkgs_bp, url_prefix='/pippkgs')
app.register_blueprint(sys_npm_pkgs_bp, url_prefix='/npmpkgs')
app.register_blueprint(sys_dckr_bp, url_prefix='/dockerinfo')
app.register_blueprint(agnt_configs_bp, url_prefix='/agent/config')
app.register_blueprint(disk_usage_bp, url_prefix='/diskusage')
app.register_blueprint(memory_usage_bp, url_prefix='/memusage')
app.register_blueprint(cpu_usage_bp, url_prefix='/cpu_usage')
app.register_blueprint(inf_data_bp, url_prefix='/inf_data')
##############################################################################
# Functions
##############################################################################
def test_mongodb():
try:
db = connect(
host = DB_HOST,
db = DB_NAME,
username = DB_USERNAME,
password = DB_PASSWORD
)
db.server_info() # This will raise an exception if the connection fail
print('MongoDB connection successful!')
except Exception as e:
print(f'MongoDB connection failed: {e}')
##############################################################################
# Put Header Server Hostname
##############################################################################
@app.after_request
def add_server_header(response):
response.headers['X-Server'] = socket.gethostname()
return response
##############################################################################
# Main
##############################################################################
if __name__ == '__main__':
test_mongodb()
app.run(host=APP_HOST, port=APP_PORT, debug=True)
##############################################################################