在Debian系统上可通过以下方式自动化管理MongoDB:
-
自动化部署与配置
使用Ansible编写Playbook,实现MongoDB安装、配置文件修改(如/etc/mongod.conf中设置bindIp)、服务重启等操作,通过ansible-playbook命令批量执行。 -
自动备份与恢复
- 编写bash脚本,结合
mongodump工具实现定时备份,例如每天凌晨压缩备份指定数据库,并通过crontab设置定时任务(如0 2 * * *)。 - 脚本中可加入日志记录(如输出到
/var/log/mongodb_backup.log),并使用tar压缩备份文件以节省空间。
- 编写bash脚本,结合
-
监控与告警
- 自带工具:使用
mongostat监控实例状态(连接数、内存等),mongotop监控集合级读写情况。 - 第三方工具:部署Prometheus+Grafana,通过
mongodb-exporter采集指标,配置告警规则(如连接数过高时触发通知)。
- 自带工具:使用
-
日志管理
通过logrotate工具管理MongoDB日志文件,设置轮转规则(如按天分割、保留7天),避免日志占用过多磁盘空间。
关键命令示例:
- 安装工具:
sudo apt install mongodb-org-tools prometheus grafana。 - 手动备份:
mongodump --host localhost --port 27017 --db mydb --out /backup/mydb_$(date +%Y%m%d).gz。 - 启动监控:
systemctl start prometheus,访问Grafana界面查看指标。