# OpenIM配置文件说明以及常用配置修改说明 ## 外部组件相关配置 | Configuration File | Description | | ------------------ | ---------------------------------- | | **kafka.yml** | Kafka用户名、密码、地址等配置 | | **redis.yml** | Redis密码、地址等配置 | | **minio.yml** | MinIO用户名、密码、地址等配置 | | **mongodb.yml** | MongoDB用户名、密码、地址等配置 | | **discovery.yml** | 服务发现以及etcd用户名、密码、地址 | ## OpenIMServer相关配置 | Configuration File | Description | | ------------------------------- | ---------------------------------------------- | | **log.yml** | 日志级别及存储目录等配置 | | **notification.yml** | 添加好友、创建群组等事件通知配置 | | **share.yml** | 各服务所需的公共配置,如secret等 | | **webhooks.yml** | Webhook中URL等配置 | | **local-cache.yml** | 本地缓存配置,一般不用修改 | | **openim-rpc-third.yml** | openim-rpc-third监听IP、端口及对象存储配置 | | **openim-rpc-user.yml** | openim-rpc-user监听IP、端口配置 | | **openim-api.yml** | openim-api监听IP、端口等配置 | | **openim-crontask.yml** | openim-crontask定时任务配置 | | **openim-msggateway.yml** | openim-msggateway监听IP、端口等配置 | | **openim-msgtransfer.yml** | openim-msgtransfer服务配置 | | **openim-push.yml** | openim-push监听IP、端口及离线推送配置 | | **openim-rpc-auth.yml** | openim-rpc-auth监听IP、端口及token有效期等配置 | | **openim-rpc-conversation.yml** | openim-rpc-conversation监听IP、端口等配置 | | **openim-rpc-friend.yml** | openim-rpc-friend监听IP、端口等配置 | | **openim-rpc-group.yml** | openim-rpc-group监听IP、端口等配置 | | **openim-rpc-msg.yml** | openim-rpc-msg服务的监听IP、端口等配置 | ## 监控告警相关配置 | Configuration File | Description | | ------------------------------ | --------------- | | **prometheus.yml** | prometheus配置 | | **instance-down-rules.yml** | 告警规则 | | **alertmanager.yml** | 告警管理配置 | | **email.tmpl** | 邮件告警模版 | | **grefana-template/Demo.json** | 默认的dashboard | ## 常用配置修改 | 修改配置项 | 配置文件 | | -------------------------------------------------------- | ----------------------- | | 使用minio作为对象存储时配置,重点关注externalAddress字段 | `minio.yml` | | 日志级别及日志文件数量调整 | `log.yml` | | 发送消息是否需要验证好友关系 | `openim-rpc-msg.yml` | | OpenIMServer秘钥 | `share.yml` | | 使用oss, cos, aws, kodo作为对象存储时配置 | `openim-rpc-third.yml` | | 多端互踢策略,单个gateway同时最大连接数 | `openim-msggateway.yml` | | 消息离线推送 | `openim-push.yml` | | 配置webhook来通知回调服务器,如消息发送前后回调 | `webhooks.yml` | | 新入群用户是否可以查看历史消息 | `openim-rpc-group.yml` | | token 过期时间设置 | `openim-rpc-auth.yml` | | 定时任务设置,例如消息保存多长时间 | `openim-crontask.yml` | ## 启动某个服务的多个实例和最大文件句柄数 若要启动某个OpenIM的多个实例,只需增加对应的端口数,并修改项目根目录下的`start-config.yml`文件,重启服务即可生效。例如,启动2个`openim-rpc-user`实例的配置如下: ```yaml rpc: registerIP: '' listenIP: 0.0.0.0 ports: [ 10110, 10111 ] prometheus: enable: true ports: [ 20100, 20101 ] ``` 修改`start-config.yml`: ```yaml serviceBinaries: openim-rpc-user: 2 ``` 修改最大同时打开的文件句柄数,一般是每个在线用户占用一个 ``` maxFileDescriptors: 10000 ```