Monitor and control FileMaker Servers
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wbclient-2.0.2.tar.gz.
File metadata
- Download URL: wbclient-2.0.2.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb78b95eddea4526cb8c4dc9f3c0c1185837d301ee479378c6169388b862fc13
|
|
| MD5 |
7aa734182f5ded94e0e101a2cdf5ff06
|
|
| BLAKE2b-256 |
3fee109a07e47f20b697a8d43debddb110794d4ba5de7bf1ab9d88c1065ad1e1
|
File details
Details for the file wbclient-2.0.2-py3-none-any.whl.
File metadata
- Download URL: wbclient-2.0.2-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64976516dd898ad75abe4a44e22de36054169b601a23beaed0c3f992d28cc0b5
|
|
| MD5 |
de0d3e90abf5bf9f732bd1fdb57bacf1
|
|
| BLAKE2b-256 |
0e41e03a2b954d78c30b791b087abe23b6c7f0bc30c336732eb3f056845ffe4e
|