WhistleBlower
A tool to monitor and control FileMaker Server processes, and a FileMaker Server monitoring solution.
In detail
WhistleBlower is a combination of a Python script running on one or multiple FileMaker Servers, and a monitoring solution written in FileMaker, hosted on a central monitoring server.
WhistleBlower can log information from a locally running FileMaker Server, and processes remotely given command line instructions on the server machine itself. It can read all log files, it can log memory and cpu usage of all FileMaker Server processes, as well as gather information about all attached storage volumes. WhistleBlower can also execute command line instructions, and return the results. Communication with the monitoring FileMaker Server is done through the FileMaker Data API.
Installation
WhistleBlower runs on all FileMaker Server platform (Ubuntu/WIndows/macOS), and requires a centrally running FileMaker Server that supports the FileMaker Data API (18+). There are no local FileMaker Server requirements. Whistelblower als requires python3 to be installed,
to install:
Ubuntu 22.04
(logged in as root!)
cd ~
mkdir wbclient
cd wbclient
apt install python3.10-venv
(this will restart fmshelper!)
python3 -m venv wbclient
source wbclient/bin/activate
Using pip:
pip install wbclient
Using a folder containing the distribution:
pip install ~/dist/wbclient-1.0.0-py3-none-any.whl
If you just launch wbclient by typing
wbclient
The application will have created a wb_config.json file in
macOS: /Library/Application Support/wbclient/wb_config.json Ubuntu: /usr/local/share/wbclient/wb_config.json Windows: ?
to configure
nano wb_config.json
The file contains the following JSON entries:
serverid
This is the account used to log in to the central monitoring FileMaker Serve WhistleBlower FileMaker file.
host_name
The DNS name of the server that is hosting the WhistleBlower FileMaker file.
use_ssl
We strongly recommend setting this to "true".
port
Normally 443, but can be changed if your FileMaker Server is e.g. behind a NAT firewall.
database_name
Normally "whistleblower", but you can change this name.
post_layout
"wb_post" by default, this is the name of the FileMaker layout used during the logging Data API calls.
command_layout
"wb_commands" by default, this is the name of the FileMaker layout where the queue table for giving commands resides.
post_script
"process_data" by default, this is the name of the script that is execcuted after Data API calls that log information.
password
Enter the serverid value and the password entered here, also in the security settings of the WhistleBlower FileMaker file, and give this user the "whistleblower" privilege set.
post_interval
This is the time in seconds that the Python code pauses between subsequent actions - checking log files, querying system information and processing commands.
keyboard_control
"False" by default, use this if you want to control the python code using the keyboard. Can be handy when running the WhistleBlower tool from the console.
command_user
"fmserver" being the default account, because this is the default account FileMaker Server runs as. Theis can be altered to have less or more privileges on the FileMaker Server when executing commands.
command_whitelist
This JSON arrary can contain a number of commands that will be executed with elevated privileges, whatever the command_user.
Running the WhistleBlower tool
the command "wbclient" can be invoked from the console, or the server can be configured to run whistleblower at startup.
important
wbclient should be run with elevated privileges. This means using sudo on Ubuntu or macOS, or running a PowerShell as Administrator on Windows.
Changelog
2.0.2 - 2025-08-31
Fixed
- Typos and other errors in the README file
- Some PEP 8 errors in the source code
- changed the location of the "wb_config.json" file to be above user level because macOS does not allow write for the root user
Added
- Changelog
Metadata
Release files for wbclient 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wbclient-2.0.2.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wbclient-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / wbclient-2.0.2.tar.gz
| Download URL | wbclient-2.0.2.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb78b95eddea4526cb8c4dc9f3c0c1185837d301ee479378c6169388b862fc13
|
|
BLAKE2b-256 checksum How to use checksums |
3fee109a07e47f20b697a8d43debddb110794d4ba5de7bf1ab9d88c1065ad1e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|
Release files / wbclient-2.0.2-py3-none-any.whl
| Download URL | wbclient-2.0.2-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64976516dd898ad75abe4a44e22de36054169b601a23beaed0c3f992d28cc0b5
|
|
BLAKE2b-256 checksum How to use checksums |
0e41e03a2b954d78c30b791b087abe23b6c7f0bc30c336732eb3f056845ffe4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|