要想启动MMS服务,必须配置 conf-mms.properties文件中的有关 应用程序的URL和电子邮件的设置参数。同时,该文件保存有明文的密码,需要将用户组改为mongodb-mms,权限设置为600。 设置应用程序URL 下面两个参数是必须设置的。 mms.centralUrl 类型:字符串
要想启动MMS服务,必须配置
conf-mms.properties文件中的有关应用程序的URL和电子邮件的设置参数。同时,该文件保存有明文的密码,需要将用户组改为mongodb-mms,权限设置为600。
设置应用程序URL
下面两个参数是必须设置的。
mms.centralUrl
类型:字符串
必需的。MMS的监控服务。完整的URL,包括端口号。如mms.centralUrl=http://mms.ttlsa.com:8080
mms.backupCentralUrl
类型:字符串
必需的。备份服务的用户名和端口。如mms.backupCentralUrl=http://mms.ttlsa.com:8081
必需设置该选择,即使你只使用MMS监控服务。
电子邮件地址设置
以下电子邮件地址配置是强制的,否则MMS监控服务无法启动。
mms.fromEmailAddr
类型:字符串
必需的。该电子邮件地址用于发送一般的电子邮件,例如:警报。可以包括电子邮件地址的别名。如:mms.fromEmailAddr=MMS Alerts
mms.replyToEmailAddr
类型:字符串
必需的。该电子邮件地址发送回复到一般的电子邮件。如:mms.replyToEmailAddr=mms-no-reply@ttlsa.com
mms.adminFromEmailAddr
类型:字符串
必需的。该电子邮件地址从MMS管理员发送消息。如:mms.adminFromEmailAddr=MMS Admin
mms.adminEmailAddr
类型:字符串
必需的。该电子邮件地址发送信息或回复到MMS管理员。如:mms.adminEmailAddr=mms-admin@ttlsa.com
?mms.bounceEmailAddr
类型:字符串
必需的。该电子邮件地址发送退回邮件。如:mms.bounceEmailAddr=bounce@ttlsa.com
电子邮件服务设置
mms.emailDaoClass
类型:字符串
电子邮件接口使用。对于AWS简单的电子邮件服务,指定com.xgen.svc.core.dao.email.AwsEmailDao,如:mms.emailDaoClass=com.xgen.svc.core.dao.email.AwsEmailDao
对于AWS简单的电子邮件服务,也看看aws.accesskey和aws.secretkey。
对于JavaEmailDao,指定com.xgen.svc.core.dao.email.JavaEmailDao,如:mms.emailDaoClass=com.xgen.svc.core.dao.email.JavaEmailDao
mms.mail.transport
类型:字符串,默认:smtp
指定你电子邮件提供商的传输协议SMTP或SMTPS。如:mms.mail.transport=smtp
mms.mail.hostname
类型:字符串, 默认:localhost
指定你的电子邮件提供商的电子邮件服务主机名。如:mms.mail.hostname=mail.ttlsa.com
mms.mail.port
类型:数值,默认:25
指定你的电子邮件提供商的电子邮件传输端口。如:mms.mail.port=25
mms.mail.tls
类型:布尔,默认:false
是否传输协议的指示运行在TLS之上。如:mms.mail.tls=false
mms.mail.username
类型:字符串
电子邮件帐户的用户名。如果没有设置,默认为禁用SMTP验证。
mms.mail.password
类型:字符串
电子邮件账号的密码。如果没有设置,默认为禁用SMTP验证。
aws.accesskey
如果使用AWS的简单电子邮件服务此参数需要。访问秘钥ID。
aws.secretkey
如果使用AWS的简单电子邮件服务此参数需要。
Twilio短信提醒设置
通过SMS接收提醒通知。必须有一个Twilio帐户并指定配置文件中的Twilio的帐户信息。
twilio.account.sid
类型:字符串
Twilio 账号ID。
twilio.auth.token
类型:字符串
Twilio的API令牌。
twilio.from.num
类型:字符串
Twilio 电话号码。
MongoDB设置
mongo.mongoUri
类型:字符串
必需的。MMS连接mongodb服务器的连接串。即MMS应用程序数据库。如指定复制集:mongo.mongoUri=mongodb://db1.example.net:40000,db2.example.net:40000,db3.example.net:40000
如果MongoDB有访问控制,需要在主机前加上:@来指定用户名和密码,同时,尾部需要加上?/admin来指定验证库。如:mongo.mongoUri=mongodb://mongodbuser1:password@mydb1.example.net:40000/admin
有关连接字符串的URI格式可以查看之前写的文章。
mongo.replicaSet
类型:字符串
如果mongo.mongoUri使用的是复制集,需要指定复制集的名称。如:mongo.replicaSet=mmsreplset
mongo.backupdb.mongoUri
类型:字符串
MMS备份必需。连接MMS备份Blockstore数据库的连接串。必须是另一台独立的MongoDB服务器。如:
mongo.backupdb.mongoUri=mongodb://db5.example.net:50000,db6.example.net:50000,db7.example.net:50000
mongo.backupdb.replicaSet
类型:字符串
MMS备份必需。如果mongo.backupdb.mongoUri使用的是复制集,需要指定复制集名称。如:mongo.backupdb.replicaSet=mmsbackupreplset
mongo.encryptedCredentials
类型:布尔
可选。如果mongo.mongoUri包含加密的用户名和密码需要设置为true。
必需使用MMS提供的credentialstool工具对用户名和密码进行加密。
conf-mms.properties文件可以包含多个mongo.MongoURI设置。如果mongo.encryptedCredentials是ture,必需对所有的mongo.MongoURI用户名和密码进行加密。
MMS备份守护进程设置
仅当使用MMS备份时,需要设置。
rootDirectory
类型:字符串
备份守护进程动态的创建和维护复制集HEAD目录。该目录需要mongodb-mms用户可读写,且结尾必需加个斜杠,同时,空间必需足够大。
注意:此目录中的数据有MMS备份守护进程动态创建,维护和销毁。这个分区不要用于任何其他目的,不能重叠与用于备份Blockstore数据库分区。
mongodb.release.directory
类型:字符串
备份守护程序使用的mongod程序需要与正在备份的任何复制集的版本匹配。
该mongodb.release.directory应指向包含备份守护进程所需的MongoDB版本路径。此路径中的文件夹中应该有如下类似名称,如:mongodb-linux-x86_64-2.4.8 ,mongodb-linux-x86_64-2.6.0。
备份守护进程/opt/mongodb/backup-daemon/bin目录下有个mongodb-fetch工具,可以直接从mongodb.org下载所有的最新版本。
当服务启动时,mongodb.release.autoDownload会自动运行该工具。如果在意安全问题,可以关闭掉自动下载,手工下载所需版本。
mongodb.release.autoDownload
类型:布尔
是否启动自动下载MongoDB版本。
会话管理设置
?mms.session.maxHours
类型:数值
MMS网站会话多少小时后过期。
密码策略设置
设置MMS用户账号密码安全策略。
mms.password.minChangesBeforeReuse
类型:数值
记住以前密码数。不能重复使用已经记住的密码作为新的密码。
mms.password.maxFailedAttemptsBeforeAccountLock
类型:数值
账号尝试登录次数后锁定该账号。只有MMS管理员才可以解锁该用户。
mms.password.maxDaysInactiveBeforeAccountLock
类型:数值
多少天没有访问MMS界面锁定该用户。
mms.password.maxDaysBeforeChangeRequired
类型:数值
多少天需要修改密码。
SNMP心跳设置
周期性发送检测包来检测MMS状态。使用标准的SNMP UDP 162端口。
配置MMS来发送Trap通知,从?http://downloads.mongodb.com/on-prem-monitoring/MMS-MONGODB-MIB.txt下载MIB文件,并设置以下参数:
snmp.default.hosts
类型:字符串,默认:空
将需要进行检测的主机以逗号分隔列在此处。需要设置该参数启用SNMP心跳功能,否则,关闭。
snmp.listen.port
类型:数值,默认:11611
SNMP监听的UDP端口。如果设置低于1024,则需要以root用户来运行MMS服务。
snmp.default.heartbeat.interval
类型:数值,默认:300
心跳检测间隔。
验证码设置
新用户注册启用验证码。
reCaptcha.public.key
类型:字符串
验证码公钥与你账号关联。
reCaptcha.private.key
类型:字符串
验证码私钥与你账号关联。
LDAP服务器设置
mms.userSvcClass
类型:字符串
LDAP服务类com.xgen.svc.mms.svc.user.UserSvcLdap。如:mms.userSvcClass=com.xgen.svc.mms.svc.user.UserSvcLdap
LDAP用户设置
指定下列设置LDAP目录架构属性。
mms.ldap.url
类型:字符串
指定LDAP服务的URI。如:mms.ldap.url=ldap://174.129.71.167:3890
mms.ldap.bindDn
类型:字符串
LDAP用户用来执行搜索其他用户。如:mms.ldap.url=_search_
mms.ldap.bindPassword
类型:字符串
搜索用户凭证。如:mms.ldap.bindPassword=dISDFFFnj7WMmc
mms.ldap.user.baseDn
类型:字符串
基本目录名称(DN),用于搜索用户。“=”需要使用反斜杠转义。如:mms.ldap.user.baseDn=c\=users,d\=identity
mms.ldap.user.searchAttribute
类型:字符串
当MMS用户登录时,LDAP用户记录属性,根据该属性搜索MMS用户并验证。如:mms.ldap.user.searchAttribute=uid
mms.ldap.user.firstName
类型:字符串
LDAP用户属性包含用户的第一个名字。如:mms.ldap.user.firstName=givenName
mms.ldap.user.lastName
类型:字符串
LDAP用户属性包含用户的最后一个名字。如:mms.ldap.user.lastName=sn
mms.ldap.user.email
类型:字符串
LDAP用户属性包含用户的电子邮件地址。
mms.ldap.user.group
类型:字符串
LDAP用户属性用户属于组的列表。
LDAP全局角色设置
全局参数可以是LDAP组的任何格式。可以是一个共同的名字(即CN)或专有名称(即DN)。格式必须与mms.ldap.user.group设置指定的属性相匹配。
mms.ldap.global.role.read_only
类型:字符串
LDAP组属性为MMS用户分配了全局只读。这种角色只能查看MMS数据。如:mms.ldap.global.role.read_only=AcmeDbas
mms.ldap.global.role.monitoring_admin
类型:字符串
LDAP组属性为MMS用户分配了全局监控管理角色。这个角色可以查看主机,图表和其它数据,以及监控主机,监控管理设置,下载监控代理和其他任务。如:mms.ldap.global.role.monitoring_admin=AcmeDbas
mms.ldap.global.role.backup_admin
类型:字符串
LDAP组属性为MMS用户分配了全局备份管理角色。?这个角色可以查看备份状态,快照列表,并修改备份设置,以及启动/停止/中止备份,恢复请求,查看/编辑主机密码和其他任务。 如:mms.ldap.global.role.backup_admin=AcmeDbas
mms.ldap.global.role.owner
类型:字符串
LDAP组属性为MMS用户分配了全球主人的角色。这个角色可以执行MMS所有管理任务。如:mms.ldap.global.role.backup_admin=AcmeDbas
Kerberos 设置
MMS应用和后端存储启用Kerberos身份验证。
jvm.java.security.krb5.kdc
必需的。?KDC服务器的IP/ FQDN。该值将被设置为JVM的java.security.krb5.kdc。 如:jvm.java.security.krb5.kdc=kdc.example.com
jvm.java.security.krb5.realm
必需的。默认为REALM 。如:jvm.java.security.krb5.realm=EXAMPLE.COM
mms.kerberos.principal
必需的。主要用户MongoDB的验证。如:mms.kerberos.principal=mms/mmsweb.example.com@EXAMPLE.COM
mms.kerberos.keyTab
必需的。指定keytab 文件的绝对路径。如:mms.kerberos.keyTab=/path/to/mms.keytab
mms.kerberos.debug
可选的。调试Kerberos身份验证过程详细信息。
加密MongoDB用户凭证
如果不想纯文本保存MongoDB用户密码信息,可以使用MMS提供的工具对其进行加密。步骤如下:
1. 生成密码对
# /opt/mongodb/mms/bin/credentialstool --username ttlsa --password
Enter Password:
Generating credentials pair...
Your encrypted credentials pair is
Username: fce001fa4cb3cecac8e43265431a05c0-6442a57e242bad69
Password: fce001fa4cb3cecac8e43265431a05c0-6fdc734ebab5dbe572cef6f2d44a6a4b
Please copy these credentials into the MongoURI connection strings of
your [install-dir]/conf/conf-mms.properties where needed. Additionally,
for each MongoURI connection string using encrypted credentials, please
add the following configuration option which will indicate to MMS that
the credentials are set as encrypted tokens:
mongo.encryptedCredentials=true
E.g.,
mongo.mongoUri=mongodb://fce001fa4cb3cecac8e43265431a05c0-6442a57e242bad69:fce001fa4cb3cecac8e43265431a05c0-6fdc734ebab5dbe572cef6f2d44a6a4b@127.0.0.1:27017/
mongo.encryptedCredentials=true
...
mongo.backupdb.mongoUri=mongodb://fce001fa4cb3cecac8e43265431a05c0-6442a57e242bad69:fce001fa4cb3cecac8e43265431a05c0-6fdc734ebab5dbe572cef6f2d44a6a4b@127.0.0.1:27017/
mongo.backupdb.encryptedCredentials=true
...
登入後複製
2. 修改下面两个参数
mongo.mongoUri=mongodb://fce001fa4cb3cecac8e43265431a05c0-6442a57e242bad69:fce001fa4cb3cecac8e43265431a05c0-6fdc734ebab5dbe572cef6f2d44a6a4b@127.0.0.1:27017/
mongo.encryptedCredentials=true
登入後複製
MongoDB用户权限
MongoDB的用户必须有以下角色权限:readWriteAnyDatabase,clusterAdmin和dbAdminAnyDatabase。
原文地址:MMS 配置选项说明(7), 感谢原作者分享。