Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wbclient-2.0.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wbclient-2.0.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

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

Hashes for wbclient-2.0.2.tar.gz
Algorithm Hash digest
SHA256 bb78b95eddea4526cb8c4dc9f3c0c1185837d301ee479378c6169388b862fc13
MD5 7aa734182f5ded94e0e101a2cdf5ff06
BLAKE2b-256 3fee109a07e47f20b697a8d43debddb110794d4ba5de7bf1ab9d88c1065ad1e1

See more details on using hashes here.

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

Hashes for wbclient-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64976516dd898ad75abe4a44e22de36054169b601a23beaed0c3f992d28cc0b5
MD5 de0d3e90abf5bf9f732bd1fdb57bacf1
BLAKE2b-256 0e41e03a2b954d78c30b791b087abe23b6c7f0bc30c336732eb3f056845ffe4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page