qNotify is a single-page sign-in webapp permitting Novell engineers to receive qmon texts and email notifications for their appropriate queues. It has been designed to work in parallel with a configured & running instance of qmon.
qNotify is a web-application that is built on Node.js, which is a platform built on Chrome's JavaScript runtime for building fast, scalable network applications. I used nodejs and a module called Express.js instead of dealing with apache, tomcat, etc. Suffice it to say, nodejs is taking over enterprise web-development for good reasons.
qNotify dependencies
I have qNotify installed on a SLES 11 SP3 server with the following dependencies:
- qmon - configured for a team.
- Git-core
- NodeJS
- npm (package manager for nodejs)
Note: Although I don't anticipate any dependency issues, if there are any problems, consider installing the SLES Development Tools/Kit.
Install Dependencies:
Install & configure qmon
qNotify depends on a running instance of qmon. It essentially passes in terminal commands to update the notification list of qmon and relies on qmon to do the actual notifying: http://proetus.provo.novell.com/qmon/-
Install git-core
zypper in git-core
or if the repository is missing:
zypper ar http://download.opensuse.org/repositories/devel:/tools:/scm/SLE_11_SP3/devel:tools:scm.repo zypper in git-core
-
Install NodeJS
zypper in nodejs-devel
or if the repository is missing:
zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/SLE_11_SP3/devel:languages:nodejs.repo zypper in nodejs nodejs-devel
Note: If needed, here are the binaries: http://nodejs.org/download/
-
Install npm
curl -L https://npmjs.org/install.sh | sh
Install qNotify:
- Clone the qNotify repository using the git clone command:
cd /srv/www/ git clone https://github.com/tdharris/qNotify.git
- While in the qNotify directory, install its' dependencies with npm:
cd qNotify npm install
- Install the rcnotify script:
cd rc ./make-rc-sles.sh
Configure qNotify:
- In the qNotify directory, there is a config.json file:
{ "listenHttp": true, "httpPort": 80, "httpsPort": 443, "privateKey": "./ssl/privatekey.pem", "certificate": "./ssl/certificate.pem", "logDirectory": "./logs" }
Note: Set listenHttp to false if wallboard is being run on the server (Apache listening on http:80). Otherwise, stick with the defaults.
Run qNotify
- From a terminal window:
rcnotify {start|stop|status|log|users}
- OR From the qNotify directory:
npm start