-
Notifications
You must be signed in to change notification settings - Fork 5
Erlang Computer Systems Management Console
License
comptekki/esysman
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Erlang Systems Manager [ ESysMan 1.80 ] ESysMan is an Erlang based client/server computer systems management console in which a web browser (with websockets support) is used to manage computer systems. -------- Features: Server Operations that can be performed on the client from the server: System functions: - Reboot - Shutdown - Ping - Wake-on-lan (PC only) - Wake-on-lan (via service in different subnet that doesn't bridge wol packets) - Restart/stop windows service - Show logged on users - Copy - copy file to workstation - Com - run command on workstation - Copy All - does copy to all selected workstations - Com All - does command on all selected workstations (see General functions below) Faronics Deep Freeze functions (for PC): (When Faronics Deep Freeze is available) - Freeze - Thaw - Get freeze/thaw status Ninite functions: Run ninite update or run script General functions: - Copy a file or script to client and run on client - When the "All" command check box is selected, then only the checked workstations will have that command done on them - Restrict access based on IP address and username/password (both configurable in esysman.conf). -------- Client The client periodically sends messages to the server to indicate whether the system is "Up" and which user is logged in. It also does the command processing sent from the server. -------- Todo list: - Get client OS, applications and hardware inventory - Create better comments/specs for functions - Create layout via web app, not just edit text file - Move .hrl vars to .conf -------- Basic setup Prerequisites: 1. Erlang 13.x or later (on server and client) http://erlang.org 2. Cowboy 2.11.0 (downloaded and compiled when 'make' is run) https://github.com/extend/cowboy.git 3. OpenSSL for creating selfsigned certificates 4. PostgreSQL for logging a. epgsql is downloaded during make -------- Client/Server Setup 1. Server Setup a. file setup i. esysman.hrl file set up as follow: (see esysman-example.hrl in src diretory) ii. ecom.hrl setup (for deepfreeze and windows 7) (see ecom-example.hrl in repo) iii. create esysman.conf (see esysman-example.conf in src directory) iv. run Make from a shell command prompt v. set up PostgreSQL, run createdb esysman then run "psql -U postgres esysman" then in esysman/init, run \i esysman.sql to setup esysman table and then set access in src/db.hrl b. to run, execute the following command from a shell command prompt in the esysman repo: ./_rel/bin/esysman console c. use browser to access http://localhost:8080 use browser to access https://localhost:8443 2. Clent Setup i. Windows setup a. copy ecom.beam to something like c:\erl on a windows system (erlang must also be installed on windows system) b. set windows system environment variable "Path" to include erlang (location of erl.exe) c. install erlang as a service per http://www.erlang.org/doc/man/erlsrv.html something like this: see init/install-ssl.cmd sample file Also create a .erlang.cookie file in c:\windows and make sure it is set to readonly. d. start service e. set firewall to allow erl.exe to allow traffic from server IP above ii. Linux/Mac setup a. copy ecom.beam to something like /usr/local/lib/ebin b. run script (see init directory for sample) to start ecom: ./start-ecom.sh c. set firewall to allow server to talk to client -------- Versions -------- 1.80 -Update to release 1.80 -Change user ouput on each box and message panel -Add Mute/Unmute to dupe users panel -Add simple error handler to db query -Rename jquery file in repo and update to jquery from 3.5.1 to 3.7.1 -Update esysman-example.hrl to new jquery name -Other updates and fixes -------- 1.70 -Add a db query panel -Update to erlang 26.2.2 -Update to cowboy 2.11.0 -Show only one user (user(count)) on box when multiple users logged in -Add linux mem info on main panel for when esysman is running on linux -Add msp to manage scripts panel -A few updates/fixes/cleanup -------- 1.60 -Add total system count to document title - will show on browser tab -Ignore users with $ symbol in name -------- 1.50 -Add total/usage memory indicator on console -Some tweaks and fixes -------- 1.40 -Some fixes and tweaks -------- 1.38 -Fix reset of description and daily checkbox -------- 1.36 -Add reset timer button -------- 1.34 -Fix timers dup add and require system before add -------- 1.32 -A couple of updates -------- 1.30 -Add erlang.mk that works with Erlang 25.0 -Add toggle all button for auto shutdown -Add repeating timer and multiple systems per timer -Works with Erlang 25.0 -Works with Cowboy 2.9.0 -Other tweaks and fixes ------- 1.20 -Use firewall hosts in esysman.conf to restrict websocket, upload and uptodown -Test with Erlang 23.3 ------- 1.18 -Add security check to websocket connection ------- 1.16 -Test with Erlang 23.2.7 -Send autoshutdown change to all consoles -Keep state of workstation AutoS (autoshutdown on/off) for all consoles -Restrict access to uploads and uptodown -Other fixes and tweaks ------- 1.14 -Test with Erlang 23.2.4 -A few updates and changes ------- 1.12 -Test with Cowboy 2.8.0 -Test with Erlang 23.1.2 -Upgrade to jquery 3.5.1 -Fixes and adjustments -Move most ecom.erl options to conf file -------- 1.11 -Test with Erlang 22.2.5 -Update look for workstation select row/column and options -Update manage scripts search - much faster now -Add file time in manage scripts -Add manage timers (simple cron like function) -Other simple updates and fixes -Add CHKDUPETIME for wks counters in esysman.hrl -Add about button - show erlang/esysman versions -------- 1.10 -Test with Cowboy 2.7.0 -Test with Erlang 22.2.1 -Update to jquery 3.4.1 -Change input method for shutdown start/stop times and copy/com -Miner updates and fixes -------- 1.9 -Update to Cowboy 2.7.0 -Make scripts window draggable/resizable -Add item count in scripts window and file size -Add wks auto shutdown default setting and toggle -Fix total users count -------- 1.8 -Works with Cowboy 2.6.1 and OTP 22.0-rc2 -Add sync refresh timer for all consoles -Add retry websocket connect every 5 seconds after disconnect -Fix workstation update time for firefox -------- 1.7 -Update for Cowboy 2.4.0 -Update works with Erlang 21.0.1 -Update erlang.mk with: make erlang-mk -Note: clean release with: make distclean -------- 1.6 -Update for Cowboy 2.2.2 -Add search to Manage Scripts list -Add start/up time to workstation status panel -Miner updates and fixes -------- 1.5 -Update for Cowboy 2.0.0-rc.2 -Add downloads folder -Add upload to downloads interface ------- 1.4 -jQuery ui'd buttons, popups, etc. -Add T to toggle workstation commands area ------- 1.3 -Update to cowboy 1.1.2 -Add a script/file manager -Add a simple lock screen -Add support for four web browser consoles -------- 1.2 -Update to cowboy 0.9.0 -Add basic centos support -Move to release format -------- 1.1 -Update to cowboy 0.8.3 -Add basic linux/mac support -Add S/UnS All Coms to select everything - commands and workstations -------- 1.0 -Move code to Cowboy Change history: YAWS to Misultin because of better websocket support in Musultin Misultin to YAWS as Misultin was EOL'd YAWS to Cowboy as YAWS had no wss:// support -Remove code - messages are just sent, no more call then wait process. -Add larger log console next to Server Messages header (click + to show/hide console) -Use Cowboy Examples make/rebar base configuration for easy setup ------- To see previous versions of this project (formerly ECSMCons), see: https://github.com/comptekki/ecsmcons-my "-my" at the end indicates misultin and yaws versions exist in the repo
About
Erlang Computer Systems Management Console
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published