Ubuntu Server 18.04 – Monitoring Ubuntu servers with Canonical’s Landscape service

How to install Chocolatey on Windows 10

Another important aspect of security is keeping track of compliance. Servers simply won’t let you know by themselves whether they’re behind on updates, and without some sort of service performing some sort of monitoring, you really won’t know what’s going on with your servers unless you check.

To solve this problem, Canonical offers a custom service known as Landscape. Landscape allows you to manage your entire fleet of Ubuntu servers from a single page. Landscape will allow you to list any servers that need security updates, automate common tasks, create your own repositories, and more. It presents these features in an attractive user interface. With such a service, it’s easy to tell which of your servers need a security update, or a reboot in order to apply a patch.

There are two ways you can utilize Landscape. You can host it yourself (referred to by Canonical as an on-premises¬†installation) or you can simply subscribe to Canonical’s hosted version. The latter is the absolute easiest way to get on board with Landscape, but there is an additional cost penalty. At the time of writing, the current cost is $0.01 USD per hour for the hosted version. If you install it on-premises, you won’t have to pay any fees for the first ten servers, but it will be up to you to maintain it and keep it running.

In this section, I’ll walk you through hosting this service yourself. However, there are some important considerations to keep in mind. First, Landscape will have some modest resource requirements. Therefore, a bottom-tier Virtual Private Servers (VPS) from a provider such as DigitalOcean will simply not cut it. At the minimum, you’ll want 2 GB of RAM, and 1 CPU core. Second, I advise against setting up Landscape on an existing server alongside other hosted resources. While it’s certainly possible to share it with other resources, it may conflict with any web server configuration you may have applied. Last, Landscape will only work with LTS editions of Ubuntu. If you’re running something other than an LTS release of Ubuntu Server, the required packages won’t appear in the repositories.

At the time of publication, Landscape server is not available on Ubuntu 18.04 yet, as Ubuntu 16.04 is the highest supported version. This is expected to be available at some point in the future, but for now, use Ubuntu 16.04 if you would like to utilize Landscape server

Setup of the Landscape server is relatively easy, there are only three commands to run. The following website lists all the commands required to set up the service:


I will list the commands within this section as well, but I also wanted you to have the URL for Canonical’s official installation instructions in case any of the commands change for any reason, so if the following commands don’t work, check the website. At the time of writing, the following commands will install the Landscape software on your server:

sudo add-apt-repository ppa:landscape/17.03
sudo apt update
sudo apt install landscape-server-quickstart
This process will take a decent chunk of time and install a great deal of dependencies.

Once the process completes, you should be able to access Landscape by simply typing the IP address of your server in a browser window. Ignore the warning regarding SSL, since we haven’t actually generated any certificates. You should see a page welcoming you to Landscape, which gives you some fields to fill out:

Setting up Landscape

Next, you should see the main interface for Landscape, but we haven’t actually added a system to this service yet so at this point it’s not very useful:

The main interface page for Landscape

Adding a system to the Landscape service is quite easy, and the instructions are actually on your Landscape instance itself. To view the instructions, click on Computers at the top of the screen, then click on the  instructions in the middle of the screen. Or, simply access this URL:


The commands the instructions page will give you will look similar to the following ones:

sudo apt update
sudo apt install landscape-client
sudo landscape-config --computer-title "My Server" --account-name standalone --url https://<IP_ADDRESS>/message-system --ping-url http://<IP_Address>/ping
I don’t recommend copying and pasting those exact commands, I just included them as a sample reference. Your Landscape server will instruct you on what to do, so I recommend you follow that.

The last of the three commands will ask you a series of questions, and if you’re in a hurry, you can accept the defaults for each. I recommend you take your time and read through them though, as some of the optional features may be useful to you. For example, the ability to execute scripts on servers is disabled by default, but you’ll be asked whether you want to enable this during the process. It may be a good idea to benefit from that feature, but it’s not required.

After you set up the client on your server, you should see a computer listed that is waiting for approval on the Landscape page. It will look something like this:

A computer waiting for acceptance in Landscape

To accept the server, click on the server’s name (which is shown under the Name section), which will bring you to another page that will allow you to configure details, such as its name and tags. Click the Accept button on that page to finish the process. The server will now be listed on the Landscape homepage, and you’ll be able to interact with it within the interface.

To get started with managing the servers you’ve added, click on the Computers tab at the very top of the page. A list of all the servers associated with your Landscape server will appear there:

Landscape’s server list

Next, select a server by clicking on the text underneath the Name column that corresponds to the server you’d like to manage. This will bring you to a page specific to that server, showing you various details about it as well as giving you a menu of actions you can perform against it. The menu will look like the following:

The Landscape computer menu

Here’s a list of the common items in this menu and a short description of what each one does:

  • Info: Shows basic information about the server, such as what model of processor it has, RAM, and other system information.
  • Activities: The Activities section shows the status of any commands you’ve given the server to perform through the interface, such as installing a package. The following is an example screenshot of what the Activities page looks like when you’ve instructed a server to install a package:
Example of an activity in Landscape
  • Hardware: Provides more specific details about hardware devices installed on the server.
  • Monitoring: This section allows you to view information regarding resource utilization:
A resource graph in Landscape
  • Scripts: If enabled, you’ll be able to paste a script here in a format such as Bash, and have it run against the server.
  • Processes: Return a list of processes running on the server. You can end and even kill processes here as well.
  • Packages: Here, you can search for a package, and even install it on the server without having to enter a single shell command.
  • Users: Here, you can create, delete, and modify users on the system.
  • Reports: In this section, you can report on specific information regarding your server. Most notably for our purposes in this chapter, you can report on security update compliance.

As I’m sure you can see, you can do some really neat things within Landscape. We only scratched the surface in this section. This service provides you with a central interface through which you can manage your servers. You can manage users, run scripts, install packages, and more. I’ll leave it up to you to spend some time thoroughly exploring Landscape to experiment with all of the things you can do with it. In addition, I’ll also include a link to the official documentation pages at the end of this chapter if you would like to explore this service even more.

Comments are closed.