monasca-vagrant/mini-mon.yml

140 lines
4.9 KiB
YAML

- name: Installs DBs, kafka and other core dependencies.
hosts: mini-mon
sudo: yes
vars:
influxdb:
version: 0.8.1
raft_port: 9090
seed_servers: []
replication_factor: 1
mini_mon_host: 192.168.10.4
zookeeper_hosts: "{{mini_mon_host}}:2181"
pre_tasks:
- name: apt-get update
apt: update_cache=yes
tasks:
- name: Install postfix, needed by notification engine
apt: name=postfix state=present
- name: Install pip from apt
apt: name=python-pip state=present
- name: pip upgrade pip
pip: name=pip state=latest
- name: Install python-dev
apt: name=python-dev state=present
roles:
- {role: zookeeper, tags: [zookeeper]}
- {role: kafka, kafka_listen_address: "{{mini_mon_host}}", tags: [kafka]}
- {role: influxdb, tags: [influxdb]}
- {role: percona, mysql_root_password: password, percona_package: percona-xtradb-cluster-56, tags: [mysql, percona]}
- {role: cacert, cacert_name: monasca_test_ca.crt, tags: [cacert]}
- name: Sets up schema and Installs Monasca apps
hosts: mini-mon
sudo: yes
vars:
mini_mon_host: 192.168.10.4
influxdb_url: "http://{{mini_mon_host}}:8086"
influxdb_users:
mon_api: password
mon_persister: password
kafka_topics:
metrics: { replicas: 1, partitions: 4 }
events: { replicas: 1, partitions: 4 }
raw-events: { replicas: 1, partitions: 4 }
transformed-events: { replicas: 1, partitions: 4 }
alarm-state-transitions: { replicas: 1, partitions: 4 }
alarm-notifications: { replicas: 1, partitions: 4 }
kafka_hosts: "{{mini_mon_host}}:9092"
keystone_url: http://192.168.10.5:35357/v3
monasca_agent:
user: monasca-agent
password: password
project: mini-mon
service: monitoring
monasca_api_url: http://192.168.10.4:8080/v2.0
monasca_checks:
host_alive:
init_config:
ssh_port: 22
ssh_timeout: 0.5
ping_timeout: 1
instances:
- name: devstack
host_name: 192.168.10.5
alive_test: ssh
mysql_host: "{{mini_mon_host}}"
mysql_users:
notification: password
monapi: password
thresh: password
storm_worker_ports: [6701, 6702]
zookeeper_hosts: "{{mini_mon_host}}:2181"
roles:
- {role: monasca-schema, tags: [schema]}
- {role: monasca-api,
api_region: useast,
influxdb_user: mon_api,
influxdb_password: password,
keystone_host: 192.168.10.5,
keystone_admin: admin,
keystone_admin_password: password,
keystone_admin_token: ADMIN,
mysql_user: monapi,
mysql_password: password,
tags: [api]}
- {role: monasca-persister,
influxdb_user: mon_persister,
influxdb_password: password,
tags: [persister]}
- {role: monasca-notification,
mysql_user: notification,
mysql_password: password,
smtp_host: localhost,
tags: [notification]}
- {role: storm, nimbus_host: "{{mini_mon_host}}", storm_nimbus_enabled: true, storm_supervisor_enabled: true, tags: [storm]}
- {role: monasca-thresh,
mysql_user: thresh,
mysql_password: password,
tags: [thresh]}
- {role: monasca-agent, tags: [agent]}
- name: Define default alarms
hosts: mini-mon
gather_facts: no
vars:
keystone_url: http://192.168.10.5:35357/v3/
keystone_user: mini-mon
keystone_password: password
tasks:
- name: Create System Alarm Definitions
monasca_alarm_definition:
name: "{{item.name}}"
expression: "{{item.expression}}"
keystone_url: "{{keystone_url}}"
keystone_user: "{{keystone_user}}"
keystone_password: "{{keystone_password}}"
with_items:
- { name: "High CPU usage", expression: "avg(cpu.idle_perc) < 10 times 3" }
- { name: "Disk Inode Usage", expression: "disk.inode_used_perc > 90" }
- { name: "Disk Usage", expression: "disk.space_used_perc > 90" }
- { name: "Memory usage", expression: "avg(mem.usable_perc) < 10 times 3" }
- { name: "Network Errors", expression: "net.in_errors >5 or net.out_errors > 5" }
tags:
- alarms
- system_alarms
- name: Create Monasca Alarm Definitions
monasca_alarm_definition:
name: "{{item.name}}"
expression: "{{item.expression}}"
keystone_url: "{{keystone_url}}"
keystone_user: "{{keystone_user}}"
keystone_password: "{{keystone_password}}"
with_items:
- { name: "Monasca Agent emit time", expression: "avg(monasca.emit_time_sec) > 2 times 3" }
- { name: "Monasca Agent collection time", expression: "avg(monasca.collection_time_sec) > 5 times 3" }
- { name: "Monasca Configuration DB query time", expression: "avg(monasca.config_db_time.95percentile) > 5 times 3" }
- { name: "Zookeeper Average Latency", expression: "avg(zookeeper.avg_latency_sec) > 1 times 3" }
tags:
- alarms
- monasca_alarms