mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-10 06:37:00 +08:00
feat: Complete the source code module design of monitoring
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
parent
567149e0dc
commit
18c7a9132f
@ -1,79 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIM. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#---------------Infrastructure configuration---------------------#
|
|
||||||
etcd:
|
|
||||||
etcdSchema: openim #默认即可
|
|
||||||
etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可
|
|
||||||
userName:
|
|
||||||
password:
|
|
||||||
secret: openIM123
|
|
||||||
|
|
||||||
mysql:
|
|
||||||
dbMysqlDatabaseName: admin_chat # 数据库名字 默认即可
|
|
||||||
|
|
||||||
# 默认管理员账号
|
|
||||||
admin:
|
|
||||||
defaultAccount:
|
|
||||||
account: [ "admin1", "admin2" ]
|
|
||||||
defaultPassword: [ "password1", "password2" ]
|
|
||||||
openIMUserID: [ "openIM123456", "openIMAdmin" ]
|
|
||||||
faceURL: [ "", "" ]
|
|
||||||
nickname: [ "admin1", "admin2" ]
|
|
||||||
level: [ 1, 100 ]
|
|
||||||
|
|
||||||
|
|
||||||
adminapi:
|
|
||||||
openImAdminApiPort: [ 10009 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发
|
|
||||||
listenIP: 0.0.0.0
|
|
||||||
|
|
||||||
chatapi:
|
|
||||||
openImChatApiPort: [ 10008 ] #登录注册,默认即可,需要开放此端口或做nginx转发
|
|
||||||
listenIP: 0.0.0.0
|
|
||||||
|
|
||||||
rpcport: # rpc服务端口 默认即可
|
|
||||||
openImAdminPort: [ 30200 ]
|
|
||||||
openImChatPort: [ 30300 ]
|
|
||||||
|
|
||||||
|
|
||||||
rpcregistername: #rpc注册服务名,默认即可
|
|
||||||
openImChatName: Chat
|
|
||||||
openImAdminCMSName: Admin
|
|
||||||
|
|
||||||
chat:
|
|
||||||
codeTTL: 300 #短信验证码有效时间(秒)
|
|
||||||
superVerificationCode: 666666 # 超级验证码
|
|
||||||
alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项
|
|
||||||
accessKeyId:
|
|
||||||
accessKeySecret:
|
|
||||||
signName:
|
|
||||||
verificationCodeTemplateCode:
|
|
||||||
|
|
||||||
|
|
||||||
oss:
|
|
||||||
tempDir: enterprise-temp # 临时密钥上传的目录
|
|
||||||
dataDir: enterprise-data # 最终存放目录
|
|
||||||
aliyun:
|
|
||||||
endpoint: https://oss-cn-chengdu.aliyuncs.com
|
|
||||||
accessKeyID: ""
|
|
||||||
accessKeySecret: ""
|
|
||||||
bucket: ""
|
|
||||||
tencent:
|
|
||||||
BucketURL: ""
|
|
||||||
serviceURL: https://cos.COS_REGION.myqcloud.com
|
|
||||||
secretID: ""
|
|
||||||
secretKey: ""
|
|
||||||
sessionToken: ""
|
|
||||||
bucket: ""
|
|
||||||
use: "minio"
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIM. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#more datasource-compose.yaml
|
|
||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: Prometheus
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
orgId: 1
|
|
||||||
url: http://127.0.0.1:9091
|
|
||||||
basicAuth: false
|
|
||||||
isDefault: true
|
|
||||||
version: 1
|
|
||||||
editable: true
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,85 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIM. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#more prometheus-compose.yml
|
|
||||||
global:
|
|
||||||
scrape_interval: 15s
|
|
||||||
evaluation_interval: 15s
|
|
||||||
external_labels:
|
|
||||||
monitor: 'openIM-monitor'
|
|
||||||
|
|
||||||
scrape_configs:
|
|
||||||
- job_name: 'prometheus'
|
|
||||||
static_configs:
|
|
||||||
- targets: ['localhost:9091']
|
|
||||||
|
|
||||||
- job_name: 'openIM-server'
|
|
||||||
metrics_path: /metrics
|
|
||||||
static_configs:
|
|
||||||
- targets: ['localhost:10002']
|
|
||||||
labels:
|
|
||||||
group: 'api'
|
|
||||||
|
|
||||||
- targets: ['localhost:20110']
|
|
||||||
labels:
|
|
||||||
group: 'user'
|
|
||||||
|
|
||||||
- targets: ['localhost:20120']
|
|
||||||
labels:
|
|
||||||
group: 'friend'
|
|
||||||
|
|
||||||
- targets: ['localhost:20130']
|
|
||||||
labels:
|
|
||||||
group: 'message'
|
|
||||||
|
|
||||||
- targets: ['localhost:20140']
|
|
||||||
labels:
|
|
||||||
group: 'msg-gateway'
|
|
||||||
|
|
||||||
- targets: ['localhost:20150']
|
|
||||||
labels:
|
|
||||||
group: 'group'
|
|
||||||
|
|
||||||
- targets: ['localhost:20160']
|
|
||||||
labels:
|
|
||||||
group: 'auth'
|
|
||||||
|
|
||||||
- targets: ['localhost:20170']
|
|
||||||
labels:
|
|
||||||
group: 'push'
|
|
||||||
|
|
||||||
- targets: ['localhost:20120']
|
|
||||||
labels:
|
|
||||||
group: 'friend'
|
|
||||||
|
|
||||||
|
|
||||||
- targets: ['localhost:20230']
|
|
||||||
labels:
|
|
||||||
group: 'conversation'
|
|
||||||
|
|
||||||
|
|
||||||
- targets: ['localhost:21400', 'localhost:21401', 'localhost:21402', 'localhost:21403']
|
|
||||||
labels:
|
|
||||||
group: 'msg-transfer'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- job_name: 'node'
|
|
||||||
scrape_interval: 8s
|
|
||||||
static_configs:
|
|
||||||
- targets: ['localhost:9100']
|
|
||||||
|
|
||||||
29
.env
29
.env
@ -29,8 +29,8 @@ PASSWORD=openIM123
|
|||||||
MINIO_ENDPOINT=http://172.28.0.1:10005
|
MINIO_ENDPOINT=http://172.28.0.1:10005
|
||||||
|
|
||||||
# Base URL for the application programming interface (API).
|
# Base URL for the application programming interface (API).
|
||||||
# Default: API_URL=http://172.0.0.1:10002
|
# Default: API_URL=http://172.28.0.1:10002
|
||||||
API_URL=http://172.0.0.1:10002
|
API_URL=http://172.28.0.1:10002
|
||||||
|
|
||||||
# Directory path for storing data files or related information.
|
# Directory path for storing data files or related information.
|
||||||
# Default: DATA_DIR=./
|
# Default: DATA_DIR=./
|
||||||
@ -98,7 +98,14 @@ PROMETHEUS_NETWORK_ADDRESS=172.28.0.11
|
|||||||
# Address or hostname for the Grafana network.
|
# Address or hostname for the Grafana network.
|
||||||
# Default: GRAFANA_NETWORK_ADDRESS=172.28.0.12
|
# Default: GRAFANA_NETWORK_ADDRESS=172.28.0.12
|
||||||
GRAFANA_NETWORK_ADDRESS=172.28.0.12
|
GRAFANA_NETWORK_ADDRESS=172.28.0.12
|
||||||
|
|
||||||
|
# Address or hostname for the node_exporter network.
|
||||||
|
# Default: NODE_EXPORTER_NETWORK_ADDRESS=172.28.0.13
|
||||||
|
NODE_EXPORTER_NETWORK_ADDRESS=172.28.0.13
|
||||||
|
|
||||||
|
# Address or hostname for the OpenIM admin network.
|
||||||
|
# Default: OPENIM_ADMIN_NETWORK_ADDRESS=172.28.0.14
|
||||||
|
OPENIM_ADMIN_FRONT_NETWORK_ADDRESS=172.28.0.14
|
||||||
|
|
||||||
# ===============================================
|
# ===============================================
|
||||||
# = Component Extension Configuration =
|
# = Component Extension Configuration =
|
||||||
@ -283,3 +290,19 @@ SERVER_BRANCH=main
|
|||||||
# Port for the OpenIM admin API.
|
# Port for the OpenIM admin API.
|
||||||
# Default: OPENIM_ADMIN_API_PORT=10009
|
# Default: OPENIM_ADMIN_API_PORT=10009
|
||||||
OPENIM_ADMIN_API_PORT=10009
|
OPENIM_ADMIN_API_PORT=10009
|
||||||
|
|
||||||
|
# Port for the node exporter.
|
||||||
|
# Default: NODE_EXPORTER_PORT=19100
|
||||||
|
NODE_EXPORTER_PORT=19100
|
||||||
|
|
||||||
|
# Port for the prometheus.
|
||||||
|
# Default: PROMETHEUS_PORT=19090
|
||||||
|
PROMETHEUS_PORT=19090
|
||||||
|
|
||||||
|
# Port for the grafana.
|
||||||
|
# Default: GRAFANA_PORT=3000
|
||||||
|
GRAFANA_PORT=3000
|
||||||
|
|
||||||
|
# Port for the admin front.
|
||||||
|
# Default: OPENIM_ADMIN_FRONT_PORT=11002
|
||||||
|
OPENIM_ADMIN_FRONT_PORT=11002
|
||||||
|
|||||||
@ -198,7 +198,7 @@ rpcRegisterName:
|
|||||||
# Whether to output in json format
|
# Whether to output in json format
|
||||||
# Whether to include stack trace in logs
|
# Whether to include stack trace in logs
|
||||||
log:
|
log:
|
||||||
storageLocation: ./logs/
|
storageLocation: ../logs/
|
||||||
rotationTime: 24
|
rotationTime: 24
|
||||||
remainRotationCount: 2
|
remainRotationCount: 2
|
||||||
remainLogLevel: 6
|
remainLogLevel: 6
|
||||||
@ -382,7 +382,7 @@ callback:
|
|||||||
# The number of Prometheus ports per service needs to correspond to rpcPort
|
# The number of Prometheus ports per service needs to correspond to rpcPort
|
||||||
# The number of ports needs to be consistent with msg_transfer_service_num in script/path_info.sh
|
# The number of ports needs to be consistent with msg_transfer_service_num in script/path_info.sh
|
||||||
prometheus:
|
prometheus:
|
||||||
enable: true
|
enable: false
|
||||||
prometheusUrl: "https://openim.prometheus"
|
prometheusUrl: "https://openim.prometheus"
|
||||||
apiPrometheusPort: [20100]
|
apiPrometheusPort: [20100]
|
||||||
userPrometheusPort: [ 20110 ]
|
userPrometheusPort: [ 20110 ]
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -141,8 +141,12 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
server:
|
server:
|
||||||
ipv4_address: ${OPENIM_WEB_NETWORK_ADDRESS}
|
ipv4_address: ${OPENIM_WEB_NETWORK_ADDRESS}
|
||||||
|
|
||||||
openim-admin:
|
openim-admin:
|
||||||
image: ghcr.io/openimsdk/openim-admin-front:v3.4.0
|
image: ${IMAGE_REGISTRY}/openim-admin-front:v3.4.0
|
||||||
|
# image: ghcr.io/openimsdk/openim-admin-front:v3.4.0
|
||||||
|
# image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-admin-front:v3.4.0
|
||||||
|
# image: openim/openim-admin-front:v3.4.0
|
||||||
container_name: openim-admin
|
container_name: openim-admin
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@ -46,6 +46,7 @@ for template in "${!TEMPLATES[@]}"; do
|
|||||||
openim::log::error "Error processing template file ${template}"
|
openim::log::error "Error processing template file ${template}"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
sleep 0.5
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@ -349,7 +349,8 @@ def "IOS_BADGE_COUNT" "true" # IOS徽章计数
|
|||||||
def "IOS_PRODUCTION" "false" # IOS生产
|
def "IOS_PRODUCTION" "false" # IOS生产
|
||||||
|
|
||||||
###################### Prometheus 配置信息 ######################
|
###################### Prometheus 配置信息 ######################
|
||||||
def "PROMETHEUS_ENABLE" "false" # 是否启用 Prometheus
|
# 是否启用 Prometheus
|
||||||
|
readonly PROMETHEUS_ENABLE=${PROMETHEUS_ENABLE:-'false'}
|
||||||
def "PROMETHEUS_URL" "${GRAFANA_ADDRESS}:${GRAFANA_PORT}"
|
def "PROMETHEUS_URL" "${GRAFANA_ADDRESS}:${GRAFANA_PORT}"
|
||||||
# Api 服务的 Prometheus 端口
|
# Api 服务的 Prometheus 端口
|
||||||
readonly API_PROM_PORT=${API_PROM_PORT:-'20100'}
|
readonly API_PROM_PORT=${API_PROM_PORT:-'20100'}
|
||||||
|
|||||||
@ -76,8 +76,9 @@ function openim::install::install_openim() {
|
|||||||
openim::log::info "check openim dependency"
|
openim::log::info "check openim dependency"
|
||||||
openim::common::sudo "cp -r ${OPENIM_ROOT}/config/* ${OPENIM_CONFIG_DIR}/"
|
openim::common::sudo "cp -r ${OPENIM_ROOT}/config/* ${OPENIM_CONFIG_DIR}/"
|
||||||
|
|
||||||
echo ${LINUX_PASSWORD} | sudo -S bash -c \
|
|
||||||
"${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} deployments/templates/openim.yaml > ${OPENIM_CONFIG_DIR}/config.yaml"
|
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/openim.yaml > ${OPENIM_CONFIG_DIR}/config.yaml
|
||||||
|
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/prometheus.yml > ${OPENIM_CONFIG_DIR}/prometheus.yml
|
||||||
|
|
||||||
openim::util::check_ports ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}
|
openim::util::check_ports ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}
|
||||||
|
|
||||||
|
|||||||
@ -123,6 +123,7 @@ function openim::msggateway::status() {
|
|||||||
# Check the running status of the ${SERVER_NAME}. If active (running) is displayed, the ${SERVER_NAME} is started successfully.
|
# Check the running status of the ${SERVER_NAME}. If active (running) is displayed, the ${SERVER_NAME} is started successfully.
|
||||||
systemctl status ${SERVER_NAME}|grep -q 'active' || {
|
systemctl status ${SERVER_NAME}|grep -q 'active' || {
|
||||||
openim::log::error "${SERVER_NAME} failed to start, maybe not installed properly"
|
openim::log::error "${SERVER_NAME} failed to start, maybe not installed properly"
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user