Config Reference
Watchdog Parameters
Watchdog relies on the watchdog.conf configuration file for essential settings. Here are the key configuration parameters:
MODE:
Set the mode to either ‘local’ or ‘cloud’ based on your deployment.BMKEY:
Provide the Base64-encoded license key.AUTHCODE:
Add the Base64-encoded authorization code.BLACKLIST:
Specify the blacklist configuration.LOGDIR
: Path to your log directory.LOGLEVEL
: Set the desired log level. Set it toDEBUG
if the program doesn’t work the intended way.LIMIT
: Enable the rate limiting.RATE
: Give the rate at which API is accessible.CERTFILE
: Path to the SSL Certificate FileKEYFILE
: Path to the SSL Key File
Configuration Files For Watchdog
Example mapping.conf
File
This file contains mappings for different departments, specifying conditions like the hostname pattern, label, operating system, IP address range, and MAC address pattern.
# mappings.conf
# File to define groups for the browsermon controllers
# based on any criteria (guid, hostname, mac, version, ip, os, label)
[Staff]
host=austin-*
label=staff
os=windows
[HR]
host=newyork-*
os=linux
label=hr
address=123.11.219.0/24
mac=23:ab:123:*
[Accounts]
host=sunnyvale-*
os=linux
[CEO]
host=chicago-ceo*
label=ceo
os=windows
Example browsermon-watchdog.conf
File
This file defines the settings for each department, including the browser type, mode, schedule window, log directory, log mode, rotation interval, and Kafka mode.
[HR]
browser=firefox
mode=scheduled
schedule_window=1m
logdir=/opt/browsermon/logs
logmode=json
rotation=1h
kafka_mode=false
[Accounts]
browser=chrome
mode=scheduled
schedule_window=1m
logdir=/opt/browsermon/logs
logmode=csv
rotation=1h
kafka_mode=true
[CEO]
browser=firefox
mode=scheduled
schedule_window=1m
logdir=C:\\browsermon\\history
logmode=csv
rotation=1h
kafka_mode=true
Customizing Information for Different Departments
Users can customize the information sent from the controller to get different settings based on their department. The information should include fields like guid
, hostname
, version
, ip_addresses
, mac_address
, os
, and label
.
Config Files for Browsermon (Controller)
Example Configuration File (browsermon.conf
)
[default]
browser=firefox
mode=scheduled
schedule_window=1m
logdir=C:\\browsermon\\history
logmode=csv
rotation=1h
backup_count=0
log_level=DEBUG
watchdog_ip=0.0.0.0
watchdog_port=5601
kafka_mode=true
kafka_server_url=localhost:9092
machine_label=DefaultLabel
Configuration Explanation
browser: Specifies the browser(s) to monitor, such as Firefox, Chrome, or Edge.
mode: Determines whether BrowserMon operates in scheduled mode (default) or real-time mode.
schedule_window: Sets the interval between each browser data collection iteration.
logdir: Defines the directory where browser history log files are stored.
logmode: Specifies the format of the history log files (CSV or JSON).
rotation: Sets the interval for rotating history log files.
backup_count: Defines the number of backup copies of history log files to retain.
log_level: Specifies the logging level (INFO or DEBUG).
watchdog_ip: IP address of the Watchdog server.
watchdog_port: Port number where Watchdog service listens for connections.
kafka_mode: Enables (true) or disables (false) Kafka integration for centralized logging.
kafka_server_url: URL of the bootstrap Kafka server.
machine_label: The label you will sent as a payload to the watchdog server (This can be set by the controller in the
browsermon-local.conf
andbrowsermon.conf
file).
*All these config variables can be changed in browsermon-local.conf file except watchdog_ip
and watchdog_port
.
How the Matching Works
Label Matching: This is the highest priority. If the controller’s
label
field matches thelabel
specified in themapping.conf
file, the department associated with that label is selected immediately.Hostname Matching: If no label match is found, the system checks if the controller’s
hostname
matches the pattern defined for a department. A wildcard (*
) can be used in the hostname pattern to allow for partial matching.IP Address Matching: If neither label nor hostname matches, the IP address is compared. The controller’s IP addresses are checked to see if any of them fall within the subnet ranges specified for a department.
MAC Address Matching: If the IP address does not match, the system will try to match the controller’s MAC address using a pattern that can include wildcards.
Operating System (OS) Matching: As the last option, the controller’s OS is compared against the OS specified for the department. The system performs a partial match if a wildcard (
*
) is used, ensuring that different versions of the same OS can be grouped together.
The matching process in NOT
case-sensitive.
The process follows a first-match-wins strategy. As soon as a match is found, the department associated with that match is selected, and the remaining conditions are ignored.
Example Workflow of Matching
Here’s a simple example to illustrate how the matching process works:
Controller Information:
Label:
"hr"
Hostname:
"newyork-hr1"
IP Addresses:
["123.11.219.5"]
MAC Address:
"23:ab:123:45:67:89"
OS:
"linux"
Matching Process:
Label Matching: The system checks the label
"hr"
. It finds that the HR department has a matching label, so it immediately selects the HR department.Hostname, IP, MAC, and OS: Since the label matched, the system does not proceed to check the other conditions (hostname, IP, MAC, or OS).
The HR department is selected based on the label match, even though other conditions might also match.
Types of Configurations
BrowserMon 2.0 supports different types of configurations to tailor settings based on organizational needs (browsermon-watchdog.conf
and browsermon-local.conf
files can be configured at run time and will be updated after every 30 min) :
Default Configuration (browsermon.conf): Provides baseline settings for all deployments.
Central Watchdog Configuration (browsermon-watchdog.conf): Overrides default configurations for centralized management this configuration is recieved from the watchdog server and written in the
browsermon-watchdog.conf
file in your installation directory.Local Configuration (browsermon-local.conf): Allows local administrators to customize settings for specific requirements, overriding both default and watchdog configurations.