✨ feat(monitor): 修改监控配置,显示机器名进程名
This commit is contained in:
@@ -60,6 +60,11 @@ const ALL_ENVS = 'stable|development|alpha|dev|isbn|isbnhk|monitor|monitor2|dist
|
||||
* 捕获全局错误
|
||||
*/
|
||||
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.
|
||||
|
||||
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",
|
||||
"ts-node": "^8.2.0",
|
||||
"typegoose": "^5.9.1",
|
||||
"xprofiler": "^1.2.5"
|
||||
"xprofiler": "^2.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node-schedule": "^1.3.1",
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
* 根据pomelo 的 servers.json 生成 pm2 启动文件
|
||||
*/
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
//服务器端 工程代码的目录
|
||||
var cwd='./';
|
||||
|
||||
@@ -22,6 +24,7 @@ var processConfigType = {
|
||||
"name" : "",
|
||||
"script" : "./dist/app.js",
|
||||
"args" : [] ,
|
||||
"env" : {},
|
||||
"watch": false,
|
||||
"out_file": "./logs/app.log",
|
||||
"error_file": "./logs/err.log",
|
||||
@@ -50,6 +53,7 @@ var clone = function(origin) {
|
||||
//
|
||||
var masterConfig = masterJsonFile[envType];
|
||||
var serversConfig = serversJosnFile[envType];
|
||||
let titles = [];
|
||||
|
||||
//生成master 的配置
|
||||
var pm2Master = clone( processConfigType );
|
||||
@@ -62,6 +66,9 @@ pm2Master.args.push('port='+masterConfig.port);
|
||||
pm2Master.args.push('env='+envType);
|
||||
pm2Master.args.push('mode=stand-alone');
|
||||
pm2Master.cwd= cwd;
|
||||
pm2Master.env={NODE_PROCESS_TITLE: envType+'_'+masterConfig.id};
|
||||
titles.push(envType+'_'+masterConfig.id);
|
||||
|
||||
let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1'];
|
||||
if(onairEnvs.indexOf(envType) > -1) {
|
||||
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.error_file = './logs/'+singleServer.id+'_error.log';
|
||||
}
|
||||
|
||||
appPm2Config.env={NODE_PROCESS_TITLE: envType+'_'+singleServer.id};
|
||||
titles.push(envType+'_'+singleServer.id);
|
||||
resultJson.apps.push(appPm2Config);
|
||||
}
|
||||
}
|
||||
@@ -116,9 +124,6 @@ for(serverType in serversConfig)
|
||||
var resultFileStr = JSON.stringify(resultJson);
|
||||
//console.log(resultFileStr);
|
||||
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
fs.writeFile(outputFilePath, resultFileStr, function (err) {
|
||||
if (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 run build
|
||||
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
|
||||
|
||||
const fs = require('fs');
|
||||
module.exports = {
|
||||
// I. 必须的配置
|
||||
server: 'ws://172.16.4.147:9092', // 填写前一节中部署的 xtransit-server 地址
|
||||
@@ -20,5 +20,8 @@ module.exports = {
|
||||
logger: console, // 可以传入应用日志句柄方便日志统一管理,需要实现 error, info, warn 和 debug 四个方法
|
||||
logLevel: 2, // 默认内置 logger 的日志级别,0 error,1 info,2 warning,3 debug,
|
||||
titles: [], // 数组,如果应用使用了 process.title 自定义了名称,可以通过配置这里上报进程数据
|
||||
customAgent: () => {
|
||||
const hostname = fs.readFileSync('/etc/aliashost', 'utf8').trim();
|
||||
return hostname;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user