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.confthat contains list of all tomcatversion.htmlURLs in format ofComponent-name, Tomcat-Urls - Run the script
indexcreator.shto create main app monitoring page andindexcreator.sh ito create instance level monitoring page - Configure the status checking functionality to run asynchronous by adding
addtile.shandaddtile.sh iincrontab -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.shevery day at00:00and check status every1st minutesand31st 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,xdatais based on previous data in thexdata.pidfileNeed to make the-> Done Spliting and by creating newadd_tilefunction as asynchronous recursion. Currently,sleepis using lot of CPUxdata.pidfile- 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
xdatain the script is not dependent on time. Make it a dependent variable. So that eachtilewill 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 dashboardUseiframeand modularize the page based on component