Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mailinabox
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
mailinabox
Commits
06a0e7f3
Commit
06a0e7f3
authored
Jan 01, 2016
by
Joshua Tauberer
Browse files
Options
Browse Files
Download
Plain Diff
merge #584 - Add checks to the management interface to report memory usage
parents
f184a74f
a9cd72bb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
1 deletion
+21
-1
CHANGELOG.md
CHANGELOG.md
+4
-0
status_checks.py
management/status_checks.py
+16
-0
management.sh
setup/management.sh
+1
-1
No files found.
CHANGELOG.md
View file @
06a0e7f3
...
...
@@ -8,6 +8,10 @@ Mail:
*
The Sieve port is now open so tools like the Thunderbird Sieve program can be used to edit mail filters.
Control Panel:
*
Report free memory usage.
v0.15 (January 1, 2016)
-----------------------
...
...
management/status_checks.py
View file @
06a0e7f3
...
...
@@ -9,6 +9,7 @@ import sys, os, os.path, re, subprocess, datetime, multiprocessing.pool
import
dns.reversename
,
dns
.
resolver
import
dateutil.parser
,
dateutil
.
tz
import
idna
import
psutil
from
dns_update
import
get_dns_zones
,
build_tlsa_record
,
get_custom_dns_config
,
get_secondary_dns
,
get_custom_dns_record
from
web_update
import
get_web_domains
,
get_domains_with_a_records
...
...
@@ -166,6 +167,7 @@ def run_system_checks(rounded_values, env, output):
check_miab_version
(
env
,
output
)
check_system_aliases
(
env
,
output
)
check_free_disk_space
(
rounded_values
,
env
,
output
)
check_free_memory
(
rounded_values
,
env
,
output
)
def
check_ssh_password
(
env
,
output
):
# Check that SSH login with password is disabled. The openssh-server
...
...
@@ -216,6 +218,20 @@ def check_free_disk_space(rounded_values, env, output):
else
:
output
.
print_error
(
disk_msg
)
def
check_free_memory
(
rounded_values
,
env
,
output
):
# Check free memory.
percent_free
=
100
-
psutil
.
virtual_memory
()
.
percent
memory_msg
=
"System memory is
%
s
%%
free."
%
str
(
round
(
percent_free
))
if
percent_free
>=
30
:
if
rounded_values
:
memory_msg
=
"System free memory is at least 30
%
."
output
.
print_ok
(
memory_msg
)
elif
percent_free
>=
15
:
if
rounded_values
:
memory_msg
=
"System free memory is below 30
%
."
output
.
print_warning
(
memory_msg
)
else
:
if
rounded_values
:
memory_msg
=
"System free memory is below 15
%
."
output
.
print_error
(
memory_msg
)
def
run_network_checks
(
env
,
output
):
# Also see setup/network-checks.sh.
...
...
setup/management.sh
View file @
06a0e7f3
...
...
@@ -11,7 +11,7 @@ if [ -f /usr/local/lib/python2.7/dist-packages/boto/__init__.py ]; then hide_out
# build-essential libssl-dev libffi-dev python3-dev: Required to pip install cryptography.
apt_install python3-flask links duplicity python-boto libyaml-dev python3-dnspython python3-dateutil
\
build-essential libssl-dev libffi-dev python3-dev python-pip
hide_output pip3
install
--upgrade
rtyaml
"email_validator>=1.0.0"
"idna>=2.0.0"
"cryptography>=1.0.2"
boto
hide_output pip3
install
--upgrade
rtyaml
"email_validator>=1.0.0"
"idna>=2.0.0"
"cryptography>=1.0.2"
boto
psutil
# email_validator is repeated in setup/questions.sh
...
...
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