If you have questions, comments, or suggestions, please send me an email.
Learn More About Argus Menu
- What does Argus Menu show?
- What Linux OS's are supported?
- Where does Argus Menu get its data?
- What is argusd?
- How do I setup a server?
- How secure is this thing?
What does Argus Menu show?
The purpose of Argus Menu is to show you what's happening on your server right now. It reports the percentage use of your Linux server's CPU and RAM, how much data is on your disk, and your network activity. You can see your amount of storage left, and how much data is being uploaded and downloaded on your main network interface. The image here is a reference to the radial graphs on CPU and Memory.
What Linux OS's are supported?
Argus Menu has been tested against Ubuntu 16.04 and later, Debian 9 and later, Fedora 30 and later, and CentOS 7 and later. As of v1.2, Argus Menu also supports Raspberry Pi devices running Raspbian! However, there's a good chance it should work on any Linux that uses
systemd, so if your Linux of choice isn't one of these, give it a shot and let me know!
Where does Argus Menu get its data?
Argus Menu relies on an application to be installed on your Linux server, called argusd. During server setup, you'll be guided through the steps of installing the daemon. It's super-simple.
What is argusd?
argusd is an application, written in Go, that interfaces with your Linux system to provide the metrics necessary to report on your stats. It opens a socket connection to your Mac's copy of Argus Menu to stream the server metrics. During setup of a server, you're guided through installation of argusd, which means running an installer script and providing sudo permissions. The script downloads and installs argusd in
/usr/local/bin, and then creates a systemd service to ensure it's always running. If you ever change your mind about using Argus Menu, you can uninstall argusd with a single button push.
How do I setup a server?
It's quick and easy.
- In the Argus menu, click the "+" button. This will open the New Server dialogue (pictured).
- Enter a server name: this is the descriptive name that appears in the menu.
- Enter the URL or IP Address of the server.
- Enter the account name of the user you're connecting as. This user should have
sudoprivileges on the server!
- If you connect via a different port than 22 over SSH, enter it in the Port field.
- Choose how you'll authenticate. Argus Menu requires that you use a private key. However, if you haven't set one up before now, you can use a password for your initial connection. The "Create a New Private Key..." checkbox will be activated, and upon submission, Argus Menu will generate a new key and install it on your server.
Once you hit Next, Argus Menu will test your connection. If it's successful, you'll proceed to installing argusd.
- You'll see an active SSH session into your server (pictured). The terminal has the install command already submitted.
- You're being asked to provide your account password for the
sudocommand, which will execute the install script (if you wish to inspect the script yourself, it's available here).
- Once the install process is complete in the terminal, click Next and the setup is complete!
How secure is this thing?
I've made every effort to ensure both Argus Menu and the argusd daemon process are secure. Here's how it all works.
- Every time you open the Argus Menu (activating the menu bar item), your Mac will open two SSH local tunnels to each of your configured servers (one is for the socket connection; the other for more-standard HTTP queries). This is because argusd will only respond to requests made on its localhost. The SSH tunnel translates your Mac's remote network traffic to local requests on the Linux server. You can learn more about SSH tunnels here.
- While those tunnels are open, your Mac has access to the ports that argusd makes available. So argusd also requires a token to respond to requests. That token is generated on your Mac at setup time — you may have noticed the token being sent with the install key script! This token is installed on the Linux server and is only accessible by root; argusd then checks that the token matches future requests.
- Your SSH credentials are your SSH private/public key set. However, if you have a password login, or if you use a password for your SSH key, those values are stored in your Mac's Keychain.
If you have any questions or suggestions to improve Argus security, I'd love to hear from you!