Background Services
TeamForge EventQ installs and starts six background services on the App server. Each service is managed using init scripts, which are installed and started as part of the installation process. Init scripts are all located in /etc/init.d/
on the respective hosts. Once started, each service creates a pid file.
Init Script | PID File | Host | Description |
---|---|---|---|
collabnet-mongod | /var/run/collabnet-mongodb/mongodb.pid | DB server | Database service |
collabnet-nginx | /var/run/collabnet-nginx/nginx.pid | App server | Web and application server |
collabnet-rabbitmq-server | /var/run/collabnet-rabbitmq/rabbitmq.pid | MQ server | AMQP message service |
collabnet-redis | /var/run/collabnet-redis/redis.pid | App server | Internal job queue service |
eventq-ctf-jobs | /var/run/eventq/ctf_job_runner.pid | App server | Background communication with TeamForge |
eventq-queue-commit | /var/run/eventq/scm_queue.pid | App server | Processes message from commit queue |
eventq-queue-build | /var/run/eventq/build_queue.pid | App server | Processes message from build queue |
eventq-queue-review | /var/run/eventq/review_queue.pid | App server | Processes message from review queue |
Starting and Stopping Services
Use the init scripts to start, stop, restart, or get status on a service individually.
- status Is the process currently running? Does it have a PID (even if it’s not running - e.g. in the case of a crash)
- start Starts the process
- stop Stop the process
- restart Stop and then start the process
Example Usage
sudo service eventq-queue-commit restart
/etc/init.d/eventq
Example Usage
shell
sudo service eventq start
`
Service Administration Passwords
During the installation of TeamForge EventQ, if RabbitMQ and MongoDB were installed as part of the installation process then the administrative passwords have been written to disk for reference:
- DB server:
/opt/collabnet/mongodb/.mongo_passwords
- MQ server:
/opt/collabnet/rabbitmq/.rabbit_passwords
Log Files
The following log files are relevant to TeamForge EventQ services and may be useful for debugging. Log rotation on all log files is enabled by default.
EventQ Application Server Logs
- The
server.log
is the main log file for TeamForge EventQ, detailing the server’s page serves and any errors that EventQ may encounter. It relates to the Phusion Passenger service, which is started with nginx. (/var/log/eventq/
)- build_queue.log
- ctf_job_runner.log
- nginx-error.log
- nginx.log
- review_queue.log
- scm_queue.log
- server.log
- Redis Log:
/var/log/collabnet-redis/
- redis.log
- MongoDB Server Log:
/var/log/collabnet-mongodb/
- mongodb.log
- RabbitMQ Server Log:
/var/log/collabnet-rabbitmq/
- rabbit@localhost.log
- rabbit@localhost-sasl.log
- startup_err
- startup_log
Monitoring TeamForge EventQ with New Relic
TeamForge EventQ may be configured for monitoring using New Relic, a third party service.
This section discusses how to set up monitoring of TeamForge EventQ using a third party product, New Relic. Once set up, configure New Relic to alert you of outages, monitor application performance, observe errors, and so on. It is assumed that you have a New Relic account and license key ready for use.
- Create a New Relic account and obtain your license key. If you haven’t done so already, create an account on the New Relic web site. Obtain the license key associated with your account.
- Contact CollabNet Support and request the TeamForge EventQ New Relic monitoring script.
- Copy the New Relic script onto the TeamForge EventQ application server host (App server).
cp newrelic.sh /tmp cd /tmp chmod 755 newrelic.sh
- Execute the New Relic script with root privileges, passing your license key as an argument.
sudo ./newrelic.sh LICENSE_KEY
Where
LICENSE_KEY
is replaced with your New Relic provided license key.After a few moments, your New Relic account will reflect the TeamForge EventQ server. Follow New Relic’s instructions for setting up monitoring, alerts or other desired functionality.