aheart / hearth Goto Github PK
View Code? Open in Web Editor NEWLinux server monitoring via SSH ๐ฅ๐
License: Apache License 2.0
Linux server monitoring via SSH ๐ฅ๐
License: Apache License 2.0
Integrate with coveralls or codecov.
Add badge to README.md
something like this should would improve UX for using multiple config files:
./hearth --config my_config.toml
https://github.com/clap-rs/clap is a good candidate.
main.rs is cluttered and should be cleaned up.
Hello aheart,
I wonder if it's possible to implement a ssh jumphost feature (in ssh config as ProxyJump) to connect through one ssh host to other hosts which are not directly accessible.
regards
dot
At the moment it's in Beta, but it might be a good idea to start testing now.
Add online status boolean to https://github.com/aheart/hearth/blob/master/src/metrics/aggregator.rs#L15
derive(Default) sets booleans to false so it's perfect for us.
On the frontend show {{up}}/{{total}} instead of just total.
Where up is the count of servers with online status boolean set to true.
To make it easier to see disk bottlenecks different colors can be used to represent the utilization similarly to Load Average.
iostat can examined to find out how disk utilization is computed.
https://github.com/sysstat/sysstat/blob/master/iostat.c
Currently aggregated metrics are only displayed as text at the very top of the page.
Charts would be very helpful to visualize a bit of history.
Currently sda is monitored by default
Line 17 in 21e8217
Add screenshot, description and setup guide.
Example 75a8ecb
There are no tests in the repository at the moment. In order to setup Travis CI at least one test is needed.
Retrieving uptime and the number of CPUs should be moved out of SshClient
https://github.com/aheart/hearth/blob/master/src/ssh.rs#L12-L13
The number of cpus can be extracted from /proc/stat
Currently metrics are aggregated in a vector, which is limited to 11*120.
Line 97 in 7e320c3
htop can be used as a source of inspiration
Currently data is fetched after 1 second + the time it takes to fetch the data. Which can result in inconsistent intervals in scope of one server and across multiple servers
Sparklines is abandoned and missing critical features.
New Charts should be able to:
Example 75a8ecb
SystemTime should probably be injected into DiskStats from without
Line charts are not very convenient in this case because they keep overlapping and transparency doesn't help.
Current timeout is too large and should be set to 1 second.
Currently it's only possible to authenticate using the ssh agent.
Private key authentication would be very helpful for cases when you want to run hearth in the background.
https://docs.rs/ssh2/0.3.1/ssh2/struct.Session.html#method.userauth_pubkey_file
Metrics should be aggregated into separate buffers to accommodate all the timeframes.
The UI should provide the option to twitch between 1, 5, 15 second intervals.
The setting should be stored in the WS session.
When changing an interval a WS message should be send to the WS server.
After that a batch of metrics should be resent to re-render all the charts.
Example 75a8ecb
Example:
$ cat /sys/class/net/eth0/statistics/rx_bytes /sys/class/net/eth0/statistics/tx_bytes
481853516786
903686511858
Network interface must be configurable
Integration with Travis is done.
.travis.yml is required with instructions to build the code and run tests.
A new release is coming soon. First alpha has been released.
I have found that Hearth works on OSX just great:
It would be good to have executable for Mac. It might be automated using Travis:
https://docs.travis-ci.com/user/reference/osx/
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.