✨ feat(monitor): 修改监控配置,显示机器名进程名
This commit is contained in:
@@ -60,6 +60,11 @@ const ALL_ENVS = 'stable|development|alpha|dev|isbn|isbnhk|monitor|monitor2|dist
|
|||||||
* 捕获全局错误
|
* 捕获全局错误
|
||||||
*/
|
*/
|
||||||
preload();
|
preload();
|
||||||
|
if (process.env.NODE_PROCESS_TITLE) {
|
||||||
|
process.title = process.env.NODE_PROCESS_TITLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('process.env.NODE_ENV:', process.env.NODE_PROCESS_TITLE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Init app for client.
|
* Init app for client.
|
||||||
|
|||||||
1247
game-server/package-lock.json
generated
1247
game-server/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -58,7 +58,7 @@
|
|||||||
"thinkingdata-node": "^1.2.2",
|
"thinkingdata-node": "^1.2.2",
|
||||||
"ts-node": "^8.2.0",
|
"ts-node": "^8.2.0",
|
||||||
"typegoose": "^5.9.1",
|
"typegoose": "^5.9.1",
|
||||||
"xprofiler": "^1.2.5"
|
"xprofiler": "^2.5.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node-schedule": "^1.3.1",
|
"@types/node-schedule": "^1.3.1",
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
* 根据pomelo 的 servers.json 生成 pm2 启动文件
|
* 根据pomelo 的 servers.json 生成 pm2 启动文件
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
//服务器端 工程代码的目录
|
//服务器端 工程代码的目录
|
||||||
var cwd='./';
|
var cwd='./';
|
||||||
|
|
||||||
@@ -22,6 +24,7 @@ var processConfigType = {
|
|||||||
"name" : "",
|
"name" : "",
|
||||||
"script" : "./dist/app.js",
|
"script" : "./dist/app.js",
|
||||||
"args" : [] ,
|
"args" : [] ,
|
||||||
|
"env" : {},
|
||||||
"watch": false,
|
"watch": false,
|
||||||
"out_file": "./logs/app.log",
|
"out_file": "./logs/app.log",
|
||||||
"error_file": "./logs/err.log",
|
"error_file": "./logs/err.log",
|
||||||
@@ -50,6 +53,7 @@ var clone = function(origin) {
|
|||||||
//
|
//
|
||||||
var masterConfig = masterJsonFile[envType];
|
var masterConfig = masterJsonFile[envType];
|
||||||
var serversConfig = serversJosnFile[envType];
|
var serversConfig = serversJosnFile[envType];
|
||||||
|
let titles = [];
|
||||||
|
|
||||||
//生成master 的配置
|
//生成master 的配置
|
||||||
var pm2Master = clone( processConfigType );
|
var pm2Master = clone( processConfigType );
|
||||||
@@ -62,6 +66,9 @@ pm2Master.args.push('port='+masterConfig.port);
|
|||||||
pm2Master.args.push('env='+envType);
|
pm2Master.args.push('env='+envType);
|
||||||
pm2Master.args.push('mode=stand-alone');
|
pm2Master.args.push('mode=stand-alone');
|
||||||
pm2Master.cwd= cwd;
|
pm2Master.cwd= cwd;
|
||||||
|
pm2Master.env={NODE_PROCESS_TITLE: envType+'_'+masterConfig.id};
|
||||||
|
titles.push(envType+'_'+masterConfig.id);
|
||||||
|
|
||||||
let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1'];
|
let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1'];
|
||||||
if(onairEnvs.indexOf(envType) > -1) {
|
if(onairEnvs.indexOf(envType) > -1) {
|
||||||
pm2Master.out_file = '/zyz_logs/pm2/'+masterConfig.id+"_app.log";
|
pm2Master.out_file = '/zyz_logs/pm2/'+masterConfig.id+"_app.log";
|
||||||
@@ -105,7 +112,8 @@ for(serverType in serversConfig)
|
|||||||
appPm2Config.out_file = './logs/'+singleServer.id+'_app.log';
|
appPm2Config.out_file = './logs/'+singleServer.id+'_app.log';
|
||||||
appPm2Config.error_file = './logs/'+singleServer.id+'_error.log';
|
appPm2Config.error_file = './logs/'+singleServer.id+'_error.log';
|
||||||
}
|
}
|
||||||
|
appPm2Config.env={NODE_PROCESS_TITLE: envType+'_'+singleServer.id};
|
||||||
|
titles.push(envType+'_'+singleServer.id);
|
||||||
resultJson.apps.push(appPm2Config);
|
resultJson.apps.push(appPm2Config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,9 +124,6 @@ for(serverType in serversConfig)
|
|||||||
var resultFileStr = JSON.stringify(resultJson);
|
var resultFileStr = JSON.stringify(resultJson);
|
||||||
//console.log(resultFileStr);
|
//console.log(resultFileStr);
|
||||||
|
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
|
|
||||||
fs.writeFile(outputFilePath, resultFileStr, function (err) {
|
fs.writeFile(outputFilePath, resultFileStr, function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
@@ -127,7 +132,25 @@ fs.writeFile(outputFilePath, resultFileStr, function (err) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const xtransitConfigFile = './xtransitConfig/'+envType+'.js';
|
||||||
|
if (fs.existsSync(xtransitConfigFile)) {
|
||||||
|
fs.readFile(xtransitConfigFile, 'utf8', function (err, data) {
|
||||||
|
if (err) {
|
||||||
|
console.log(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const newData = data.replace(/titles:\s*\[[^\]]*\]/, "titles: "+JSON.stringify(titles));
|
||||||
|
|
||||||
|
// 3. 将更改后的内容写回文件
|
||||||
|
fs.writeFile(xtransitConfigFile, newData, 'utf8', (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Error writing file:', err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log('File updated successfully.');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,9 @@
|
|||||||
npm install #安装依赖库
|
npm install #安装依赖库
|
||||||
npm run build
|
npm run build
|
||||||
node pm2Config.js #使用pm2来做进程管理,生成进程配置文件
|
node pm2Config.js #使用pm2来做进程管理,生成进程配置文件
|
||||||
pm2 start pomeloPm2Start.json #pm2 启动游戏服务器
|
pm2 start pomeloPm2Start.json #pm2 启动游戏服务器
|
||||||
|
json=$(cat config.json)
|
||||||
|
env=$(echo "$json" | grep -o '"env": *"[^"]*"' | sed 's/"env": *"\(.*\)"$/\1/')
|
||||||
|
echo $env
|
||||||
|
xtransit stop all
|
||||||
|
xtransit start xtransitConfig/$env.js
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// config
|
// config
|
||||||
|
const fs = require('fs');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// I. 必须的配置
|
// I. 必须的配置
|
||||||
server: 'ws://172.16.4.147:9092', // 填写前一节中部署的 xtransit-server 地址
|
server: 'ws://172.16.4.147:9092', // 填写前一节中部署的 xtransit-server 地址
|
||||||
@@ -20,5 +20,8 @@ module.exports = {
|
|||||||
logger: console, // 可以传入应用日志句柄方便日志统一管理,需要实现 error, info, warn 和 debug 四个方法
|
logger: console, // 可以传入应用日志句柄方便日志统一管理,需要实现 error, info, warn 和 debug 四个方法
|
||||||
logLevel: 2, // 默认内置 logger 的日志级别,0 error,1 info,2 warning,3 debug,
|
logLevel: 2, // 默认内置 logger 的日志级别,0 error,1 info,2 warning,3 debug,
|
||||||
titles: [], // 数组,如果应用使用了 process.title 自定义了名称,可以通过配置这里上报进程数据
|
titles: [], // 数组,如果应用使用了 process.title 自定义了名称,可以通过配置这里上报进程数据
|
||||||
|
customAgent: () => {
|
||||||
|
const hostname = fs.readFileSync('/etc/aliashost', 'utf8').trim();
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Reference in New Issue
Block a user