Skip to content

Commit

Permalink
Merge main into sweep/github-actions-run_1
Browse files Browse the repository at this point in the history
  • Loading branch information
sweep-ai[bot] authored Jan 3, 2024
2 parents cb4ff17 + a45452a commit 497b136
Showing 1 changed file with 41 additions and 60 deletions.
101 changes: 41 additions & 60 deletions docs/guides/gettingStarted/admin.mdx
Original file line number Diff line number Diff line change
@@ -1,97 +1,82 @@
---
title: '管理后台及监控系统'
title: '监控及告警系统'
sidebar_position: 6
---


# 管理后台及监控系统 🖥️
### 🟢 管理后台开放端口

| TCP 端口 | 说明 | 操作 ⚙️ |
|:--------:|:-----------------------:|:--------------------------------------------:|
| TCP:11002| `http://ip:11002` 访问管理后台 | 端口放行或 nginx 反向代理,并关闭防火墙 |
## 组件说明
docker compose部署时,会自动部署如下组件,如使用源码部署,需手动开启docker-compose.yaml中的相关组件。

## 📌 访问管理后台
| 组件名称 | 组件说明 | 部署说明 |
|-------------|-----------------------------------------|--------------------------------------|
| openim-admin | 管理后台,提供监控页面入口 | Docker和源码部署均自动开启 |
| prometheus | 用于收集和存储指标数据的监控系统组件 | Docker部署自动开启;源码部署需手动启用 |
| alertmanager | 管理和发送告警的组件 | Docker部署自动开启;源码部署需手动启用 |
| grafana | 用于展示监控数据的仪表板组件 | Docker部署自动开启;源码部署需手动启用 |
| node-exporter | 用于采集节点(如服务器)指标信息 | Docker部署自动开启;源码部署需手动启用 |

:::tip
在浏览器中输入 `http://ip:11002` 来访问管理后台。此 ip 为服务端 ip ,且确保您的浏览器能访问。默认账号和密码均为admin1
:::

![PC Web Interface](./assets/admin.jpg)

## 监控&告警系统部署
本文档介绍docker-compose方式部署openim的Prometheus监控和告警功能的部署和使用,
k8s方式部署openim的监控&告警使用请查阅链接文档:https://github.com/openimsdk/helm-charts/blob/main/docs/user-guide-zh.md
源码和docker-compose部署openim的docker-compose.yml文件中各组件说明:

| 组件名称 | 组件说明 | 开启监控&告警功能是否必须 |
|:--------:|:-----------------------:|:--------------------------------------------:|
| openim-admin| openim管理后台,通过管理后台页面进入监控页面 | 必须 |
| prometheus| prometheus组件 | 必须 |
| alertmanager| 告警管理组件 | 必须 |
| grafana| grafana组件 | 必须 |
| node-exporter| node-exporter组件,用于prometheus组件拉取node指标信息 | 可选 |

监控&告警使用的配置文件配置说明:

## 配置文件说明


| 文件名称 | 文件说明 | 修改项 |
|:--------:|:-----------------------:|:--------------------------------------------:|
| config/config.yaml| openim服务的配置文件 | 需设置prometheus.enable: true,默认无需修改 |
| config/prometheus.yml| prometheus组件配置文件 | 配置Prometheus组件信息,请查阅Prometheus文档说明按需修改,默认无需修改 |
| config/instance-down-rules.yml| 告警规则文件 | 默认配置两条规则(instance_down,database_insert_failure_alerts),请查阅Prometheus文档说明按需增加 |
| config/alertmanager.yml| 告警管理配置文件 | 默认配置了邮件告警方式,需要配置你的发送和接收邮箱信息,如不修改将不能收到告警信息 |
| config/email.tmpl| 邮件告警模版 | 默认邮件模版比较简单,请按需配置你的邮件模版 |
| config/templates/prometheus-dashboard.yaml| openim自定义dashboard | 无需修改 |
|--------|-----------------------|--------------------------------------------|
| config/config.yaml| openIM服务配置 | prometheus.enable: true表示启用|
| config/prometheus.yml| prometheus配置 | 无需修改 |
| config/instance-down-rules.yml| 告警规则 | 默认配置两条规则(instance_down, database_insert_failure_alerts)|
| config/alertmanager.yml| 告警管理配置 | 需配置发送者和接收者邮箱信息 |
| config/email.tmpl| 邮件告警模版 | 默认邮件模版,可自行修改 |
| config/templates/prometheus-dashboard.yaml| 自定义dashboard | 无需修改 |

> 在源码和docker-compose方式部署openim时候,请确认使用的docker-compose.yml文件中对应的监控&告警组件可用,
并确认相应的配置文件按需修改好,体验阶段可无需修改配置文件.

## 监控体验
1. 通过openim管理后台网页的链接入口访问,管理后台网页地址:http://ip:11002/

2. 管理后台默认用户名和密码 (admin1:admin1),点击左边监控告警按钮,将打开监控的grafana网页.

3. 点击右上角sign in按钮,登入grafana使用默认用户名(admin)和密码(admin).
![PC Web Interface](./assets/login.png)
## 登录grafana
先登录管理后台,再点击左侧数据监控菜单,输入默认用户名(admin)和密码(admin)登入grafana.
![PC Web Interface](./assets/login1.png)

4. 添加Prometheus数据源,如下图,输入Prometheus数据源的url:http://172.28.0.1:19090(19090是Prometheus端口) 点击"Save and Test"进行数据源保存.
## 添加Prometheus数据源
如下图,输入Prometheus数据源的URL: http://172.28.0.1:19090 (19090为Prometheus默认端口) 点击"Save and Test"保存.
![PC Web Interface](./assets/database.png)


![PC Web Interface](./assets/database2.png)


5. 导入docker版本openim自定义dashboard仪表盘.
点击下图的import按钮,进入仪表盘导入页面
## 导入自定义dashboard
点击下图的import按钮,导入仪表盘
![PC Web Interface](./assets/dashboard.png)


拷贝 https://github.com/openimsdk/open-im-server/tree/main/config/templates/prometheus-dashboard.yaml 内容 到下图区域,接着点击load按钮
拷贝 https://github.com/openimsdk/open-im-server/tree/main/config/templates/prometheus-dashboard.yaml 内容到下图区域,接着点击load按钮
![PC Web Interface](./assets/dashboard2.png)


选择你的 Data Source和job ,你将要查看到自定义指标信息,如下图
选择你的 Data Source和job , 自定义指标信息,如下图
![PC Web Interface](./assets/dashboard3.png)

6.导入node-export的官网dashboard,直接官网(https://grafana.com/grafana/dashboards/ )寻找你满意的node-exporter dashboard试图,
然后导入,比如 1860(Node Exporter Full)
## 导入node-export的dashboard
填入1860再导入,或在官网( https://grafana.com/grafana/dashboards/ )寻找其他的node-exporter dashboard视图

![PC Web Interface](./assets/dashboard4.png)

![PC Web Interface](./assets/dashboard4.png)

你将要查看到node-exporter指标信息,如下图
node-exporter指标信息,如下图
![PC Web Interface](./assets/dashboard5.png)
> 能查看到node-exporter指标信息,你需要在docker-compose.yml使node-exporter组件可用.



## 告警配置文件说明

1,邮件告警架构说明图,Prometheus组件加载告警规则instance-down-rules.yml文件,将符合条件的告警信息发送到alertmanager组件,
alertmanager组件加载alertmanager.yml和email.tmpl文件,通过配置的告警邮箱信息和邮件模版发送邮件
1,邮件告警架构说明图:Prometheus组件加载告警规则instance-down-rules.yml文件,将符合条件的告警信息发送到alertmanager组件,alertmanager组件加载alertmanager.yml和email.tmpl文件,通过配置的告警邮箱信息和邮件模版发送邮件
![PC Web Interface](./assets/alert2.png)

2,prometheus.yml 文件说明,主要用来配置告警规则文件路径,主要用来配置告警规则文件路径,告警管理服务地址,抓取监控数据ip地址。默认不需要修改。
2,prometheus.yml 文件说明主要用来配置告警规则文件路径,告警管理服务地址,抓取监控数据ip地址。默认不需要修改。
```
# Alertmanager configuration
Expand All @@ -105,8 +90,7 @@ rule_files:
- "instance-down-rules.yml"
```
3,告警规则instance-down-rules.yaml文件说明,默认实现了两条(instance_down,database_insert_failure_alerts)邮件告警规则,
如果增加告警规则可以在instance-down-rules.yml文件中添加规则:
3,告警规则instance-down-rules.yaml文件说明:默认实现了两条(instance_down,database_insert_failure_alerts)邮件告警规则,如果增加告警规则可以在instance-down-rules.yml文件中添加规则:
```
groups:
- name: instance_down #报警规则一:监控模块宕机超过一分钟就触发告警
Expand All @@ -132,15 +116,13 @@ groups:
description: "Either MsgInsertRedisFailedCounter or MsgInsertMongoFailedCounter has increased in the last 5 minutes, indicating failures in message insert operations to Redis or MongoDB,maybe the redis or mongodb is crash."
```

4,告警管理alertmanager.yml文件说明,请修改成你真实的发送邮箱和接收邮箱配置信息,即可接收告警信息,
如果想实现钉钉,企业微信等方式的告警通知,需要自行改写alertmanager.yml,
可以参阅告警管理模块官方文档:https://prometheus.io/docs/alerting/latest/alertmanager/
4,告警管理alertmanager.yml文件说明:修改发送者和接收者邮箱配置信息,即可接收告警信息,如果想实现钉钉,企业微信等方式的告警通知,需要自行改写alertmanager.yml,可以参阅告警管理模块官方文档:https://prometheus.io/docs/alerting/latest/alertmanager/
```
global:
resolve_timeout: 5m
smtp_from: [email protected] #告警信息发送邮箱
smtp_smarthost: smtp.163.com:465 #发送邮箱smtp地址
smtp_auth_username: [email protected] #发送邮箱授权用户名,一般和游戏地址相同
smtp_auth_username: [email protected] #发送邮箱授权用户名,一般和smtp_from邮箱相同
smtp_auth_password: YOURAUTHPASSWORD #发送邮箱授权码
smtp_require_tls: false
smtp_hello: openim alert
Expand All @@ -162,8 +144,7 @@ receivers:
headers: { Subject: "[OPENIM-SERVER]Alarm" }#邮件标题
send_resolved: true
```
5,邮件模版文件email.tmpl说明,此文件是html格式,告警管理模块会填充里面的变量信息,然后渲染成html格式文件,进行邮件的发送,
你可以跟着自己的需要进行模版文件的改写:
5,邮件模版文件email.tmpl说明:此文件是html格式,告警管理模块会填充里面的变量信息,然后渲染成html格式文件,进行邮件的发送,可根据需求自行改写:
```
{{ define "email.to.html" }}
{{ range .Alerts }}
Expand All @@ -189,7 +170,7 @@ receivers:

![PC Web Interface](./assets/alert6.png)

# 日志系统
如果是在k8s环境通过helm chart方式部署的openim服务,可以通过grafana查看loki日志,即通过grafana查看openim所有服务的日志信息
## 日志系统
如果是在k8s环境通过helm chart方式部署的OpenIM服务,即通过grafana查看OpenIM所有服务的日志信息
目前二进制和docker部署没有集成loki日志收集组件,想体验loki日志收集功能,请采用helm chart部署,
详情请查阅链接https://github.com/openimsdk/helm-charts/blob/main/docs/user-guide-zh.md

0 comments on commit 497b136

Please sign in to comment.