Ansible for Networking - Part 6: MikroTik RouterOS

The sixth part of my ongoing series of posts on Ansible for Networking will cover Mikrotik’s RouterOS. You can view the other posts in the series below: - Part 1 - Start of the series Part 2 - The Lab Environment Part 3 - Cisco IOS Part 4 - Juniper JunOS Part 5 - Arista EOS All the playbooks, roles and variables used in this article are available in my Network Automation with Ansible repository. [Read More]

Ansible for Networking - Part 5: Arista EOS

The fifth part of my ongoing series of posts on Ansible for Networking will cover Arista’s EOS. You can view the other posts in the series below: - Part 1 - Start of the series Part 2 - The Lab Environment Part 3 - Cisco IOS Part 4 - Juniper JunOS All the playbooks, roles and variables used in this article are available in my Network Automation with Ansible repository [Read More]

Ansible for Networking - Part 4: Juniper JunOS

The fourth part of my ongoing series of posts on Ansible for Networking will cover Juniper’s JunOS. You can view the other posts in the series below: - Part 1 - Start of the series Part 2 - The Lab Environment Part 3 - Cisco IOS Part 5 - Arista EOS All the playbooks, roles and variables used in this article are available in my Network Automation with Ansible repository [Read More]

Ansible for Networking - Part 3: Cisco IOS

The third part of my ongoing series of posts on Ansible for Networking will cover Cisco IOS. You can view the other posts in the series below: - Part 1 - Start of the series Part 2 - The Lab Environment Part 4 - Juniper JunOS Part 5 - Arista EOS All the playbooks, roles and variables used in this article are available in my Network Automation with Ansible repository [Read More]

Ansible for Networking - Part 2: The Lab environment

This is the second part in my ongoing series on using Ansible for Networking, showing how to use Ansible to configure and manage equipment from multiple networking vendors. You can view the other posts in the series below: - Part 1 - Start of the series Part 3 - Cisco IOS Part 4 - Juniper JunOS Part 5 - Arista EOS In the “Start of the series” post, I mentioned that the lab would consist of: - [Read More]

Ansible for Networking - Part 1: The start of the series

For those who have been reading my posts for a while, they’ll know that while currently I’m a DevOps Engineer, I spent the previous decade managing and configuring service provider networks. For the majority of that time, the network was configured by hand. The closest most people in the industry had to an automation toolset was either using a spreadsheet with variables, their own scripts they had created, or delegating the task to multiple junior engineers. [Read More]

Building Windows AWS AMIs using Packer and Ansible

Like many other companies that are deploying their applications to the cloud, the majority of our estate uses Linux. However we do need to use Windows for a couple of purposes. This could be for application testing, or for specific Windows features. We also recently adopted Packer to build our machine images, to allow them to be defined in code (and therefore within version control). In Amazon, these machine images are called AMIs. [Read More]
devops  aws  packer  windows  aws  ami 

Prometheus: snmp_exporter and OpenBSD

In a previous post, I showed how to run the Prometheus node_exporter on a number of different operating systems, including OpenBSD. Many OpenBSD installs are used as, or to replace, network appliances (e.g. peering routers, firewalls, VPN concentrators). Traditionally, you would monitor networking equipment using SNMP. OpenBSDs snmpd(8) can expose a number of metrics that cover carp(4), pf(4), relayd(8) and more. Prometheus and SNMP The snmp_exporter is used so that Prometheus can monitor devices via SNMP. [Read More]

OpenBSD: High-Availability Firewalling

While most posts on this site usually concern Linux, I have a bit of a soft spot for OpenBSD. OpenBSD is an operating system from the Unix lineage, started in Bell Labs many years ago, eventually giving rise to the Berkley Software Distribution (BSD). The most known versions of BSD are NetBSD (who focus on portability, running on pretty much any hardware), FreeBSD (who focus on covering as many purposes as possible) and OpenBSD (who focus on security, sometimes at the expense of performance). [Read More]

Prometheus: Consul Service Discovery for blackbox and snmp exporter

In a previous post I covered how to use Consul for service discovery of standard exporters, allowing Prometheus to automatically discover what services to monitor. However, this configuration didn’t cater to exporters like the snmp_exporter or blackbox_exporter. What is interesting about both of the above is that rather than generating metrics for a local application, they are a proxy for other services. For example, you can use BlackBox exporter to do ICMP checks or HTTPS checks, without running an exporter on the services themselves. [Read More]