This guide will help you get a Unomaly instance up and running on Microsoft Azure. Before you continue:

  • Refer to the Installation overview for minimum installation requirements.
  • Provision an Azure VM instance. See instructions for provisioning a VM below.

Installation instructions

  1. Use the following link to download a run-file. This is not an ISO-file, it will upgrade the instance in-place:

  2. Once the download is complete, upload the .run file to the Azure VM, using SFTP or SCP:

     scp <username>@<instance>:/home/<username>
  3. When the upload completes, SSH into the instance and run: sudo apt install locales

  4. Start the Unomaly installation procedure: sudo sh

The installer will reboot the virtual machine after performing a kernel upgrade. It can take a couple of minutes before the instance responds. At this point, the installation procedure is continuing in the background but will no longer be visible in the SSH session. You can use the Serial Console in the Azure Portal to track the remaining progress of the installation.

If you SSH back into the instance and launch the Unomaly console it will inform you of the current progress of the installation. You can launch the console with sudo -i -u unomaly /opt/unomaly/bin/console_setup and use the option to follow the installation log. When the installation completes, an ALL DONE is outputted on your screen. You can use Q or Ctrl-C to get back to the main menu.

Configure the Unomaly instance

  1. After installing Unomaly, use a supported browser to navigate to the web interface and follow the configuration wizard to set up the instance.

  2. (Recommended) Configure email notification.

    We recommend that you configure the Unomaly instance to send email notifications when there are issues with the deployment or for alerts on monitored systems. You can configure SMTP and email settings in the Unomaly interface’s Settings > Email. See “Configure email settings”.

Provisioning a VM

  1. Log in to the Microsoft Azure Portal and navigate to the dashboard.

  2. On the top of the sidebar, click Create New Resources to open the Azure marketplace.

  3. Search for ‘Debian 8’ and select Debian 8 “Jessie”.

  4. Select the deployment model. Unless you have a reason to change it, the default is fine.

  5. Click Create to start the instance creation wizard.

You’ll now find yourself on the instance creation page. This allows you to customize the virtual machine before it gets created. Depending on the size of the environment and the amount of events per second you will process, you may need to adjust the settings.

Recommendations for the ‘Basic’ settings

  1. You can name the instance anything you want, for example: unomaly.

  2. (Recommended) For production deployments, the disk type should be set to Premium SSD.

  3. The username will be the username you can use to log into the instance to then start the Unomaly installer with.

    Either provide an SSH public key for that user, or select Password to enter a password instead. If you chose the password option, please use a strong password as it will grant administrative access to the VM.

  4. If you have an existing resource group you’d like to use, select Use Existing and use the dropdown box to select it. If not, select Create New instead and pick a name for it, for example unomaly-resources.

    The location should ideally be in the same location as where the data will be originating from, to limit the effect of network latency.

  5. Click OK to continue to the next screen.

Recommendations for the ‘Size’ settings

  1. (Recommended) Choose an instance type from and above the B2ms instance types.
    • When choosing the size of your Azure resource, keep in mind the minimum requirements with regards to CPU, RAM and disk space.
    • We do not recommend Storage Optimized instance types to run Unomaly, because they attach the additional storage as a second device which Unomaly can’t leverage. Ignore any values in the Local SSD column.
  2. In the next step we’ll choose the size of the main disk.

Recommendations for the ‘Settings / optional features’

  1. (Optional) Pick any availability zone.
    • If you don’t pick one, Set the Use managed disks option to yes.
    • Pick an appropriate OS disk size, P15 (256 GB) or higher.
  2. (Recommended) Under network settings, open up the HTTPS and SSH inbound ports so you can access the instance.
    • If you have another way to get to the Azure network, using a VPN for example, it’s not necessary to open the HTTPS and SSH ports now.
    • For other systems to be able to send their logs to Unomaly using syslog, they’ll need to be in the same network. You may need to pick a different virtual network; but to get a Unomaly instance up and running it’s not necessary to change this now.
  3. Click OK to continue. (You can leave the other settings as they are.)

Reviewing instance settings

You’ll now be taken to the Summary page, detailing all the settings.

  1. Review the changes and if everything looks good, click Create.

    Azure will now take care of creating the resource group, network and instance for you. This can take a couple of minutes. You can click on the bell icon in the top right of the menu bar, the notification area, to track the progress.

  2. Once the deployment is done a notification appears. Click Go to resource.

    On the instance overview page you’ll find a Public IP address. This is the IP we can use to connect to the instance and start the Unomaly installation.

  3. (Recommended) Click Configure under the DNS Name to configure a DNS hostname, so you don’t have to rely on the IP address. You should do this as a valid DNS name will be necessary to be able to get and install a valid TLS certificate later on.

Growing the OS disk

Before we can proceed with the installation we need to grow the OS disk to its full size. When installing a Debian machine on Azure, it will only allocate 30G, even though we picked a 256G OS disk. This procedure is done entirely from the command line.

  1. SSH into the instance: ssh [email protected]<IP>

  2. Become root: sudo -i

  3. Verify the raw disk is actually of the right size.

    Run: dmesg | grep -i sda

    This should return something along the lines of:

     sd 2:0:0:0: [sda] 538968064 512-byte logical blocks: (275 GB/257 GiB)
     sd 2:0:0:0: [sda] 4096-byte physical blocks
     sd 2:0:0:0: [sda] Write Protect is off
     sd 2:0:0:0: [sda] Mode Sense: 0f 00 10 00
     sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA sda: sda1
     sd 2:0:0:0: [sda] Attached SCSI disk EXT4-fs (sda1): mounted filesystem with ordered data mode.
     Opts: (null) EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro

    The first line is important, and should return something bigger than 250GB. If that’s not the case, use the Azure portal to stop the VM, grow the disk, then start it again and repeat the above steps.

  4. Rebuild the OS disk:

    • fdisk /dev/sda: We’re now in the fdisk interactive environment
    • d: It should now say Partition 1 has been deleted.
    • n, p, 1 and accept the rest of the defaults. It should say: Created a new partition 1 of type ‘Linux’ and of size XXX GiB.
    • w: It should now show:
     The partition table has been altered. Calling ioctl() to re-read partition table.
     Re-reading the partition table failed.: Device or resource busy
     The kernel still uses the old table. The new table will be used at the next
     reboot or after you run partprobe(8) or kpartx(8).
    • reboot to restart the machine
  5. After the instance reboots, grow the filesystem to match the partition size:

    • SSH into the machine again
    • run sudo resize2fs /dev/sda1

Let it run. This can take a while depending on the disk size. Eventually it will return with The filesystem on /dev/sda1 is now XXXXXXXX (4k) blocks long.

You can verify the size of the disk with: df -h --output=size /dev/sda1

Next steps

Start sending data to your Unomaly instance! “Choose how to onboard data”.