MongoDB的安装使用与监控
下载
https://www.mongodb.com/try/download/community
我这边习惯于下载 Windows 的 MSI 进行安装
Linux 喜欢下载 tgz包. 这样便于迁移与快速部署.
安装
解压缩
然后将bin目录下的文件复制到 /usr/bin目录下
添加用户 useradd monogdb
添加文件 mkdir -p /data/mongodb/{data,logs}
修改用户属主
chown mongodb /data/mongodb -R
验证服务启动
验证是否可以启动服务:
mongod --dbpath /data/mongodb/data/ --logpath /data/mongodb/logs/mongodb.log --fork
about to fork child process, waiting until server is ready for connections.
forked process: 397168
child process started successfully, parent exiting
查看默认端口已经打开:
lsof -i:27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 397168 mongodb 14u IPv4 7741989 0t0 TCP localhost:27017 (LISTEN)
设置外网访问
创建配置文件:
cat >/etc/mongod.conf <<EOF
dbpath=/data/mongodb/data
logpath=/data/mongodb/logs/mongodb.log
pidfilepath=/data/mongodb/master.pid
directoryperdb=true
logappend=true
bind_ip=0.0.0.0
port=27017
fork=true
#auth=true
EOF
chown monogdb /etc/monogd.conf
启动方式:
mongod -f /etc/mongod.conf
添加用户
# 可以使用 navicat 连接, 也可以在bind IP之前使用 命令行登录
# 下载mongodb 的shell
https://www.mongodb.com/try/download/compass
下载mongodb shell
show databases ;
use admin;
db.createUser({user:"admin",pwd:"Test20131127",roles:["root"]})
db.system.users.find()
# 注意添加完用户之后 将配置文件里面的 auth 的注释放开, 重启数据库.
mongod -f /etc/mongod.conf --shutdown 关闭数据库
mongod -f /etc/mongod.conf 启动数据库
设置服务以及开机启动
注意 使用 systemd 管理mongodb 服务的话 需要将配置文件里面的 fork 参数注释掉.
cat >/usr/lib/systemd/system/mongodb.service <<EOF
[Unit]
Description=mongodb
After=network.target
[Service]
Type=simple
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod -f /etc/mongod.conf
ExecStop=/usr/bin/mongod -f /etc/mongod.conf --shutdown
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now mongodb
验证服务可以使用
下载使用exporter
https://github.com/percona/mongodb_exporter
chmod 777 mongodb_exporter-linux-amd64
scp mongodb_exporter-linux-amd64 /usr/bin/mongodb_exporter
Grafana 的ID为:
16490
cat >/usr/lib/systemd/system/mongodb_exporter.service <<EOF
[Unit]
Description=mongodb_exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/mongodb_exporter --mongodb.uri=mongodb://admin:[email protected]:27017 --web.listen-address=:9162 --collect-all
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now mongodb_exporter.service
prometheus使用
- job_name: "mongodb"
static_configs:
- targets:
- "192.168.254.217:9162"
Grafana 导入 16490