Quickstart for Sensu Go 6
Before we can do anything, we need to install Sensu Go Ansible Collection. Luckily, we are just one short command away from that goal:
$ ansible-galaxy collection install sensu.sensu_go
Now we can set up a simple Sensu Go sandbox using the following
playbook
:
---
- name: Install, configure and run Sensu backend
hosts: backends
become: true
tasks:
- name: Install backend
include_role:
name: sensu.sensu_go.backend
vars:
version: 6.0.0
- name: Install, configure and run Sensu agents
hosts: agents
become: true
tasks:
- name: Install agent
include_role:
name: sensu.sensu_go.agent
vars:
version: 6.0.0
agent_config:
name: my-agent
keepalive-interval: 5
keepalive-timeout: 10
- name: Configure your first monitor
hosts: localhost
tasks:
- name: Add subscriptions to agent entity
sensu.sensu_go.entity:
auth: &auth
url: http://{{ groups['backends'][0] }}:8080
name: my-agent
entity_class: agent
deregister: true
subscriptions:
- linux
- name: Create sensu asset
sensu.sensu_go.bonsai_asset:
auth: *auth
name: sensu/monitoring-plugins
version: 2.2.0-1
- name: Create sensu ntp check
sensu.sensu_go.check:
auth: *auth
name: ntp
runtime_assets: sensu/monitoring-plugins
command: check_ntp_time -H time.nist.gov --warn 0.5 --critical 1.0
output_metric_format: nagios_perfdata
publish: true
interval: 30
timeout: 10
subscriptions:
- linux
When we run it, Ansible will install and configure backend and agents on selected hosts, and then configure a ntp check that agents will execute twice a minute. Note that we do not need to inform agents explicitly where the backend is because the agent role can obtain the backend’s address from the inventory.
Now, before we can run this playbook, we need to prepare an inventory file.
The inventory should contain two groups of hosts: backends and agents. A
minimal inventory
with
only two hosts will look somewhat like this:
all:
children:
backends:
hosts:
192.168.50.4:
agents:
hosts:
192.168.50.5:
Replace the IP addresses with your own and make sure you can ssh into those hosts. If you need help with building your inventory file, consult official documentation on inventory.
All that we need to do now is to run the playbook:
$ ansible-playbook -i inventory.yaml playbook-6.yaml
And in a few minutes, things should be ready to go. And if we now visit http://192.168.50.4:3000 (replace that IP address with the address of your backend), we can log in and start exploring.