Manage the TeamForge EventQ server-side components.
The scope of this topic is limited to key administrative features like starting/stopping services, log locations, and so on. Administration and configuration of dependent services (e.g., nginx, MongoDB, RabbitMQ) is not covered; see respective product documentation. It is assumed that as TeamForge EventQ administrator you are familiar with basic Linux administration commands and terminology.

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
While each service can be managed individually, the eventq init script will start and stop all App server services: /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.

  1. 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.
  2. Contact CollabNet Support and request the TeamForge EventQ New Relic monitoring script.
  3. Copy the New Relic script onto the TeamForge EventQ application server host (App server).
    cp newrelic.sh /tmp cd /tmp chmod 755 newrelic.sh
    
  4. 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.