Setting up an On-Premise instance of Amon
By Iain Cuthbertson
NewRelic no longer offers server monitoring for free accounts, so what are the alternatives when you’re on a skin-flint budget?
There are lots, but I’m not going to review any of them. Instead, I’ve been tasked with getting Amon running on a DigitalOcean droplet so that it might be appraised.
Amon can either be used as a SAAS, hosted by Amon themselves. Or it can be run “On-Premise” by cloning the git repo to your own server.
The On-Premise instructions didn’t work for me as-is on a fresh Ubuntu 16.04 server. So I present to you here the result of getting it going!
Assumptions:
- You know what you’re doing with Linux on a server.
- You can create your own VPS, or have dedicated hardware, that will only be used for server monitoring.
- MongoDB is installed from Mongo’s repo, not Ubuntu’s.
- Let’s Encrypt is used for the SSL certificate.
- The FQDN used for accessing the Amon instance matches the server’s full hostname (easy enough to change by altering FULL_HOSTNAME).
- Postfix is used on localhost as the MTA (alter the content of /etc/opt/amon/amon.yml if that’s not to be the case).
The following took the instructions of https://docs.amon.cx/onpremise/ and then extended/tweaked them to create a fully working server.
So the initial script I wrote turned out better suited to being a collection of scripts. And to keep them together, I’ve created a new GitHub repo to house them.
If you find it useful, great! If you would like to help make the installation provisioning system better, PRs are very welcome 🙂
https://github.com/bigcalm/amon-server
Comments
Danilo says: 29th January 2018 at 9:03 pm
I followed the official setup guide and stumbled over this blog article while searching for a solution to the following things:
- I’m receiving nginx 500 errors when trying to test email sending. (localhost postfix)
- Resetting pause of alerts doesn’t work properly either.
- I could not figure out how to monitor ZFS volume pools
Any ideas?
Keith says: 6th July 2018 at 10:35 am
Thank you for the scripts. I have a problem during amon installation and see if you could help. Everything install well until the line “python manage.py migrate” in the amon.sh. Any idea? Thanks in advance.
/opt/amon/env/lib/python3.5/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use “pip install psycopg2-binary” instead. For details see: . “””) Traceback (most recent call last): File “manage.py”, line 10, in execute_from_command_line(sys.argv) File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/__init__.py”, line 371, in execute_from_command_line utility.execute() File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/__init__.py”, line 365, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/base.py”, line 288, in run_from_argv self.execute(*args, **cmd_options) File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/base.py”, line 332, in execute self.check() File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/base.py”, line 364, in check include_deployment_checks=include_deployment_checks, File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/commands/migrate.py”, line 58, in _run_checks issues.extend(super()._run_checks(**kwargs)) File “/opt/amon/env/lib/python3.5/site-packages/django/core/management/base.py”, line 351, in _run_checks return checks.run_checks(**kwargs) File “/opt/amon/env/lib/python3.5/site-packages/django/core/checks/registry.py”, line 73, in run_checks new_errors = check(app_configs=app_configs) File “/opt/amon/env/lib/python3.5/site-packages/django/core/checks/urls.py”, line 40, in check_url_namespaces_unique all_namespaces = _load_all_namespaces(resolver) File “/opt/amon/env/lib/python3.5/site-packages/django/core/checks/urls.py”, line 57, in _load_all_namespaces url_patterns = getattr(resolver, ‘url_patterns’, []) File “/opt/amon/env/lib/python3.5/site-packages/django/utils/functional.py”, line 36, in __get__
Keith says: 9th July 2018 at 8:39 am After googling for some time, my problem is solved. As of today, after installation using the above script, you will be facing issues 211 (https://github.com/amonapp/amon/issues/211) and then follow slava-vishnyakov commented on Apr 19. Thank you the script.
Keith says: 17th July 2018 at 3:48 am One more big thanks to you. I write up a step guide from my installation experience. https://github.com/moonbury/amon-onpremise-installation/blob/master/README.md
Iain Cuthbertson says: 17th July 2018 at 10:37 am Great! Glad it has been of use to you 🙂