Skip to main content

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)

Source distribution for wbclient 2.0.2
File Size Uploaded
wbclient-2.0.2.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wbclient 2.0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page