- 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