Stouts.mongodb

Stouts.mongo

构建状态 Galaxy

Ansible 角色用于管理 MongoDB

  • 安装和配置 MongoDB;
  • 提供重启和重新加载的处理程序;
  • 设置 MMS 自动化代理;

变量


mongodb_enabled: yes
mongodb_install: yes

mongodb_additional_packages:
- python-selinux
- python-pymongo

mongodb_user: mongodb

mongodb_version: "3.2.4"                         # 完全指定的目标安装版本

# 服务设置选项
mongodb_version_config:                          # 针对主要/次要版本变体的自定义配置
  v2.4:
    daemon: mongodb
    config_file: mongodb.conf
  v2.6:
    daemon: mongod
    config_file: mongod.conf
  v3.0:
    daemon: mongod
    config_file: mongod.conf
  v3.2:
    daemon: mongod
    config_file: mongod.conf

# 配置选项
mongodb_conf_auth: no                             # 启用安全性
mongodb_conf_bind_ip: 127.0.0.1                   # 监听的 IP 地址,以逗号分隔
mongodb_conf_cpu: yes                             # 定期显示 CPU 和 I/O 等待利用率
mongodb_conf_dbpath: /data/db                     # 数据文件目录
mongodb_conf_fork: no                             # 进行服务器进程的分叉
mongodb_conf_httpinterface: no                    # 启用 HTTP 接口
mongodb_conf_ipv6: no                             # 启用 IPv6 支持(默认禁用)
mongodb_conf_journal: no                          # 启用日志记录
mongodb_conf_logappend: yes                       # 追加到日志路径而不是覆盖
mongodb_conf_logpath: /var/log/mongodb/{{ mongodb_daemon_name }}.log # 日志文件写入的路径,而不是标准输出
mongodb_conf_maxConns: 20000                      # 最大并发连接数
mongodb_conf_noprealloc: no                       # 禁用数据文件预分配
mongodb_conf_noscripting: no                      # 禁用脚本引擎
mongodb_conf_notablescan: no                      # 不允许表扫描
mongodb_conf_port: 27017                          # 指定端口号
mongodb_conf_quota: no                            # 限制每个数据库的文件数量
mongodb_conf_quotaFiles: 8                        # 限制文件数量
mongodb_conf_syslog: no                           # 写入系统的 syslog,而不是文件(如果设置了 logpath,则被忽略)
mongodb_conf_smallfiles: no                       # 设置 MongoDB 使用更小的默认文件大小

# 副本集选项:
mongodb_conf_replSet:                             # 启用复制 <setname>[/<optionalseedhostlist>]
mongodb_conf_replIndexPrefetch: all               # 指定索引预取行为(如果是辅助) [none|_id_only|all]

mongodb_shell: {}                                 # 定义要运行的 mongo shell 命令
                                                  # 语法:mongodb_shell:
                                                  #          dbname:
                                                  #           - db.setProfilingLevel(1, 50)


# MMS 代理
mongodb_mms_agent_pkg: https://mms.mongodb.com/download/agent/automation/mongodb-mms-automation-agent-manager_latest_amd64.deb
mongodb_mms_group_id: ""
mongodb_mms_api_key: ""
mongodb_mms_base_url: https://mms.mongodb.com

# 日志轮换
mongodb_logrotate: yes                             # 轮换 mongodb 日志。
mongodb_logrotate_options:
  - compress
  - copytruncate
  - daily
  - dateext
  - rotate 7
  - size 10M

使用方法

Stouts.mongodb 添加到你的角色中,并在剧本文件中设置变量。

示例:


- hosts: all

  roles:
  - Stouts.mongodb

  vars:
    mongodb_conf_port: 27400

许可证

根据 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。

反馈、错误报告、请求等...

欢迎 反馈!

关于项目

Manage MongoDB (MMS)

安装
ansible-galaxy install Stouts.mongodb
许可证
mit
下载
426.8k
拥有者
Plump for good