# 日志与性能监控（Profiler、Atlas）

URL: https://caijiao.org/mongodb/08-deploy/04-logging
Source: docs/mongodb/08-deploy/04-logging.md
Description: 本章节介绍 MongoDB 的日志系统和性能监控工具，包括 Profiler 和云端服务 Atlas，帮助用户优化数据库性能。

MongoDB 提供丰富的日志记录和性能监控工具，帮助开发者分析和优化数据库操作。

## Profiler（性能分析器）

Profiler 用于捕获和记录数据库执行的操作详情，方便排查慢查询和性能瓶颈。

### 启用 Profiler

```js
// 开启所有操作的 Profiling
db.setProfilingLevel(2)

// 仅记录慢查询（执行时间超过 100ms）
db.setProfilingLevel(1, { slowms: 100 })
````

### 查看日志

查询 Profiling 日志：

```js
db.system.profile.find().sort({ ts: -1 }).limit(10).pretty()
```

### Profiling 级别

* 0：关闭 Profiling。
* 1：仅记录慢查询。
* 2：记录所有操作。

## 日志系统

MongoDB 记录操作日志，包括启动日志、错误日志和操作日志，帮助定位问题。

* 日志路径和级别可在配置文件中设置。
* 结合系统监控工具（如 `mongostat`、`mongotop`）实时监控。

## Atlas 性能监控

MongoDB Atlas 是官方云服务，内置强大性能监控和告警功能。

### 主要功能

* 实时监控 CPU、内存、磁盘使用。
* 查询性能分析，自动识别慢查询。
* 自定义告警规则。
* 可视化仪表盘，简化运维。

### 使用方式

* 连接 Atlas 集群即可自动开启监控。
* 支持集成 Slack、邮件等多种告警渠道。

---

合理利用 Profiler 和 Atlas 性能监控工具，可以帮助用户及时发现性能瓶颈并进行优化，保障 [MongoDB](/mongodb/) 运行稳定高效。
