tjatse / pm2-gui Goto Github PK
View Code? Open in Web Editor NEWAn elegant web & terminal interface for Unitech/PM2.
License: MIT License
An elegant web & terminal interface for Unitech/PM2.
License: MIT License
Looks like this file is not used by PM2 0.14+ however pm2-gui relies on it.
I have continuous deployment via GitHub WebHooks + PM2 (which is reboot resistant and resurrects all processes), so my PM2 surely works and is configured. However in my setup the file 'config.js' in ~/.pm2/conf.js
is empty, nevertheless it's present.
I've seen the following line in the code require(pm2Config)(options)
it means that there should be something like
module.exports = function(options) {
return {} // ???
}
I've put the code above into conf.js
and pm2-gui at least started and became availble via http, however it shows that there is no running processes.
Any idea?
Is something wrong with my pm2?
Is the License section correct here: https://www.npmjs.com/package/pm2-gui#license ?
I am running the server behind a proxy pass, so something like foo.com/pm2-gui goes to localhost:8088
Problem is, UI html includes all assets relative to domain so it is trying to include assets like:
http://foo.com/css/bootstrap.min.css which obviously fails. Can you change the assets to be included using a full relative path?
For example, you include assets like
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
instead they should be included as
<script type="text/javascript" src="js/bootstrap.min.js"></script>
and same goes with the CSS..
thanks!
Shaunak
How to run pm2-gui with server startup?
Hi,
npm install pm2-gui --save
failes for me with
npm WARN deprecated [email protected]: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated [email protected]: Deprecated, use jstransformer
also
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall scandir
npm ERR! Error: EPERM: operation not permitted, scandir ...node_modules\fsevents\node_modules\getpass\node_modules
this is with npm 5.4.2, node v6.5.0 on a windows 7 machine. Normally npm install works fine. Any idea ?
On launch of PM2-GUI you can see how much memory and cpu a process is using:
"monit": {
"memory": "35M",
"cpu": 0
},
but these numbers are never updated...
Hi
I get an error during a installation of pm2-gui.
I don't know why but on a new machine the error is not fully the same as here: #47
What do I have to change or set exactly ? IS it normal ?
Thank you in advance for the help
It would be great if you could implement a button in GUI to do pullAndReload
Thanks for the great work!
Can the web interface be decentralized? Running on a remote server and receiving data from the pm2 instance?
If I starting app with custom config each time I see "Invalid namespace" in the answer.
Also I can't update local pm2-gui.json (it loads it but writes to ~/.pm2/pm2-gui.json).
Bug repeated with both: 0.10@latest and iojs-1.0.4
Also I'm using installed pm2-gui to node_modules and running ./node_modules/.bin/pm2-gui start --config ./pm2-gui.json (Actually a copy of .file in /.pm2/: cp ~/.pm2/pm2-gui.json ./
).
What does that mean? How to fix that?
How can I use pm2-gui with no outputs on the server console?
I cant do anything after starting pm2 gui
Its a great tool
The "set" command does nothing. It just brings up the help prompt. How can I change the password?
$ pm2-gui set password test123
Usage: pm2-gui <cmd> [options]
Commands:
start [config_file] start the service, including agent and web server
agent [config_file] start the agent only
stop stop the running service
restart restart the service
mon run the curses-like dashboard in terminal
status show the status of service
logs [log_directory] view the logs
Examples:
pm2-gui start
pm2-gui start /path/to/my-pm2-gui.ini
pm2-gui mon
pm2-gui logs
pm2-gui logs /path/to/logs
Loving the monitor. Thanks for implementing it. Our problem is that we need to specify a fully qualfiied path to the pm2-gui.ini. A relative path does not work.
eg-
pm2-gui start my-pm2-gui.ini
Ignores the ini file and uses the global defaults instead.
I have to do this:
pm2-gui start /etc/var/my-app/other-stuff/my-pm2-gui.ini
Hi,
I receiving an error in web interface Can not connect to the server due to Error: xhr poll error
.
I currently serving web interface with nginx in https protocol but in console I see the connection on http protocol.
In the config file I set origins = https://MYHOST:8088
but the issue persist.
what is the problem?
$ pm2-gui start
/usr/bin
[INFO] Starting...
module.js:328
throw err;
^
Error: Cannot find module '/usr/bin/lib/daemon'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
[WARN] ✘ stopped
This is because the following line in pm2-gui
is incorrect:
SRC=$(cd $(dirname "$0"); pwd)
It's difficult to implement a cross-platform solution with shell scripts, due to a lack of realpath
on MacOS X, and a different implementation of readlink
.
The best suggestion I have is to ditch the shell script entirely and write the CLI in JavaScript. You won't have to worry about this stuff.
I can send a PR if you wish.
I install pm2-gui on a remote server and add the configuration as follow in pm2-gui.ini
pm2@server1 = password@http://pm2.myhost.com/sockserv
well I can already access http://pm2.myhost.com
and I don't get any error from the master pm2-gui
i'm running nginx
I was install pm2-gui on beaglebone black. also pm2 was installed.
However when i start an application on pm2 and it started. and start pm2-gui, its not displaying any process in pm2-gui web.
Any solution for this? thanks
I can't seem to connect to the websocket, even following the code in the gui. Is there a reason for this?
I'm connecting to <ip>:<port>/?auth=password
, that succeeds. But If I connect to /sys or /proc I get "invalid namespace". Whats with that?
RT,不胜感激
不知道是否提供了方法或者依赖其他服务?
目前用nohup也实现了,总感觉不太好。
Not populating processes from pm2, showing 0 Apps. on windows 8 x64
Hi
I noticed on the V0.1.4, that when I write daemonize = true
in pm2-gui.ini
file but pm2-gui didn't start from itself.
I tried in command line:
service pm2-gui start
I get that:
pm2-gui.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
Any workaround available ? Maybe I have to try some other old version ?
I will let you to tell me what do you think.
Thank you in advance
Regards
PM2 Version: V2.4.0
PM2-GUI: V0.1.4
Monitoring through htop
provides more free ram while pm2-gui says 100 when there's still 50% free ram available.
Also free -m
provides the correct info, how is the pm2-gui calculating the Free RAM/Memory ?
I believe the right calculation of RAM = total mem - (physical free mem + cache mem)
The below info turned out to be 100% full as per pm2-gui but there's a lot of free mem available.
total used free shared buffers cached
Mem: 128833 128229 603 3 173 76197
-/+ buffers/cache: 51857 76975
Swap: 130975 163 130812
When opening log of application that was just removed:
/usr/lib/node_modules/pm2-gui/lib/mon.js:227
msg : keepANSI ? chalk.red(err.message) : '<span style="color: #ff0000"
^
ReferenceError: keepANSI is not defined
at Monitor.emitError (/usr/lib/node_modules/pm2-gui/lib/mon.js:227:14)
at Monitor.<anonymous> (/usr/lib/node_modules/pm2-gui/lib/mon.js:293:26)
at /usr/lib/node_modules/pm2-gui/lib/pm.js:227:14
at /usr/lib/node_modules/pm2-gui/lib/pm.js:141:14
at /usr/lib/node_modules/pm2-gui/lib/pm.js:104:16
at /usr/lib/node_modules/pm2-gui/node_modules/pm2-axon-rpc/lib/client.js:45:10
at Parser.<anonymous> (/usr/lib/node_modules/pm2-gui/node_modules/pm2-axon/lib/sockets/req.js:67:8)
at Parser.emit (events.js:107:17)
at Parser._write (/usr/lib/node_modules/pm2-gui/node_modules/pm2-axon/node_modules/amp/lib/stream.js:91:16)
at doWrite (_stream_writable.js:301:12)
at writeOrBuffer (_stream_writable.js:288:5)
It seems that the flag is simply missing from emitError()
declaration in socket.on('tail', ...)
.
兄弟什么时候支持多服务器
mon
and web
).Hi,
I did exactly as per the DOC but getting this exception in terminal while running below command.
./pm2-gui start
/gui/pm2-gui/libs/monitor.js:353
let error
^^^
SyntaxError: Unexpected strict mode reserved word
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/sentora/hostdata/zadmin/public_html/gui/pm2-gui/libs/daemon.js:10:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
[WARN] â stopped
@Tjatse Please let me know if am I doing something wrong.
Thanks,
I have 10 workers running pm2. Can I monitor in web together?
Hi.
There is a plan to build a startup command as pm2 does to create /init.d service script for an auto boot start ?
Thanks
Web interface got ugly in mobile browser. Widgets are not clickable since they are out of window.
Do you have any plans to support for mobile layout?
Hey @Tjatse,
How can I manage a remote process?
pm2-gui 0.1.1
pm2 0.14.5
ubuntu 14
Hi
I installed pm2 with npm install -g pm2
and then npm install -g pm2-gui
and pm2-gui start
but I get an error of file not found.
[WARN] Can not load PM2 config, the file "/root/.pm2/conf.js" does not exist or empty, fallback to auto-load by pm2 home.
[INFO] Spawning daemon...
[WARN] ✘ stopped
[WARN] Can not load PM2 config, the file "/root/.pm2/conf.js" does not exist or empty, fallback to auto-load by pm2 home.
[INFO] Daemonized with pid [3320].
[INFO] Forking slave...
[INFO] Ready!!!
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[INFO] Forking slave...
[ERROR] (node:4123) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
I tried npm install -g pm2-gui and also directly to compile from your sources as you recommend this way but I get a problem of conf.js not found... When I create the conf.js empty, the GUI of PM2-gui available in http://localhoft:8088
is so ugly, no css , just a field authorization which didn't work. So I guess, I need of this file ?
How can I do that ?
Is it a skeleton available of this file ? Other way ?
Thank you in advance
Maybe can you suggest me the process to follow line by line but it's not the first time I use this project, I don't understand ;)
@Tjatse, First of all, thanks for the great work!!!
For my use case, I have mobile applications (that is, I do not know their IPs, or they are behind a firewall and therefore cannot be reached) running on multiple raspberry pis and I like to monitor these PM2 processes without knowing the IPs.
THANKS AGAIN.
Hi guys, please help me!
How do you run pm2 background?
Thanks!
When running PM2 GUI keeps on hanging on the loading bars, no errors in console and also no erros in the javascript console in firefox.
PM2 Version: 0.12.3
Node version: v0.10.29
Tried out with custom port, if using default port 8088, it works...
I can't find any information about a password that i should provide when trying to login. Could anyone help me with this?
Anyone can give me an ideia about?
Do you have any way to send the signal interface?
Example: pm2 sendSignal SIGUSR2 my-app
Even if the file exists in .pm2/conf.js
Hello, I'm trying your software and its a very nice open source alternative.
I have tested it in a VPS, and I have it running wihtout problem. However, I want to know if there is a way PM2-gui is running a machine, and monitoring another machine(s).
Is there a way this can be done with this software? I suspect the remotes section is for that, but I don't have clue on how to use it.
Thanks!
Hello,
AMAZING work my friend thank you!
I am not able to make it work on a website like this:
example.com/pm2gui
using remote proxy on apache2
It only works when you access it from root location:
example.com/
it does not take into account if a proxy is used, here is a solution to honor proxies:
http://stackoverflow.com/questions/21856426/node-express-res-redirect-broken-when-using-proxy
Hi, I clone the project, and run the script node pm2-gui.js
, but I can't see my localhost processes on the dashboard.
I sure my node project is run by pm2.
I try to npm install -g pm2-gui
, and run pm2-gui start
, it works, I can see my localhost processes on the dashboard. But it's not my purpose.
I really need to run the script node pm2-gui.js
to see my localhost processes, but it does not work can you help me?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.