Provided by: masakari-monitors-common_19.0.0-0ubuntu1_all bug

NAME

       masakari-monitors - masakari-monitors 19.0.0

       Contents:

MASAKARI-MONITORS

   Monitors for Masakari
       Monitors  for  Masakari provides Virtual Machine High Availability (VMHA) service for OpenStack clouds by
       automatically detecting the failure events such as  VM  process  down,  provisioning  process  down,  and
       nova-compute host failure.  If it detect the events, it sends notifications to the masakari-api.

       Original version of Masakari: https://github.com/ntt-sic/masakari

       Tokyo Summit Session: https://www.youtube.com/watch?v=BmjNKceW_9A

       Monitors  for  Masakari is distributed under the terms of the Apache License, Version 2.0. The full terms
       and conditions of this license are detailed in the LICENSE file.

       • Free software: Apache license

       • Documentation: https://docs.openstack.org/masakari-monitors

       • Source: https://git.openstack.org/cgit/openstack/masakari-monitors

       • Bugs: https://bugs.launchpad.net/masakari-monitors

   Configure masakari-monitors
       1. Clone masakari using:

             $ git clone https://github.com/openstack/masakari-monitors.git

       2. Create masakarimonitors directory in /etc/.

       3. Run setup.py from masakari-monitors:

             $ sudo python setup.py install

       4. Copy   masakarimonitors.conf   and   process_list.yaml   files    from    masakari-monitors/etc/    to
          /etc/masakarimonitors   folder   and   make   necessary   changes  to  the  masakarimonitors.conf  and
          process_list.yaml files.  To generate the sample masakarimonitors.conf file, run the following command
          from the top level of the masakari-monitors directory:

             $ tox -egenconfig

       5. To run masakari-processmonitor, masakari-hostmonitor and masakari-instancemonitor simply use following
          binary:

             $ masakari-processmonitor
             $ masakari-hostmonitor
             $ masakari-instancemonitor

   Features
       • TODO

INSTALLATION

       At the command line:

          $ pip install masakari-monitors

       Or, if you have virtualenvwrapper installed:

          $ mkvirtualenv masakari-monitors
          $ pip install masakari-monitors

USAGE

       Monitors for Masakari:

   masakari-hostmonitor
   Monitor Overview
       The masakari-hostmonitor provides compute node High Availability for OpenStack  clouds  by  automatically
       detecting compute nodes failure via monitor driver.

   How does it work based on pacemaker & corosync?
       • Pacemaker or pacemaker-remote is required to install into compute nodes to form a pacemaker cluster.

       • The  compute node’s status is depending on the heartbeat between the compute node and the cluster. Once
         the node lost the heartbeat, masakari-hostmonitor in other nodes  will  detect  the  failure  and  send
         notifications to masakari-api.

   How does it work based on consul?
       • If  the nodes in the cloud have multiple interfaces to connect to management network, tenant network or
         storage network, monitor driver based on consul is  another  choice.  Consul  agents  are  required  to
         install into all noedes, which make up multiple consul clusters.

         Here is an example to show how to make up one consul cluster.

   Consul Usage
   Consul overview
       Consul  is  a  service  mesh  solution  providing  a  full featured control plane with service discovery,
       configuration, and segmentation functionality.  Each of  these  features  can  be  used  individually  as
       needed, or they can be used together to build a full service mesh.

       The  Consul  agent  is  the  core  process  of Consul. The Consul agent maintains membership information,
       registers services, runs checks, responds to queries, and more.

       Consul clients can provide any number of health checks, either associated with a given  service  or  with
       the local node. This information can be used by an operator to monitor cluster health.

       Please refer to Consul Agent Overview.

   Test Environment
       There  are  three  controller  nodes and two compute nodes in the test environment.  Every node has three
       network interfaces. The first interface is used for management, with an ip such as  ‘192.168.101.*’.  The
       second  interface  is used to connect to storage, with an ip such as ‘192.168.102.*’. The third interface
       is used for tenant, with an ip such as ‘192.168.103.*’.

   Download Consul
       Download Consul package for CentOS. Other OS please refer to Download Consul.

                sudo yum install -y yum-utils
                sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
                sudo yum -y install Consul

   Configure Consul agent
       Consul agent must runs on every node. Consul server agent runs on controller nodes, while  Consul  client
       agent runs on compute nodes, which makes up one Consul cluster.

       The  following is an example of a config file for Consul server agent which binds to management interface
       of the host.

       management.json

                {
                    "bind_addr": "192.168.101.1",
                    "datacenter": "management",
                    "data_dir": "/tmp/consul_m",
                    "log_level": "INFO",
                    "server": true,
                    "bootstrap_expect": 3,
                    "node_name": "node01",
                    "addresses": {
                        "http": "192.168.101.1"
                    },
                    "ports": {
                        "http": 8500,
                        "serf_lan": 8501
                    },
                    "retry_join": ["192.168.101.1:8501", "192.168.101.2:8501", "192.168.101.3:8501"]
                }

         The following is an example of a config  file  for  Consul  client  agent  which  binds  to  management
         interface of the host.

         management.json

                {
                    "bind_addr": "192.168.101.4",
                    "datacenter": "management",
                    "data_dir": "/tmp/consul_m",
                    "log_level": "INFO",
                    "node_name": "node04",
                    "addresses": {
                        "http": "192.168.101.4"
                    },
                    "ports": {
                        "http": 8500,
                        "serf_lan": 8501
                    },
                    "retry_join": ["192.168.101.1:8501", "192.168.101.2:8501", "192.168.101.3:8501"]
                }

         Use the tenant or storage interface ip and ports when config agent in tenant or storage datacenter.

         Please refer to Consul Agent Configuration.

   Start Consul agent
       The Consul agent is started by the following command.

                # Consul agent –config-file management.json

   Test Consul installation
       After  all  Consul  agents  installed  and started, you can see all nodes in the cluster by the following
       command.

                # Consul members -http-addr=192.168.101.1:8500
                Node    Address              Status  Type    Build   Protocol  DC
                node01  192.168.101.1:8501   alive   server  1.10.2  2         management
                node02  192.168.101.2:8501   alive   server  1.10.2  2         management
                node03  192.168.101.3:8501   alive   server  1.10.2  2         management
                node04  192.168.101.4:8501   alive   client  1.10.2  2         management
                node05  192.168.101.5:8501   alive   client  1.10.2  2         management

       • The compute node’s status is depending on assembly of multiple interfaces  connectivity  status,  which
         are  retrieved from multiple consul clusters. Then it sends notifition to trigger host failure recovery
         according to defined HA strategy - host states and the corresponding actions.

   Related configurations
       This section in masakarimonitors.conf shows an example of how to configure the hostmonitor if you  choice
       monitor driver based on pacemaker.

          [host]
          # Driver that hostmonitor uses for monitoring hosts.
          monitoring_driver = default

          # Monitoring interval(in seconds) of node status.
          monitoring_interval = 60

          # Do not check whether the host is completely down.
          # Possible values:
          # * True: Do not check whether the host is completely down.
          # * False: Do check whether the host is completely down.
          # If ipmi RA is not set in pacemaker, this value should be set True.
          disable_ipmi_check = False

          # Timeout value(in seconds) of the ipmitool command.
          ipmi_timeout = 5

          # Number of ipmitool command retries.
          ipmi_retry_max = 3

          # Retry interval(in seconds) of the ipmitool command.
          ipmi_retry_interval = 10

          # Only monitor pacemaker-remotes, ignore the status of full cluster
          # members.
          restrict_to_remotes = False

          # Standby time(in seconds) until activate STONITH.
          stonith_wait = 30

          # Timeout value(in seconds) of the tcpdump command when monitors
          # the corosync communication.
          tcpdump_timeout = 5

          # The name of interface that corosync is using for mutual communication
          # between hosts.
          # If there are multiple interfaces, specify them in comma-separated
          # like 'enp0s3,enp0s8'.
          # The number of interfaces you specify must be equal to the number of
          # corosync_multicast_ports values and must be in correct order with
          # relevant ports in corosync_multicast_ports.
          corosync_multicast_interfaces = enp0s3,enp0s8

          # The port numbers that corosync is using for mutual communication
          # between hosts.
          # If there are multiple port numbers, specify them in comma-separated
          # like '5405,5406'.
          # The number of port numbers you specify must be equal to the number of
          # corosync_multicast_interfaces values and must be in correct order with
          # relevant interfaces in corosync_multicast_interfaces.
          corosync_multicast_ports = 5405,5406

       If you want to use or test monitor driver based on consul, please modify following configuration.

          [host]
          # Driver that hostmonitor uses for monitoring hosts.
          monitoring_driver = consul

          [consul]
          # Addr for local consul agent in management datacenter.
          # The addr is make up of the agent's bind_addr and http port,
          # such as '192.168.101.1:8500'.
          agent_manage = $(CONSUL_MANAGEMENT_ADDR)
          # Addr for local consul agent in tenant datacenter.
          agent_tenant = $(CONSUL_TENANT_ADDR)
          # Addr for local consul agent in storage datacenter.
          agent_storage = $(CONSUL_STORAGE_ADDR)
          # Config file for consul health action matrix.
          matrix_config_file = /etc/masakarimonitors/matrix.yaml

       The matrix_config_file shows the HA strategy. Matrix is combined by host health and actions. The ‘health:
       [x,  x, x]’, repreasents assembly status of SEQUENCE. Action, means which actions it will trigger if host
       health turns into, while ‘recovery’ means it will trigger one host failure recovery  workflow.  User  can
       define  the HA strategy according to the physical environment. For example, if there is just 1 cluster to
       monitor management network connectivity, the user just need to configurate  $(CONSUL_MANAGEMENT_ADDR)  in
       consul   section   of   the   hostmontior’   configuration   file,   and   change   the  HA  strategy  in
       /etc/masakarimonitors/matrix.yaml as following:

          sequence: ['manage']
          matrix:
            - health: ['up']
              action: []
            - health: ['down']
              action: ['recovery']

       Then the hostmonitor by consul works as same as the hostmonitor by pacemaker.

   masakari-instancemonitor
   Monitor Overview
       The  masakari-instancemonitor  provides  Virtual  Machine  High  Availability  for  OpenStack  clouds  by
       automatically  detecting  VMs  domain events via libvirt. If it detects specific libvirt events, it sends
       notifications to the masakari-api.

   How does it work?
       • It runs libvirt event loop in a background thread.

         • Invoking  libvirt.virEventRegisterDefaultImpl()  will   register   libvirt’s   default   event   loop
           implementation.

         • Invoking  libvirt.virEventRunDefaultImpl()  will  perform  one iteration of the libvirt default event
           loop.

         • Invoking conn.domainEventRegisterAny() will  register  event  callbacks  against  libvirt  connection
           instances.   The   callbacks   registered   will   be   triggered   from  the  execution  context  of
           libvirt.virEventRunDefaultImpl(), which will send notifications to the masakari-api.

       • It will reconnect to libvirt and reprocess if disconnected.

   Related configurations
       This section in masakarimonitors.conf shows an example of how to configure the monitor.

          [libvirt]
          # Override the default libvirt URI.
          connection_uri = qemu:///system

   masakari-introspectiveinstancemonitor
   Monitor Overview
       The  masakari-introspectiveinstancemonitor  provides  Virtual  Machine  HA  for   OpenStack   clouds   by
       automatically  detecting the system-level failure events via QEMU Guest Agent. If it detects VM heartbeat
       failure events, it sends notifications to the masakari-api.

   How does it work?
       • libvirt and QEMU Guest Agent are used as the underlying protocol for messaging to and from VM.

         • The host-side qemu-agent sockets are used to detemine whether VMs  are  configured  with  QEMU  Guest
           Agent.

         • qemu-guest-ping is used as the monitoring heartbeat.

       • For  the  future release, we can pass through arbitrary guest agent commands to check the health of the
         applications inside a VM.

   Related configurations
       This section in masakarimonitors.conf shows an example of how to configure the monitor.

          [libvirt]
          # Override the default libvirt URI.
          connection_uri = qemu:///system

          [introspectiveinstancemonitor]
          # Guest monitoring interval of VM status (in seconds).
          # * The value should not be too low as there should not be false negative
          # * for reporting QEMU_GUEST_AGENT failures
          # * VM needs time to do powering-off.
          # * guest_monitoring_interval should be greater than
          # * the time to SHUTDOWN VM gracefully.
          guest_monitoring_interval = 10

          # Guest monitoring timeout (in seconds).
          guest_monitoring_timeout = 2

          # Failure threshold before sending notification.
          guest_monitoring_failure_threshold = 3

          # The file path of qemu guest agent sock.
          qemu_guest_agent_sock_path = \
          /var/lib/libvirt/qemu/org\.qemu\.guest_agent\..*\.instance-.*\.sock

   masakari-processmonitor
   Monitor Overview
       The masakari-processmonitor, provides key process High Availability for OpenStack clouds by automatically
       detecting the process failure.  If it detects process failure, it sends notifications to masakari-api.

       If your OpenStack service runs in container(pod), this processmonitor will not work as  expected.  It  is
       recommended not to deploy processmonitor.

   How does it work?
       • Processes to be monitored should be pre-configured in process_list.yaml file.

       Define one process to be monitored as follows:

          process_name: [Name of the process as it in 'ps -ef'.]
          start_command: [Start command of the process.]
          pre_start_command: [Command which is executed before start_command.]
          post_start_command: [Command which is executed after start_command.]
          restart_command: [Restart command of the process.]
          pre_restart_command: [Command which is executed before restart_command.]
          post_restart_command: [Command which is executed after restart_command.]
          run_as_root: [Bool value whether to execute commands as root authority.]

       Sample of definitions is shown as follows:

          # nova-compute
          process_name: /usr/local/bin/nova-compute
          start_command: systemctl start nova-compute
          pre_start_command:
          post_start_command:
          restart_command: systemctl restart nova-compute
          pre_restart_command:
          post_restart_command:
          run_as_root: True

       • If  masakari-processmonitor  detects  one  process  failure,  it  will try to restart it firstly. After
         several retries failed, it sends notification to masakari-api.

   Related configurations
       This section in masakarimonitors.conf shows an example of how to configure the monitor.

          [process]
          # Interval in seconds for checking a process.
          check_interval = 5

          # Number of retries when the failure of restarting a process.
          restart_retries = 3

          # Interval in seconds for restarting a process.
          restart_interval = 5

          # The file path of process list.
          process_list_path = /etc/masakarimonitors/process_list.yaml

MASAKARI MONITORS CONFIGURATION OPTIONS

       The following is an overview of all available configuration options in masakari-monitors.  To see  sample
       configuration file, see Masakari Monitors Sample Configuration File.

   DEFAULT
       tempdir

              Type   string

              Default
                     <None>

              Explicitly specify the temporary working directory.

       monkey_patch

              Type   boolean

              Default
                     False

              Determine if monkey patching should be applied.

              Related options:

                 • monkey_patch_modules: This must have values set for this option to have any effect

       monkey_patch_modules

              Type   list

              Default
                     []

              List of modules/decorators to monkey patch.

              This option allows you to patch a decorator for all functions in specified modules.

              Related options:

                 • monkey_patch: This must be set to True for this option to have any effect

       hostname

              Type   string

              Default
                     lcy02-amd64-093

              Hostname, FQDN or IP address of this host. Must be valid within AMQP key.

              Possible values:

              • String with hostname, FQDN or IP address. Default is hostname of this host.

DEPRECATED VARIATIONS

                                                  ┌─────────┬──────┐
                                                  │ Group   │ Name │
                                                  ├─────────┼──────┤
                                                  │ DEFAULT │ host │
                                                  └─────────┴──────┘

       instancemonitor_manager

              Type   string

              Default
                     masakarimonitors.instancemonitor.instance.InstancemonitorManager

              Full class name for the Manager for instancemonitor.

       introspectiveinstancemonitor_manager

              Type   string

              Default
                     masakarimonitors.introspectiveinstancemonitor.instance.IntrospectiveInstanceMonitorManager

              Full class name for introspectiveinstancemonitor.

       processmonitor_manager

              Type   string

              Default
                     masakarimonitors.processmonitor.process.ProcessmonitorManager

              Full class name for the Manager for processmonitor.

       hostmonitor_manager

              Type   string

              Default
                     masakarimonitors.hostmonitor.host.HostmonitorManager

              Full class name for the Manager for hostmonitor.

       debug

              Type   boolean

              Default
                     False

              Mutable
                     This option can be changed without restarting.

              If set to true, the logging level will be set to DEBUG instead of the default INFO level.

       log_config_append

              Type   string

              Default
                     <None>

              Mutable
                     This option can be changed without restarting.

              The  name  of  a  logging  configuration  file.  This  file  is  appended  to any existing logging
              configuration files. For details about logging configuration files, see the Python logging  module
              documentation.  Note that when logging configuration files are used then all logging configuration
              is set in the configuration file and other logging configuration options are ignored (for example,
              log-date-format).

DEPRECATED VARIATIONS

                                               ┌─────────┬────────────┐
                                               │ Group   │ Name       │
                                               ├─────────┼────────────┤
                                               │ DEFAULT │ log-config │
                                               ├─────────┼────────────┤
                                               │ DEFAULT │ log_config │
                                               └─────────┴────────────┘

       log_date_format

              Type   string

              Default
                     %Y-%m-%d %H:%M:%S

              Defines the format string for %(asctime)s in log records. Default: the value above .  This  option
              is ignored if log_config_append is set.

       log_file

              Type   string

              Default
                     <None>

              (Optional)  Name  of  log file to send logging output to. If no default is set, logging will go to
              stderr as defined by use_stderr. This option is ignored if log_config_append is set.

DEPRECATED VARIATIONS

                                                ┌─────────┬─────────┐
                                                │ Group   │ Name    │
                                                ├─────────┼─────────┤
                                                │ DEFAULT │ logfile │
                                                └─────────┴─────────┘

       log_dir

              Type   string

              Default
                     <None>

              (Optional) The base directory used for  relative  log_file   paths.  This  option  is  ignored  if
              log_config_append is set.

DEPRECATED VARIATIONS

                                                 ┌─────────┬────────┐
                                                 │ Group   │ Name   │
                                                 ├─────────┼────────┤
                                                 │ DEFAULT │ logdir │
                                                 └─────────┴────────┘

       watch_log_file

              Type   boolean

              Default
                     False

              Uses logging handler designed to watch file system. When log file is moved or removed this handler
              will  open  a  new  log  file with specified path instantaneously. It makes sense only if log_file
              option is specified and Linux platform is used. This option is  ignored  if  log_config_append  is
              set.

              WARNING:
                 This option is deprecated for removal.  Its value may be silently ignored in the future.

                 Reason This  function  is  known  to  have  bene  broken  for  long  time,  and  depends on the
                        unmaintained library

       use_syslog

              Type   boolean

              Default
                     False

              Use syslog for logging. Existing syslog format is DEPRECATED and will be changed  later  to  honor
              RFC5424. This option is ignored if log_config_append is set.

       use_journal

              Type   boolean

              Default
                     False

              Enable  journald  for  logging. If running in a systemd environment you may wish to enable journal
              support. Doing so will use the journal native  protocol  which  includes  structured  metadata  in
              addition to log messages.This option is ignored if log_config_append is set.

       syslog_log_facility

              Type   string

              Default
                     LOG_USER

              Syslog facility to receive log lines. This option is ignored if log_config_append is set.

       use_json

              Type   boolean

              Default
                     False

              Use JSON formatting for logging. This option is ignored if log_config_append is set.

       use_stderr

              Type   boolean

              Default
                     False

              Log output to standard error. This option is ignored if log_config_append is set.

       log_color

              Type   boolean

              Default
                     False

              (Optional) Set the ‘color’ key according to log levels. This option takes effect only when logging
              to stderr or stdout is used. This option is ignored if log_config_append is set.

       log_rotate_interval

              Type   integer

              Default
                     1

              The   amount   of  time  before  the  log  files  are  rotated.  This  option  is  ignored  unless
              log_rotation_type is set to “interval”.

       log_rotate_interval_type

              Type   string

              Default
                     days

              Valid Values
                     Seconds, Minutes, Hours, Days, Weekday, Midnight

              Rotation interval type. The time of the last file  change  (or  the  time  when  the  service  was
              started) is used when scheduling the next rotation.

       max_logfile_count

              Type   integer

              Default
                     30

              Maximum number of rotated log files.

       max_logfile_size_mb

              Type   integer

              Default
                     200

              Log file maximum size in MB. This option is ignored if “log_rotation_type” is not set to “size”.

       log_rotation_type

              Type   string

              Default
                     none

              Valid Values
                     interval, size, none

              Log rotation type.

              Possible values

              interval
                     Rotate logs at predefined time intervals.

              size   Rotate logs once they reach a predefined size.

              none   Do not rotate log files.

       logging_context_format_string

              Type   string

              Default
                     %(asctime)s.%(msecs)03d    %(process)d    %(levelname)s   %(name)s   [%(global_request_id)s
                     %(request_id)s %(user_identity)s] %(instance)s%(message)s

              Format string to use for log messages with context. Used by oslo_log.formatters.ContextFormatter

       logging_default_format_string

              Type   string

              Default
                     %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

              Format   string   to   use   for   log   messages   when   context   is   undefined.    Used    by
              oslo_log.formatters.ContextFormatter

       logging_debug_format_suffix

              Type   string

              Default
                     %(funcName)s %(pathname)s:%(lineno)d

              Additional  data  to  append  to  log message when logging level for the message is DEBUG. Used by
              oslo_log.formatters.ContextFormatter

       logging_exception_prefix

              Type   string

              Default
                     %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

              Prefix    each    line    of    exception     output     with     this     format.     Used     by
              oslo_log.formatters.ContextFormatter

       logging_user_identity_format

              Type   string

              Default
                     %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

              Defines  the  format  string  for %(user_identity)s that is used in logging_context_format_string.
              Used by oslo_log.formatters.ContextFormatter

       default_log_levels

              Type   list

              Default
                     ['amqp=WARN', 'amqplib=WARN',  'boto=WARN',  'qpid=WARN',  'sqlalchemy=WARN',  'suds=INFO',
                     'oslo.messaging=INFO',                'oslo_messaging=INFO',                'iso8601=WARN',
                     'requests.packages.urllib3.connectionpool=WARN',             'urllib3.connectionpool=WARN',
                     'websocket=WARN',  'requests.packages.urllib3.util.retry=WARN',  'urllib3.util.retry=WARN',
                     'keystonemiddleware=WARN',  'routes.middleware=WARN',  'stevedore=WARN',   'taskflow=WARN',
                     'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

              List  of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append
              is set.

       publish_errors

              Type   boolean

              Default
                     False

              Enables or disables publication of error events.

       instance_format

              Type   string

              Default
                     "[instance: %(uuid)s] "

              The format for an instance that is passed with the log message.

       instance_uuid_format

              Type   string

              Default
                     "[instance: %(uuid)s] "

              The format for an instance UUID that is passed with the log message.

       rate_limit_interval

              Type   integer

              Default
                     0

              Interval, number of seconds, of log rate limiting.

       rate_limit_burst

              Type   integer

              Default
                     0

              Maximum number of logged messages per rate_limit_interval.

       rate_limit_except_level

              Type   string

              Default
                     CRITICAL

              Valid Values
                     CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’

              Log level name used by rate limiting. Logs with level greater or equal to  rate_limit_except_level
              are not filtered. An empty string means that all levels are filtered.

       fatal_deprecations

              Type   boolean

              Default
                     False

              Enables or disables fatal status of deprecations.

   api
       Configuration options for sending notifications.

       region

              Type   string

              Default
                     RegionOne

              Region name.

       api_version

              Type   string

              Default
                     v1

              Masakari API Version.

       api_interface

              Type   string

              Default
                     public

              Interface of endpoint.

       auth_url

              Type   unknown type

              Default
                     <None>

              Authentication URL

       system_scope

              Type   unknown type

              Default
                     <None>

              Scope for system operations

       domain_id

              Type   unknown type

              Default
                     <None>

              Domain ID to scope to

       domain_name

              Type   unknown type

              Default
                     <None>

              Domain name to scope to

       project_id

              Type   unknown type

              Default
                     <None>

              Project ID to scope to

DEPRECATED VARIATIONS

                                                ┌───────┬───────────┐
                                                │ Group │ Name      │
                                                ├───────┼───────────┤
                                                │ api   │ tenant-id │
                                                ├───────┼───────────┤
                                                │ api   │ tenant_id │
                                                └───────┴───────────┘

       project_name

              Type   unknown type

              Default
                     <None>

              Project name to scope to

DEPRECATED VARIATIONS

                                               ┌───────┬─────────────┐
                                               │ Group │ Name        │
                                               ├───────┼─────────────┤
                                               │ api   │ tenant-name │
                                               ├───────┼─────────────┤
                                               │ api   │ tenant_name │
                                               └───────┴─────────────┘

       project_domain_id

              Type   unknown type

              Default
                     <None>

              Domain ID containing project

       project_domain_name

              Type   unknown type

              Default
                     <None>

              Domain name containing project

       trust_id

              Type   unknown type

              Default
                     <None>

              ID of the trust to use as a trustee use

       default_domain_id

              Type   unknown type

              Default
                     <None>

              Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project
              domain in v3 and ignored in v2 authentication.

       default_domain_name

              Type   unknown type

              Default
                     <None>

              Optional  domain  name to use with v3 API and v2 parameters. It will be used for both the user and
              project domain in v3 and ignored in v2 authentication.

       user_id

              Type   unknown type

              Default
                     <None>

              User id

       username

              Type   unknown type

              Default
                     <None>

              Username

DEPRECATED VARIATIONS

                                                ┌───────┬───────────┐
                                                │ Group │ Name      │
                                                ├───────┼───────────┤
                                                │ api   │ user-name │
                                                ├───────┼───────────┤
                                                │ api   │ user_name │
                                                └───────┴───────────┘

       user_domain_id

              Type   unknown type

              Default
                     <None>

              User’s domain id

       user_domain_name

              Type   unknown type

              Default
                     <None>

              User’s domain name

       password

              Type   unknown type

              Default
                     <None>

              User’s password

   callback
       retry_max

              Type   integer

              Default
                     12

              Number of retries when the notification processing is error.

       retry_interval

              Type   integer

              Default
                     10

              Trial interval of time of the notification processing is error(in seconds).

   consul
       agent_manage

              Type   string

              Default
                     <None>

              Addr for local consul agent in management datacenter.

       agent_tenant

              Type   string

              Default
                     <None>

              Addr for local consul agent in tenant datacenter.

       agent_storage

              Type   string

              Default
                     <None>

              Addr for local consul agent in storage datacenter.

       matrix_config_file

              Type   string

              Default
                     <None>

              Config file for consul health action matrix.

   cors
       allowed_origin

              Type   list

              Default
                     <None>

              Indicate whether this resource may be shared with the domain received  in  the  requests  “origin”
              header.    Format:    “<protocol>://<host>[:<port>]”,    no    trailing    slash.    Example:    ‐
              https://horizon.example.com

       allow_credentials

              Type   boolean

              Default
                     True

              Indicate that the actual request can include user credentials

       expose_headers

              Type   list

              Default
                     []

              Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.

       max_age

              Type   integer

              Default
                     3600

              Maximum cache age of CORS preflight requests.

       allow_methods

              Type   list

              Default
                     ['OPTIONS', 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'PATCH']

              Indicate which methods can be used during the actual request.

       allow_headers

              Type   list

              Default
                     []

              Indicate which header field names may be used during the actual request.

   healthcheck
       path

              Type   string

              Default
                     /healthcheck

              The path to respond to healtcheck requests on.

              WARNING:
                 This option is deprecated for removal.  Its value may be silently ignored in the future.

       detailed

              Type   boolean

              Default
                     False

              Show more detailed information as part of the response. Security note: Enabling  this  option  may
              expose  sensitive  details  about  the service being monitored. Be sure to verify that it will not
              violate your security policies.

       backends

              Type   list

              Default
                     []

              Additional backends that can perform health checks and report that information back as part  of  a
              request.

       allowed_source_ranges

              Type   list

              Default
                     []

              A  list  of  network  addresses  to limit source ip allowed to access healthcheck information. Any
              request from ip outside of these network addresses are ignored.

       ignore_proxied_requests

              Type   boolean

              Default
                     False

              Ignore requests with proxy headers.

       disable_by_file_path

              Type   string

              Default
                     <None>

              Check the presence of a file to determine if  an  application  is  running  on  a  port.  Used  by
              DisableByFileHealthcheck plugin.

       disable_by_file_paths

              Type   list

              Default
                     []

              Check  the presence of a file based on a port to determine if an application is running on a port.
              Expects a “port:path” list of strings. Used by DisableByFilesPortsHealthcheck plugin.

       enable_by_file_paths

              Type   list

              Default
                     []

              Check the presence of files. Used by EnableByFilesHealthcheck plugin.

   host
       monitoring_driver

              Type   string

              Default
                     default

              Driver that hostmonitor uses for monitoring hosts.

       monitoring_interval

              Type   integer

              Default
                     60

              Monitoring interval(in seconds) of node status.

       monitoring_samples

              Type   integer

              Default
                     1

              Monitoring probes to collect before making the decision to send Masakari  notification  about  the
              node  status. If and only if monitoring_samples consecutive reports have the same status, will the
              Masakari notification be sent.

       api_retry_max

              Type   integer

              Default
                     12

              Number of retries for send a notification in hostmonitor.

       api_retry_interval

              Type   integer

              Default
                     10

              Trial interval of time of the notification processing is error(in seconds).

       disable_ipmi_check

              Type   boolean

              Default
                     False

              Do not check whether the host is completely down.

              Possible values:

              • True: Do not check whether the host is completely down.

              • False: Do check whether the host is completely down.

              If ipmi RA is not set in pacemaker, this value should be set True.

       restrict_to_remotes

              Type   boolean

              Default
                     False

              Only monitor pacemaker-remotes, ignore the status of full cluster members.

       ipmi_timeout

              Type   integer

              Default
                     5

              Timeout value(in seconds) of the ipmitool command.

       ipmi_retry_max

              Type   integer

              Default
                     3

              Number of ipmitool command retries.

       ipmi_retry_interval

              Type   integer

              Default
                     10

              Retry interval(in seconds) of the ipmitool command.

       stonith_wait

              Type   integer

              Default
                     30

              Standby time(in seconds) until activate STONITH.

       tcpdump_timeout

              Type   integer

              Default
                     5

              Timeout value(in seconds) of the tcpdump command when monitors the corosync communication.

       corosync_multicast_interfaces

              Type   string

              Default
                     <None>

              The name of interface that corosync is using for mutual communication between hosts.  If there are
              multiple interfaces,  specify  them  in  comma-separated  like  ‘enp0s3,enp0s8’.   The  number  of
              interfaces  you specify must be equal to the number of corosync_multicast_ports values and must be
              in correct order with relevant ports in corosync_multicast_ports.

       corosync_multicast_ports

              Type   string

              Default
                     <None>

              The port numbers that corosync is using for mutual communication  between  hosts.   If  there  are
              multiple  port  numbers,  specify  them  in  comma-separated like ‘5405,5406’.  The number of port
              numbers you specify must be equal to the number of corosync_multicast_interfaces values  and  must
              be in correct order with relevant interfaces in corosync_multicast_interfaces.

       pacemaker_node_type

              Type   string

              Default
                     autodetect

              Valid Values
                     autodetect, cluster, remote

              Using  this  option, one can avoid systemd checks that would establish whether this hostmonitor is
              running alongside Corosync and Pacemaker (the cluster  stack)  or  Pacemaker  Remote  (the  remote
              stack).

              The  default  (autodetect)  ensures  backward compatibility and means systemd is used to check the
              stack.

   introspectiveinstancemonitor
       guest_monitoring_interval

              Type   integer

              Default
                     10

              Guest monitoring interval of VM status (in seconds).  * The value should not be too low  as  there
              should  not  be  false  negative  *  for reporting QEMU_GUEST_AGENT failures * VM needs time to do
              powering-off.  * guest_monitoring_interval should be greater  than  *  the  time  to  SHUTDOWN  VM
              gracefully.  * e.g. | 565da9ba-3c0c-4087-83ca | iim1 | ACTIVE | powering-off | Running

       guest_monitoring_timeout

              Type   integer

              Default
                     2

              Guest monitoring timeout (in seconds).

       guest_monitoring_failure_threshold

              Type   integer

              Default
                     3

              Failure threshold before sending notification.

       qemu_guest_agent_sock_path

              Type   string

              Default
                     /var/lib/libvirt/qemu/org\.qemu\.guest_agent\..*\.instance-.*\.sock

              • The file path of qemu guest agent sock.

              • Please     use     Python    raw    string    notation    as    regular    expressions.     e.g.
                r’/var/lib/libvirt/qemu/org.qemu.guest_agent..*.instance-.*.sock’

   libvirt
       connection_uri

              Type   string

              Default
                     qemu:///system

              Override the default libvirt URI.

   oslo_middleware
       max_request_body_size

              Type   integer

              Default
                     114688

              The maximum body size for each  request, in bytes.

DEPRECATED VARIATIONS

                                      ┌─────────┬─────────────────────────────┐
                                      │ Group   │ Name                        │
                                      ├─────────┼─────────────────────────────┤
                                      │ DEFAULT │ osapi_max_request_body_size │
                                      ├─────────┼─────────────────────────────┤
                                      │ DEFAULT │ max_request_body_size       │
                                      └─────────┴─────────────────────────────┘

       enable_proxy_headers_parsing

              Type   boolean

              Default
                     False

              Whether the application is behind a proxy or not. This determines if the middleware  should  parse
              the headers or not.

       http_basic_auth_user_file

              Type   string

              Default
                     /etc/htpasswd

              HTTP basic auth password file.

   process
       check_interval

              Type   integer

              Default
                     5

              Interval in seconds for checking a process.

       restart_retries

              Type   integer

              Default
                     3

              Number of retries when the failure of restarting a process.

       restart_interval

              Type   integer

              Default
                     5

              Interval in seconds for restarting a process.

       api_retry_max

              Type   integer

              Default
                     12

              Number of retries for send a notification in processmonitor.

       api_retry_interval

              Type   integer

              Default
                     10

              Interval between re-sending a notification in processmonitor(in seconds).

       process_list_path

              Type   string

              Default
                     /etc/masakarimonitors/process_list.yaml

              The file path of process list.

MASAKARI MONITORS SAMPLE CONFIGURATION FILE

       Configure Masakari Monitors by editing /etc/masakarimonitors/masakarimonitors.conf.

       No  config  file  is  provided  with the source code, it will be created during the installation. In case
       where no configuration file was installed, one can be easily created by running:

          tox -e genconfig

       To see configuration options available, please refer to Masakari Monitors Configuration Options.

AUTHOR

       Author name not set

COPYRIGHT

       2016, OpenStack Foundation

19.0.0                                            Apr 03, 2025                              MASAKARI-MONITORS(1)