Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/examples/scenarios/installing_backend_cluster/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.vagrant
.keys
50 changes: 50 additions & 0 deletions docs/examples/scenarios/installing_backend_cluster/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
$lscript = <<-SCRIPT
echo "provisioning...."
touch /home/vagrant/.ssh/authorized_keys
cat /vagrant/demo.pub >> /home/vagrant/.ssh/authorized_keys
apt-get update
apt-get install -y nginx
cp /vagrant/conf/load-balancing.conf /etc/nginx/conf.d/
systemctl restart nginx
SCRIPT


Vagrant.configure("2") do |config|
# Common config

# VM-specific config
3.times do |i|
config.vm.define("sensu-cluster#{i}") do |backend|
backend.vm.box = "centos/7"
backend.vm.provision(
"shell",
inline: "cat /vagrant/demo.pub >> /home/vagrant/.ssh/authorized_keys"
)
backend.vm.hostname = "sensu-cluster#{i}"
backend.vm.network "private_network", ip: "192.168.50.2#{i}"
backend.vm.provider("virtualbox") do |v|
v.memory = 1024
v.cpus = 1
end
end
end


config.vm.define("loadbalance") do |loadbalance|
loadbalance.vm.provision(
"shell",
inline: $lscript
)
loadbalance.vm.box = "hashicorp/bionic64"
loadbalance.vm.hostname = "loadbalancer"
loadbalance.vm.network "private_network", ip: "192.168.50.30"
loadbalance.vm.network "forwarded_port", guest: 3000, host: 3000
loadbalance.vm.network "forwarded_port", guest: 8080, host: 8080

loadbalance.vm.provider("virtualbox") do |v|
v.memory = 1024
v.cpus = 1
end
end

end
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
- hosts: backends,agents
become: true
roles:
- geerlingguy.ntp

- name: Stop Sensu-backend and purge configuration
hosts: backends
become: true

tasks:
- debug: var=inventory_hostname
- debug: var=ansible_hostname
- name: Stop backend
systemd:
name: sensu-backend
state: stopped
ignore_errors: true
- name : Remove sensu embedded etcd store
file:
path: /var/lib/sensu/sensu-backend/etcd
state: absent

Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# WebSocket Proxy with Load Balancing
#
# Like the other examples, but there are three WS backends (ws1, ws2, ws3).
# Each client must always be forwarded to the same backend (e.g. when using
# HTTPS requests).

upstream sensu_api {
# Clients with the same IP are redirected to the same backend
ip_hash;

# Available backend servers
server 192.168.50.20:8080;
server 192.168.50.21:8080;
server 192.168.50.22:8080;
}

upstream sensu_dashboard {
# Clients with the same IP are redirected to the same backend
ip_hash;

# Available backend servers
server 192.168.50.20:3000;
server 192.168.50.21:3000;
server 192.168.50.22:3000;
}

upstream sensu_agent_ws {
# Clients with the same IP are redirected to the same backend
ip_hash;

# Available backend servers
server 192.168.50.20:8081;
server 192.168.50.21:8081;
server 192.168.50.22:8081;
}


server {
listen 8081;

location / {
## switch off logging
access_log off;

# redirect all HTTP traffic to localhost:8080
proxy_pass http://sensu_agent_ws;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# WebSocket support (nginx 1.4)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

}
}
server {
listen 8080;

location / {
## switch off logging
access_log off;

# redirect all HTTP traffic to localhost:8080
proxy_pass http://sensu_api;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header Host $host;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

## WebSocket support (nginx 1.4)
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";

}
}
server {
listen 3000;

location / {
## switch off logging
access_log off;

# redirect all HTTP traffic to localhost:8080
proxy_pass http://sensu_dashboard;

}
}
38 changes: 38 additions & 0 deletions docs/examples/scenarios/installing_backend_cluster/demo
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqxqSZBZf7cIzcKsGPz1vuKJPECIUat32twhvvOi+3lDo6hj3CT/wmFvd0AR8/3K20CUkmYTRrxvLHHwvhdnuqMrJ2NBCQCSPkir1yS0XflUSN7Vkq4rFWh/M7EfuWOPisjo0vk+Kz5vnpuA1hIH2ijZSOPIpgP7oJdMF6KlNZDMNmT+2tp2ChLn3NbrdZtXVlp0PijXQ0/ru4mV3v6ZDfI2w71uXvRqGnmaBznhWU1R+V5+alsnGjATB0rWWI4j/8GTnS1KF22Cjfn+RS0loO44K1eN5Gh4oApANMouQJDWx5NyDX9rqWXRAHnZP/gsirSRCtaR1gPrV/Iqdd1aIO8e6FX0NZqzFdo9x8n9SNcJWrh5YeZ784Qq/DbhiAypcSf7kJucZUmjtWRMp8GCd1VSphuq5yyR21yLocIlBvmNzGGBBQ1KYfyvx/Asw76NXeuBgE75nhlGN3zj7wXxyu9TOnaZwlZeAfUdySZaCknBwI9xtTaWEvl9ZvT8Dm9rU= [email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
ansible_ssh_common_args: >
-o IdentitiesOnly=yes
-o BatchMode=yes
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-i demo
22 changes: 22 additions & 0 deletions docs/examples/scenarios/installing_backend_cluster/inventory.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
all:
hosts:
localhost:
ansible_connection: local
children:
backends:
hosts:
sensu-cluster0:
ansible_host: 192.168.50.20
ansible_user: vagrant
sensu-cluster1:
ansible_host: 192.168.50.21
ansible_user: vagrant
sensu-cluster2:
ansible_host: 192.168.50.22
ansible_user: vagrant
agents:
hosts:
sensu-cluster0:
ansible_host: 192.168.50.20
ansible_user: vagrant
Loading