Ansible role for deploying Monasca Monitoring-as-a-Service agent.
This role installs the following Systemd services:
monasca-agent
To clone or view the source code for this repository, visit the role repository for os_monasca-agent.
## Verbosity Options
debug: False
# Set the package install state for distribution and pip packages
# Options are 'present' and 'latest'
monasca_agent_package_state: "latest"
monasca_agent_pip_package_state: "latest"
monasca_agent_developer_mode: false
monasca_agent_git_repo: "https://git.openstack.org/openstack/monasca-agent"
monasca_agent_git_install_branch: master
monasca_agent_developer_constraints:
- "git+{{ monasca_agent_git_repo }}@{{ monasca_agent_git_install_branch }}#egg=monasca-agent"
# TODO(odyssey4me):
# This can be simplified once all the roles are using
# python_venv_build. We can then switch to using a
# set of constraints in pip.conf inside the venv,
# perhaps prepared by giving a giving a list of
# constraints to the role.
monasca_agent_pip_install_args: >-
{{ monasca_agent_developer_mode | ternary(pip_install_developer_constraints | default('--constraint /opt/developer-pip-constraints.txt'), '') }}
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''), '') }}
{{ pip_install_options | default('') }}
# Name of the virtual env to deploy into
monasca_agent_venv_tag: "{{ venv_tag | default('untagged') }}"
monasca_agent_bin: "/openstack/venvs/monasca-agent-{{ monasca_agent_venv_tag }}/bin"
monasca_agent_etc_dir: "{{ monasca_agent_bin | dirname }}/etc/monasca/agent"
# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
monasca_agent_venv_download: "{{ not monasca_agent_developer_mode | bool }}"
monasca_agent_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/monasca_agent.tgz
# System info
monasca_agent_system_user_name: monasca-agent
monasca_agent_system_group_name: monasca-agent
monasca_agent_system_shell: /bin/false
monasca_agent_system_comment: monasca-agent system user
monasca_agent_system_user_home: "/var/lib/{{ monasca_agent_system_user_name }}"
# Monasca-agent configuration
monasca_agent_user_name: monasca-agent
monasca_agent_project_name: admin
monasca_service_region: RegionOne
monasca_agent_check_frequency: 15
monasca_agent_log_level: WARN
monasca_agent_infra_processes_to_monitor:
infra:
- name: nginx
group: repo_all
- name: apt-cacher-ng
group: repo_all
- name: haproxy.pid
group: haproxy_all
- name: memcached
group: memcached_all
- name: mysqld
group: galera_all
- name: rabbitmq
group: rabbitmq_all
- name: epmd
group: rabbitmq_all
- name: storm.daemon.nimbus
group: monasca_api
- name: storm.daemon.supervisor
group: monasca_api
- name: storm.daemon.worker
group: monasca_api
- name: zookeeper
group: monasca_zookeeper
- name: kafka
group: monasca_kafka
- name: influxdb
group: monasca_influxdb
- name: grafana-server
group: monasca_grafana
- name: rsyslogd
group: all
- name: chronyd
group: hosts
ceph:
- name: ceph
group: ceph_all
monasca_agent_os_processes_to_monitor:
alarming:
- name: aodh-notifier
group: aodh_alarm_notifier
- name: aodh-evaluator
group: aodh_alarm_evaluator
- name: aodh-listener
baremetal:
- name: ironic-api
- name: ironic-conductor
container-infra:
- name: magnum-api
group: magnum
- name: magnum-conductor
group: magnum
compute:
- name: nova-api-metadata
- name: nova-api-os-compute
- name: nova-compute
- name: nova-conductor
- name: nova-consoleauth
group: nova_console
- name: nova-scheduler
- name: "{% if nova_console_type is defined and nova_console_type == 'spice' %}nova-spicehtml5proxy{% else %}nova-novncproxy{% endif %}"
group: nova_console
- name: nova-placement-api
group: nova_api_placement
dashboard:
- name: apache2
group: horizon
database:
- name: trove-api
- name: trove-conductor
- name: trove-taskmanager
data-processing:
- name: sahara-api
- name: sahara-engine
dns:
- name: designate-central
- name: designate-worker
- name: designate-producer
- name: designate-mdns
- name: designate-sink
- name: designate-api
identity:
- name: keystone
group: keystone
image:
- name: glance-api
- name: glance-registry
load-balancer:
- name: octavia-api
group: octavia-api
- name: octavia-worker
group: octavia-worker
- name: octavia-housekeeping
group: octavia-housekeeping
- name: octavia-health-manager
group: octavia-health-manager
metric:
- name: gnocchi-api
- name: gnocchi-metricd
metering:
- name: ceilometer-agent-notification
- name: ceilometer-polling
group: ceilometer_agent_compute
monitoring:
- name: monasca-api
- name: monasca-notification
- name: monasca_persister
- name: apache-storm
group: monasca_api
network:
- name: neutron-dhcp-agent
- name: "{% if neutron_plugin_type is defined and 'ovs' in neutron_plugin_type %}neutron-openvswitch-agent{% else %}neutron-linuxbridge-agent{% endif %}"
- name: neutron-metadata-agent
- name: neutron-metering-agent
- name: neutron-l3-agent
- name: neutron-bgp-dragent
enabled: "{{ neutron_bgp is defined and neutron_bgp | bool }}"
- name: neutron-vpnaas-agent
group: neutron_l3_agent
enabled: "{{ neutron_plugin_base is defined and 'vpnaas' in neutron_plugin_base }}"
- name: neutron-server
object-store:
- name: swift-account-replicator
group: swift_acc
- name: swift-account-server
group: swift_acc
- name: swift-account-auditor
group: swift_acc
- name: swift-account-reaper
group: swift_acc
- name: swift-container-replicator
group: swift_cont
- name: swift-container-server
group: swift_cont
- name: swift-container-auditor
group: swift_cont
- name: swift-container-sync
group: swift_cont
- name: swift-container-updater
group: swift_cont
- name: swift-container-reconciler
group: swift_cont
- name: swift-object-replicator
group: swift_obj
- name: swift-object-server
group: swift_obj
- name: swift-object-auditor
group: swift_obj
- name: swift-object-updater
group: swift_obj
- name: swift-object-expirer
group: swift_obj
- name: swift-object-reconstructor
group: swift_obj
- name: swift-proxy-server
group: swift_proxy
orchestration:
- name: heat-api
- name: heat-api-cfn
- name: heat-api-cloudwatch
- name: heat-engine
volume:
- name: cinder-api
- name: cinder-scheduler
- name: cinder-volume
- name: cinder-backup
enabled: "{{ cinder_service_backup_program_enabled | default(False) }}"
haproxy_ssl: True
galera_monitoring_user: "monitoring"
monasca_agent_plugins_http_check_disabled:
- repo_git
- nova_console
monasca_agent_plugins:
- name: "ceph"
where: "ceph-mon"
- name: "cpu"
where: "all"
- name: "disk"
where: "all"
- name: "load"
where: "all"
- name: "memory"
where: "all"
- name: "network"
where: "all"
- name: "process"
where: "all"
- name: "supervisord"
where: "all"
- name: "http_check"
where: "shared-infra_hosts"
- name: "host_alive"
where: "shared-infra_hosts"
- name: "mcache"
where: "memcached"
- name: "mysql"
where: "galera_all"
- name: "rabbitmq"
where: "rabbitmq_all"
- name: "haproxy"
where: "haproxy_hosts"
- name: "postfix"
where: "monasca_api"
- name: "zk"
where: "monasca_zookeeper"
- name: "kafka_consumer"
where: "monasca_kafka"
- name: "apache"
where: "horizon_all"
- name: "libvirt"
where: "compute_hosts"
- name: "crash"
where: "hosts"
- name: "ntp"
where: "hosts"
monasca_agent_pip_packages:
- keystoneauth1
- libvirt-python
- monasca-agent
- monasca-common
- oslo.utils
- PyMySQl
- python-monascaclient
- python-neutronclient
- python-novaclient
monasca_agent_services:
monasca-agent:
group: all
service_name: monasca-agent
service_init_bin: "{{ monasca_agent_bin}}/supervisord"
service_init_options: "-c /etc/monasca/agent/supervisor.conf -n"
init_config_overrides: "{{ monasca_agent_init_overrides }}"
monasca_agent_init_overrides: {}
# This variable is used by the repo_build process to determine
# which host group to check for members of before building the
# pip packages required by this role. The value is picked up
# by the py_pkgs lookup.
monasca_agent_role_project_group: all
monasca_agent_yaml_overrides: {}
monasca_agent_supervisor_conf_overrides: {}
monasca_agent_reconfigure_overrides: {}
This role needs pip >= 7.1 installed on the target host.
---
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Install monasca agent
hosts: monasca-agent_all
user: root
roles:
- { role: "os_monasca-agent", tags: [ "os-monasca-agent" ] }
vars:
monasca_agent_password: "secrete"
This role supports the following tags:
monasca-agent-install
: used to install and upgrade monasca-agent;
monasca-agent-config
: used to manage monasca-agent configuration;
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.