sonelli / juicessh-performancemonitor Goto Github PK
View Code? Open in Web Editor NEWA JuiceSSH plugin for monitoring linux servers
License: Apache License 2.0
A JuiceSSH plugin for monitoring linux servers
License: Apache License 2.0
Hi,
It is possible to circumvert the pin code request when using the plugin.
Steps:
1 Open the plugin
2 Tap connect
3 Pin is requested
4 Minimize
5 Maximize
6 Pin is still requested
7 Minimize
8 Maximize
9 Connected
Phone: Nexus 5
OS: Android 4.4.4
JuiceSSH version: 2.0.0 (according to apps menu)
Plugin version: 1.0.5
I want to record performance data and display graphs.
It would be unnecessary?
Hi Guys,
I'm using the app to connect my Openelec on RP2 machine.
The Data presented is correct except the Disk usage, which is always 100%.
Here is my df -h output:
OpenELEC:~ # df -h
Filesystem Size Used Available Use% Mounted on
devtmpfs 364.1M 0 364.1M 0% /dev
/dev/mmcblk0p1 255.7M 111.7M 144.1M 44% /flash
/dev/mmcblk0p2 14.1G 2.7G 11.4G 19% /storage
/dev/loop0 102.9M 102.9M 0 100% /
tmpfs 369.0M 0 369.0M 0% /dev/shm
tmpfs 369.0M 6.8M 362.2M 2% /run
tmpfs 369.0M 0 369.0M 0% /sys/fs/cgroup
tmpfs 369.0M 4.0K 369.0M 0% /tmp
tmpfs 369.0M 240.0K 368.8M 0% /var
/dev/sda1 298.1G 171.2G 126.9G 57% /var/media/ExternalHD_320
/Storage is the actual main Disk.
Any motivation to fix that?
Thanks :)
A suggestion: integrate a way to display mbit/s instead of MB/s (maybe user can choose which one to display)?
Rather than forking and pulling code to add monitors why not add the option for the user to run custom commands or monitor proc files?
For example I want to be able to monitor my CPU temp so either monitor directly /sys/class/hwmon/hwmon3/device/temp1_input (which may be different on every system) or run my bash script that formats the output to degrees C rather than re-implement this in Java push it to git work out how to compile and get on my phone etc or wait for it to be pulled in to master why can't I just run a custom tile.
Thanks
Barry
How about adding WAKE_LOCK permission and keeping device screen from sleeping or dimming while the plugin is running?
Everything works except the load average.
It shows me an avg of 0.
On my ssh, uptime command send me
22:22:54 up 12 days, 22:59, 2 users, load average: 0,16, 0,27, 0,30
So, why it can't read it ?
Hi everybody!
I started to use this plugin recently and immediately I found this bug:
The "Free RAM" counter displays the value "1GB" when my server had ~1.7GB of available memory
Screenshots:
http://postimg.org/image/s96z5dfbj/
http://postimg.org/image/une6hyp9d/
Thank you for your attention
Running Linux Ubuntu LTS-based with ZSH shell, and Android beta N.
Hello developer(s)
First off, love your plugin.
Feature request supports nested ssh connections. My web server listens on a non-standard port and isn't accessible from outside my home network. As such, to do maintenance from my phone/tablet, I ssh into a ssh node, and then ssh to my server and/or other devices. i'd love to have the monitor connect in this manner and show stats of my server(s).
Thank you
If you try to connect to a device and the connection failed, the "connect-button" stays grey and it says "connecting...". Then you need to restart the app.
Monitoring plugin isn't working on my android pie.
Free Ram : Hard to judge, show max/total ram too.
Disk usage : Allow configurability to pick which device to measure. I particularly need to see disk usage of other mounted drives and not the root drive.
UI Configurability - Some amount of drag and drop to pick new monitors or remove old (have 1 disk usage for each mounted disk, remove load or cpu, etc)
I mainly use JuiceSSH and Performane Monitor for my Raspberry Pi.
It would be awesome if Performance Monitor could display the temperature of one's Raspberry Pi alongside all the oter stats.
Punching "/opt/vc/bin/vcgencmd measure_temp" into your SSH will get you your Pi's temperature, and you can, of course, write a script so it runs the command every other second so you get an idea of your Pi's temperature over time. However, that would mean that you'd have to switch back and forth between Performance Monitor and your SSH.
Here's what manually checking the temperature looks like:
Here's what using a simple script looks like. It posts the Pi's temperature every second:
Certainly cool and nice looking, but it would still be awesome if the temperature readings could be seen in Performance Monitor.
Thank you for your time!
CPU utilisation is wrong as pointed out by a user.
This is because the CPU values in /proc/stat are the average since boot, not the current values.
As per http://www.linuxhowtos.org/System/procstat.htm
See: CPUUsageController
We need to look at the delta since the last run and base the calculation off that (similar to how network traffic counters are done).
Would be nice to replace disk space with io stats like iowait or disk read and write :1
On my Galaxy Tab 7.7 (API 13) the stats are not displayed.
Here is the logcat:
03-10 23:13:49.470 20030-20049/? V/JuiceSSH/ConnectionManager: Received a get chain request
03-10 23:13:49.470 20030-20049/? V/JuiceSSH/ConnectionManager: Requesting chain from ConnectionManagerService
03-10 23:13:49.475 20030-20030/? V/JuiceSSH/ConnectionManager: Unbinding from ConnectionManager
03-10 23:13:49.475 20030-20030/? V/JuiceSSH/ConnectionManager: Bound to ConnectionManager service and processing recent ServiceRequests
03-10 23:13:49.480 20030-20030/? V/JuiceSSH/ConnectionManager: Bound to ConnectionManager to process pending requests
03-10 23:13:49.480 20030-20030/? V/JuiceSSH/ConnectionManager: Processing 0 REGISTERS.
03-10 23:13:49.480 20030-20030/? V/JuiceSSH/ConnectionManager: Processing 0 DROPS.
03-10 23:13:49.480 20030-20030/? V/JuiceSSH/ConnectionManager: Processing 1 GETS.
03-10 23:13:49.480 20030-20030/? E/JuiceSSH/ConnectionManager: Found Chain: 2002
03-10 23:13:49.485 20030-20030/? W/System.err: com.jcraft.jsch.JSchException: android.os.NetworkOnMainThreadException
03-10 23:13:49.490 20030-20030/? W/System.err: at com.jcraft.jsch.Channel.connect(Channel.java:163)
03-10 23:13:49.490 20030-20030/? W/System.err: at com.sonelli.agi.a(PluginService.java:174)
03-10 23:13:49.490 20030-20030/? W/System.err: at com.sonelli.juicessh.connections.ConnectionManager.a(ConnectionManager.java:164)
03-10 23:13:49.490 20030-20030/? W/System.err: at com.sonelli.ws.onServiceConnected(ConnectionManager.java:55)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1058)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1075)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.os.Handler.handleCallback(Handler.java:587)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:92)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.os.Looper.loop(Looper.java:132)
03-10 23:13:49.490 20030-20030/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:4123)
03-10 23:13:49.490 20030-20030/? W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
03-10 23:13:49.490 20030-20030/? W/System.err: at java.lang.reflect.Method.invoke(Method.java:491)
03-10 23:13:49.490 20030-20030/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
03-10 23:13:49.490 20030-20030/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
03-10 23:13:49.490 20030-20030/? W/System.err: at dalvik.system.NativeStart.main(Native Method)
03-10 23:13:49.490 20030-20030/? W/System.err: Caused by: android.os.NetworkOnMainThreadException
03-10 23:13:49.490 20030-20030/? W/System.err: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
03-10 23:13:49.490 20030-20030/? W/System.err: at dalvik.system.BlockGuard$WrappedNetworkSystem.write(BlockGuard.java:290)
03-10 23:13:49.490 20030-20030/? W/System.err: at org.apache.harmony.luni.net.PlainSocketImpl.write(PlainSocketImpl.java:462)
03-10 23:13:49.495 20030-20030/? W/System.err: at org.apache.harmony.luni.net.SocketOutputStream.write(SocketOutputStream.java:55)
03-10 23:13:49.495 20030-20030/? W/System.err: at com.jcraft.jsch.IO.put(IO.java:73)
03-10 23:13:49.495 20030-20030/? W/System.err: at com.jcraft.jsch.Session._write(Session.java:1359)
03-10 23:13:49.495 20030-20030/? W/System.err: at com.jcraft.jsch.Session.write(Session.java:1352)
03-10 23:13:49.495 20030-20030/? W/System.err: at com.jcraft.jsch.Channel.sendChannelOpen(Channel.java:786)
03-10 23:13:49.495 20030-20030/? W/System.err: at com.jcraft.jsch.Channel.connect(Channel.java:156)
03-10 23:13:49.495 20030-20030/? W/System.err: ... 14 more
03-10 23:13:49.495 20030-20030/? V/JuiceSSH/ConnectionManager: Processing 0 QUERIES.
03-10 23:13:49.495 20030-20030/? V/JuiceSSH/ConnectionManager: Unbinding from ConnectionManager
I also built the master branch, same problem.
Currently the network bandwidth calculations in NetworkUsageController.java could do with some averaging to prevent spiky behaviour, especially on higher latency connections.
Currently it works by getting the traffic counters from /proc/net/dev
every second (roughly, depends on users connection). It then calculates the bandwidth by checking how many milliseconds since the last check, and dividing the different in bytes between the counters by the time difference.
I think this would be better if it took an average over either:
Once i'm connected to a server i can't connect to another one without closing the first connection...
Is it possible to add the Raspberry Pi to the list off supported systems?
Network traffic calculation currently includes all adapters, including the loopback adapter. lo traffic is not real traffic and should not be counted.
Would be nice to add monitor CPU temperature (F/C)
As stated in the title the performance monitor works on my debian wheezy virtual server.
But it does not on my wheezy armhf homeserver. After connecting there is a fast change between the monitor and juice ssh app until I kill both apps.
A had a short look on how the values are examined, at least the used commands worked fine. Maybe there is a small difference in the output so that the patterns don't work anymore - but that shouldn't lead to such a crash.
So, any idea on this?
... it would also be nice to be able to connect to multiple servers and to have graphs for the last 60 seconds and 5 or 10 minutes. And getting additional information by clicking on one of the fields would als be nice (like which application uses how much ram or % of cpu)
A great feature would be to store the values while connected, and allow clicking on a stat to bring up the graph.
Dear, I do not know if I need to install anything on Centos. The application is not showing cpu usage. It also does not update the information in real time, loads the information and stays fixed.
Disk usage is calculated only on root partition, so if you have an /home partiton or other, the disk space isn't good.
This is not a bug, but the value is wrong
I am not sure if this is an issue with the plugin, or the main app.
On connection to a server I am prompted for my PIN, and as soon as I click a single number - any one, I am logged into my server. Tje code need not be correct, as I can only get one digit in becore the prompt pops and I am logged in.
I tried running JuiceSSH Performance Monitor on my Xiaomi Mi3 (Android 4.4.2, MIUI-KXDMIBE18.0 -- the latest stable ROM for the Singapore variant) and it force-closes on launch (with JuiceSSH 1.5.2 installed; without, Performance Monitor runs and prompts me to install JuiceSSH >= 1.5.0)
On my HTC One (also Android 4.4.2) Performance Monitor works fine. Is there some peculiarity of MIUI (e.g. the font size) that might be causing this? Let me know what logs you need to collect to troubleshoot this.
I am using xposed on my MotoX which seems to be causing an issue with this plugin, as it never returns to the plugin screen after connecting, and never loads monitoring data.
In particular I think this is related to the ActivityForceNewTask module, which forces activities to be opened within their own application instead of within the application that called the activity.
I think it would be nice to not only get the calculated CPU Usage, but the real Clock Speed of the Cores. Of course not every System will support this.
A simple Widget would be nice
Stopped working since updated ubuntu server to 18.04
..would be nice to see in the plugin :)
It would really be great to see either an adjusted system load (load / core count), or list the core count. As is, it's difficult to tell what the load effectively means.
I logged into a server the other day and it had a load average of 6.2. depending on which box I had logged in to, 6.2 means very different things!
Another feature request: add arbitrary boxes which output the result of a user defined shell command.
It'd be cool if we could see the uptime for our machines alongside everything else
Connect button doesn't seem to do anything. Tried leaving a session open in the background. No error, nothing. Haven't had a chance to check adb.
JuiceSSH v2.0.2
I'm connecting to a Ubuntu 10.04 and a 14.10 machine. In all cases, the app hangs or crashes.
I've submitted the in-app crash report.
Hi there,
I'm on a Moto X (XT1060) and I've found that the app 'locks' when I press the disconnect button. Android 4.4.2 Verizon.
I'm not sure where I could pull app log details, but if you direct me, I'd be more than happy to do so.
I'm going to try running a logcat when it occurs to see if anything shows up in the logs.
The plugin currently can't be used in conjunction with the port knocker plugin for initiating the connection. It would be useful if it could either utilize the plugin or allow it to use an existing connection that was manually established by the user.
Mosh connections are layered on top of ssh. So they can be made available in the plugin by transparently changing protocol.
Hi!
I have a number of servers that are the same operating system, however on servers that the ssh port number is not 22 I never get any information on the display. I also have one system where the outside port is forwarded to 22 on the server where I do not get any information on the display. The connection is may OK and will stay up fine but I never get any info on these servers, just -- in the display.
I am not a java coder, but I poked a bit around the code. However I could not figure out where the handling of port number is in the code. Maybe this is using a library. It seems that something is not handling the port numbers correctly. I originally posted a comment in issue #38, but that issue seems to be a magnet for anyone not getting information on the display and could be multiple issues.
I am willing to help debug this issue. Just let me know how I can help. I would code if I understood Java but it does not happen to be a language I have much knowledge about.
I will try and change the one server's ssh port number to 22 (that I have super user access to) to see if it then works or not.
Application doesn't reply when using plugin with debian wheezy.
Crash Report sent with this issue ID
Thanks in advance :-)
If you have several SSH applications on your phone, when you press the Connect button it asks you which one you want to use.
If you cancel at that point, the button then stays grey and can't be used any more.
Hello,
It would be great if you could create alert with notifications when something exceeds a threshold.
I would actually pay for that.
Cheers,
Sakis
If there could be somewhere on the app to change how often the details are refreshed, so if you need to check more often you can reduce the interval between refreshes.
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.