Knowledge Base Administration Guide

Starting and Stopping the Simscope Server

screen/tmux/daemon

Simscope server must be launched under a screen or tmux session, or using a Linux daemon service.

This enables easy monitoring by an administrator, versus tailing log files. However, this means the Simscope server must be started again if the host machine is stopped or rebooted.

Starting the Server

To start the Simscope server, run the simscope executable with a path to the database directory, and a path to the simscope.config configuration file.

Start simscope

> ./simscope.sh

# If you want to run with debugging enabled:
> ./simscope.sh --debug

Simscope logs most info, warnings, and errors directly to the console via stdout and stderr.

Debug mode

Simscope can be started with DEBUG logging enabled, using the --debug command-line flag.

Once this is enabled, Simscope will log more messages to console, to help with debugging errors.

  • Sample DEBUG log message:
[DEBUG] Signature duplicate hashkey collision category= hashkey=

HTTP Port 80

If running Simscope under privileged HTTP port 80, you must run Simscope with root access.

  • For other ports like 8080, Simscope is recommended to run as a normal user.

To serve on port 80, run as root:

> sudo ./simscope.sh

Example Server Session

Here is what a standard session looks like. Once you see the Serving HTTP, the server has loaded and is ready for data or clients.

2020-02-05 19:56:05 [INFO ] Simscope configuration:
 Config file     | simscope.config
 DB Path         | /home/testdb/
 Server timezone | Etc/GMT+5
 Sig Bucketizer  | ""
 Sig Categories  | [compile:2 generate:6 lint:3 simulate:4 synth:5 test:1]
 Projects        | 5
 Bug Trackers    | 2
 Bug Create      | "bin/dist-simscope/simscope-jira-create.py"
 RabbitMQ        | enabled
 SMTP Email      | smtp.gmail.com:587
 build           | env
 test-group      | group
 test-name       | testname
 test-args       | testargs
2020-02-05 19:56:05 [INFO ] Connected to Rabbit input-queue=simscope-in
2020-02-05 19:56:05 [INFO ] SQL open db=/home/testdb/triage.db
2020-02-05 19:56:05 [INFO ] SQL open db=/home/testdb/log.db
2020-02-05 19:56:05 [INFO ] LDAP Authentication enabled
2020-02-05 19:56:05 [INFO ] Signature classes=26
2020-02-05 19:56:05 [INFO ] Signature attributes loaded jobs=11
2020-02-05 19:56:05 [INFO ] Signature attachments count=0
2020-02-05 19:56:05 [INFO ] Schema Meta fields=190
2020-02-05 19:56:05 [INFO ] Regression overflow enabled max-new-sigs=5
2020-02-05 19:56:05 [INFO ] Regression auto timeout (TTL) hours=1
2020-02-05 19:56:05 [INFO ] Regression count=17,109 matrix=53,465
2020-02-05 19:56:05 [INFO ] Assignments matrix=898
2020-02-05 19:56:05 [INFO ] Rules count=377
2020-02-05 19:56:05 [INFO ] Weekly metrics snapshot enabled hours=6 next=4h19m17s
2020-02-05 19:56:05 [INFO ] Changelist DB search=true exact=false
2020-02-05 19:56:05 [INFO ] Signatures count=1304 collisions=39
2020-02-05 19:56:05 [INFO ] API initialized duration=393ms
2020-02-05 19:56:05 [INFO ] Home page caching enabled interval=3m0s
2020-02-05 19:56:05 [INFO ] ------------------------------------------------------
2020-02-05 19:56:05 [INFO ] Simscope version=1.254 build=2020-02-05 pid=30534
2020-02-05 19:56:05 [INFO ] Serving HTTP url=http://localhost:8080/
2020-02-05 19:56:05 [INFO ] ------------------------------------------------------

Stopping the Server

The recommended method to stop the server is via GUI:

  • AdminShutdown Simscope Server

NOTE: Simscope can be stopped via Ctrl-C, but the preferred method is via the GUI.