Appmon is single page web-app to monitor the health of every Tomcat applications in your organization
main.sh
script will accept url_file
that contains list of all tomcat virtual URLs that hits version.html
(like http://server:8080/application/version.html). Dashboard is plotted based on response (If the response is 200 OK -> green tile; if not red tile)
Output of the script will look like below :
- Clone this repo
git clone https://github.com/iamshreeram/app-mon.git
cd app-mon
touch config/app.conf
- Add the
app.conf
that contains list of all tomcatversion.html
URLs in format ofComponent-name, Tomcat-Urls
- Run the script
indexcreator.sh
to create main app monitoring page andindexcreator.sh i
to create instance level monitoring page - Configure the status checking functionality to run asynchronous by adding
addtile.sh
andaddtile.sh i
incrontab -e
- Crontab config looks like below
- 0 0 * * * /path-of-your-git-clone/app-mon/indexcreator.sh
- 0 0 * * * /path-of-your-git-clone/app-mon/indexcreator.sh i
- 1,31 * * * * /path-of-your-git-clone/app-mon/addtile.sh
- 1,31 * * * * /path-of-your-git-clone/app-mon/addtile.sh i
- This will Enable cron job to run
indexcreator.sh
every day at00:00
and check status every1st minutes
and31st minutes
- Shell
- HTML, CSS, Javascript
- Dashboard is based on response of
version.html
- Script needs a HTTP server to run
- To make it simple and light weight, Addition of external libraries are avoided
Position of version is hard coded and script doesn't have any intelligence. Need to make it as regex-> Postition is still hard coded. Currently,xdata
is based on previous data in thexdata.pid
fileNeed to make the-> Done Spliting and by creating newadd_tile
function as asynchronous recursion. Currently,sleep
is using lot of CPUxdata.pid
file- Enable to run sub-processes which can monitor the health of direct URLs
Create .conf file which contains list of components to be createdFor each component in list, create a file with same name and add list of all direct URLs- Script will create a new folder with component name and move the direct url file to created folder
- Copy of Script will be posted in folder and self started
- Script would read the urls from file and create the status tile based on direct urls
xdata
in the script is not dependent on time. Make it a dependent variable. So that eachtile
will get created based on time of validationAdd Date picker, drop down to look at specific application on specific date- Enable Javascript to display version of application in tooltip on mouse over of tile
Create and append a Logo on left top of dashboardUseiframe
and modularize the page based on component