Skip to content
This repository has been archived by the owner on Jun 15, 2021. It is now read-only.

jpartain89/ansible-role-configure-monit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jpartain89.Configure-Monit

I am no longer working on this repo. Apologies

Ansible role to configure Monit, not install it. This was forked off from pgolm's Monit Project

Requirements

You'll need to have monit already installed; either through your system's package manager or through Installing Monit from Source

Role Variables

  • monit_cycle: Time between checks in seconds. Defaults to 120
  • monit_log_destination: Where the log will be written. Can be a path to a file or "syslog", which will write to syslog daemon. Defaults to /var/log/monit.log
  • monit_state_file: State file path. Defaults to /var/lib/monit/state
  • monit_id_file: Id file path. Defaults to /var/lib/monit/id
  • monit_eventqueue_dir: Event queue directory path. It is only used when this variable is defined. Defaults to /var/lib/monit/events
  • The monit_eventqueue_dir is only necessary if you are going to be using M/Monit
  • monit_eventqueue_slots: Event queue slots. It is only used when monit_eventqueue_dir is defined. Defaults to 1000
  • monit_mmonit_address: The web address of your M/Monit instance to send the events to
  • monit_services: List of hashes of services to be monitorized by monit
  • parent_monit_services: Same list, but as a master list, if your machines share any definitions
    • name: Name of the process or host
    • type: Type of monitorization:
      • process
      • process_by_name
      • file
      • fifo
      • host
      • filesystem
      • directory
      • program
      • network
      • network_by_interface
      • system - This item will run a check on the target that you specify, not the name
    • target: Target of monitorization. Should be a pidfile, processname, an address or undefined, depending on the type of service
    • start: Command that starts the service. Optional
    • stop: Command that stop the service. Optional
    • restart: Command that restarts the service
    • user: Linux username of the user starting the program. Optional
    • group: Linux group of the user starting the program. Optional
    • rules: List of rules to be included in this service. Optional

For those of you who are wondering about using depends lines in your config files, you can write the dependency with the title in the above rule line, but then you'll need to create a new rule dictionary entry that will consequently create another file. As long as the names match, monit will know.

  • monit_service_delete_unlisted: Remove existing service monitorization configurations not declared in the services. Defaults to true
  • monit_mail_enabled: Enable mail alerts. Defaults to false
  • monit_mailserver_host: Mailserver host address. Defaults to localhost
  • monit_mailserver_port: Mailserver host port. Defaults to 25
  • monit_mailserver_user: Username for authentication on mailserver. Optional
  • monit_mailserver_password: Password for authentication on mailserver Optional
  • monit_mailserver_timeout: Timeout for mailserver connection. Defaults to 5
  • monit_mailserver_ssl_version: If defined, monit will use this algorithm for SSL connection to the mail server. Possible values are SSLAUTO, SSLV2, SSLV3, TLSV1, TLSV11, TLSV12
  • monit_alert_addresses: List of mail addresses where the alerts will be sent to
  • monit_alert_mail_format: A hash of options for mail-format
    • from: Sender mail address
    • reply-to: A reply-to mail address
    • subject: Mail subject
    • message: Mail message body
  • monit_webinterface_enabled: Enable monit web interface. Defaults to true
  • monit_webinterface_bind: IP address to bind web interface. Defaults to 0.0.0.0 (listen for external requests)
  • monit_webinterface_port: Port for web interface. Defaults to 2812
  • monit_webinterface_acl_rules: List of ACL rules for the web interface, such as localhost, username:password, @groupname. It is only applied when defined and is empty by default. You should probably define at least one for the httpd service to start

Custom Facts

This role writes a monit_services_configured in /etc/ansible/facts.d/monit.fact in order to keep track of the configured monitors between different plays. This helps us removing unused monitors.

LICENSE

MIT