BigFix Platform Health Check -- Enable FillDB Performance Logging (4.0)
| 0 Votes |
Description
-
This task can only be run by Master Operators.
-
This will only be relevant on BigFix root servers that do not already have FillDB Performance logging enabled.
-
Creates the Health Check folder structure on the same drive that the BigFix root server is installed on.
-
Note: The default for this is the root of that drive. Edit the actionscript parameters if you want something different.
-
-
Run this as a one time action.
-
The FillDB service must be restarted to enable logging and disable it later - if that option is chosen below.
-
More information about BigFix logging can be found here.
|
Log Size FillDB Performance log files can grow quite large over time. For general health check purposes, it is suggested that the FillDB log file size be capped at 1000 MB (1 GB). Enter in the maximum log file size below - with the minimum size being 100 MB and the maximum size being 2000 MB (2 GB). |
|
To disable the FillDB Performance maximum log file size limit, select the "Disable Maximum Log File Size" checkbox below. |
|
Disable Maximum Log File Size |
|
FillDB Performance logging adds some overhead and should not be enabled without a clear plan to disable it when logging is no longer needed. This task can generate a sub-task to disable FillDB Performance logging after a specified number of hours. Enter in the maxiumum duration for FillDB Performance logging to be run in the field below. |
|
To run open ended logging, select the "Do Not Automatically Disable Logging" checkbox below. There is a companion task named "BigFix Platform Health Check -- Disable FillDB Performance Logging" to disable logging at any time. |
Credentials Enter in the credentials for a master operator so this task can generate the action to disable FillDB Performance logging using the BigFix REST API after the duration specified above. These credentials will be protected by using the secure parameters feature. |
| Specify API Username: |
| Specify API Password: |
| Confirm API Password: |
Property Details
| 27393 | |
| Beta - Preliminary testing ready for more | |
| BigFix Platform Health Check -- Enable FillDB Performance Logging (4.0) | |
| BES | |
| BigFix Platform Health Check | |
| 0 | |
| HCL BigFix AVP and Professional Services | |
| Data Collection - Day 1 | |
| Required | |
| 7/28/2025 12:00:00 AM | |
| FillDB, FillDB Health, Automation | |
| True | |
| dmccalla on 10/29/2025 8:18:06 AM | |
| dmccalla on 10/29/2025 8:18:06 AM | |
| 237 Views / 2 Downloads | |
* Average over 0 ratings.
** Log In or Register to add your rating.
|
Relevance
| Used in 222 fixlets | * Results in a true/false |
| Used in 1 fixlet | * Results in a true/false |
Actions
Action 1 (default)
//* ====================================================================================================>
//*
//* DESCRIPTION AND NOTES
//*
//* - This task will enable FillDB Performance logging and, if chosen, spawn a
//* BigFix action to disable FillDB Performance logging after a specified duration (hours).
//*
//* ====================================================================================================>
//* ====================================================================================================>
//*
//* SET SOME PARAMETERS
//*
//* - These parameters can be used to control the location and naming of the various health check files
//* and folders.
//*
//* - Ideally, the only thing that would be changed here would be the driveLetter. Be careful about
//* adjusting anything else.
//*
//* ====================================================================================================>
action parameter query "restart" with description "To enable these changes you need to restart the FillDB Service. Enter 'Y' to confirm you are aware of the serivce restart for both the enablement of logging and the disabling of logging later, if chosen. Click Cancel to exit the task if you wish to do this at another time." with default "N"
parameter "res" = "{parameter "restart" of action as string as lowercase}"
if {(parameter "res") is "y"}
parameter "driveLetter" = "{preceding texts of firsts "\" of (value "EnterpriseServerFolder" of key "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BigFix\Enterprise Server" of native registry as string)}"
parameter "checkType" = "Platform"
parameter "rootFolder" = "{parameter "driveLetter" & "\BigFix_Health_Check\" & parameter "checkType"}"
parameter "cliFolder" = "{value "EnterpriseServerFolder" of key "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BigFix\Enterprise Server" of native registry as string & "IEM CLI"}"
parameter "apiPort" = "{value "Port" of key "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BigFix\Enterprise Server" of x32 registry}"
parameter "resultsFolder" = "{parameter "rootFolder" & "\Results"}"
parameter "backupFolder" = "{parameter "rootFolder" & "\Backup"}"
parameter "resultsBackupFolder" = "{parameter "backupFolder" & "\Results"}"
parameter "xmlFilesFolder" = "{parameter "rootFolder" & "\XML_Files"}"
parameter "logsFolder" = "{parameter "resultsFolder" & "\Logs"}"
parameter "fillDBPerfLogsFolder"="{parameter "logsFolder" & "\FillDB_Performance"}"
parameter "fillDBPerfLogsBackupFolder" = "{parameter "resultsBackupFolder" & "\Logs\FillDB_Performance" & "\" & (((month of it as two digits & "-" & day_of_month of it as two digits & "-" & year of it as string) of date(local time zone) of it & "_" & (two digit hour of it as string & two digit minute of it as string) of time (local time zone) of it) of now)}"
parameter "fillDBPerfLogsName"="{"FillDBperf.log"}"
parameter "fillDBPerfLogsFullName"="{parameter "fillDBPerfLogsFolder" & "\" & parameter "fillDBPerfLogsName"}"
//* ====================================================================================================>
//*
//* BACKUP EXISTING FILES, IF PRESENT. THIS IS MORE FOR TROUBLESHOOTING.
//*
//* ====================================================================================================>
if {if (exists folder (parameter "fillDBPerfLogsFolder")) then (exists files of folder (parameter "fillDBPerfLogsFolder")) else (false)}
folder create "{parameter "fillDBPerfLogsBackupFolder"}"
waithidden cmd.exe /C xcopy "{parameter "fillDBPerfLogsFolder" & "\*.log"}" "{parameter "fillDBPerfLogsBackupFolder" & "\*.log"}" /E /Y
waithidden cmd.exe /C del /F /Q "{parameter "fillDBPerfLogsFolder" & "\*.*"}"
endif
//* ====================================================================================================>
//*
//* DELETE ANY EXISTING FOLDERS, SCRIPTS, ETC. SO WE CAN CREATE FRESH CONTENT
//*
//* ====================================================================================================>
// Nothing to delete here...
//* ====================================================================================================>
//*
//* BUILD OUT THE FOLDER STRUCTURE TO SUPPORT THE GLOBAL TASK
//*
//* ====================================================================================================>
folder create "{parameter "xmlFilesFolder"}"
folder create "{parameter "rootFolder"}"
folder create "{parameter "fillDBPerfLogsFolder"}"
//* ====================================================================================================>
//*
//* ENABLE FILLDB PERFORMANCE LOGGING AND RESTART THE SERVICE
//*
//* ====================================================================================================>
//*
//* Save the existing log file setting value so we can set it back later to the original using the
//* disable debug logging task.
//*
setting "__FillDB_Perf_Logs_Backup_Value"="{if (exists value "PerformanceDataPath" of key "HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB" of x32 registry) then (value "PerformanceDataPath" of key "HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB" of x32 registry as string) else ("was not set")}" on "{parameter "action issue date" of action}" for client
waithidden cmd.exe /C net stop filldb
regset "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "PerformanceDataPath"="{escape of (parameter "fillDBPerfLogsFullName")}"
regset "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "EnablePerformanceLogging"="1"
//*
//* If disable log file size limit was selected then set log size limit
//*
if {parameter "fillDBPerfLogsSizeNoLimit" as integer != -1}
regset "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "LogFileSizeLimit"=dword:{parameter "fillDBPerfLogsSizeKB"}
endif
//*
//* Sleep 5 secs and start back up
//*
waithidden cmd.exe /C ping 127.0.0.1 -n 10 -w 500> nul
waithidden cmd.exe /C net start filldb
//*
//* If the log rotation and size limit is not selected (or not) then add a note about that to the readme file.
//* false = -1
//*
if {parameter "fillDBPerfLogsSizeNoLimit" as integer = -1}
waithidden cmd.exe /C echo The FillDB Performance log in this folder is *active* but it is not being capped at a maximum size. > "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
waithidden cmd.exe /C echo See the action 'BigFix Platform Health Check -- Enable FillDB Performance Logging' for details. >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
elseif {parameter "fillDBPerfLogsSizeNoLimit" as integer != -1}
waithidden cmd.exe /C echo The FillDB Performance log in this folder is *active* and will be capped at a total file size of {parameter "fillDBPerfLogsSizeMB"} MB. > "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
waithidden cmd.exe /C echo See the action 'BigFix Platform Health Check -- Enable FillDB Performance Logging' for details. >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
endif
//*
//* If the logging duration is not open (or not) ended then add a note about that to the readme file.
//* false = -1
//*
if {parameter "fillDBPerfLogsNoDisable" as integer = -1}
waithidden cmd.exe /C echo Automatic disabling of logging was not chosen when logging was initiated. It is *highly* recommended that you disable FillDB Performance logging once your health check is completed. >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
waithidden cmd.exe /C echo The companion task named 'WARNING: BigFix Platform Health Check - FillDB Performance Logging is Enabled' can be used to disable logging at any time. >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
elseif {parameter "fillDBPerfLogsNoDisable" as integer != -1}
waithidden cmd.exe /C echo Automatic disabling of logging was chosen when logging was initiated. See the auto-generated action titled "BigFix Platform Health Check -- Disable FillDB Performance Logging on {((( month of it as two digits & "/" & day_of_month of it as two digits & "/" & year of it as string) of date(local time zone) of it) & " at " & ((two digit hour of it as string & ":" & two digit minute of it as string) of time (local time zone) of it )) of (now + (parameter "fillDBPerfLogsDuration" as integer * hour))}" >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
//*
//* Drop a breadcrumb for the disable action to key off of.
//*
setting "__FillDB_Perf_Logs_Expiration" = "{now + (parameter "fillDBPerfLogsDuration" as integer * hour)}" on "{parameter "action issue date" of action}" for client
//* ====================================================================================================>
//*
//* CREATE AND POST THE "DISABLE FILLDB PERFORMANCE LOGGING" TASK
//*
//* ====================================================================================================>
delete "{parameter "xmlFilesFolder" & "\disable_filldb_performance_logging.xml"}"
delete __createfile
createfile until _END_
="1.0" encoding="utf-8"?>= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SkipUI="true">
BigFix Platform Health Check -- Disable FillDB Performance Logging (WILL RESTART FILLDB SERVICE) on {((( month of it as two digits & "/" & day_of_month of it as two digits & "/" & year of it as string) of date(local time zone) of it) & " at " & ((two digit hour of it as string & ":" & two digit minute of it as string) of time (local time zone) of it )) of (now + (parameter "fillDBPerfLogsDuration" as integer * hour))}
/* IS A WINDOWS ROOT SERVER */ (exists main gather service and not exists relay service AND windows of operating system) AND /* FILLDB PERF LOGGING AND ROTATION IS ENABLED */ ( exists value "EnablePerformanceLogging" whose (it as string = "1") of key "HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB" of x32 registry) AND (exists setting "__FillDB_Perf_Logs_Expiration" whose (now > value of it as time) of client)
//* ====================================================================================================>
//*
//* DESCRIPTION AND NOTES
//*
//* - This task will disable filldb performance logging and set the log file info back to whatever
//* it was before it was ebabled by the "BigFix Platform Health Check -- Enable FillDB Performance
//* Logging" action.
//*
//* ====================================================================================================>
waithidden cmd.exe /C net stop "filldb"
//*
//* Disable logging and set the log info back to whatever it was before we made the change to
//* centralized HC logging
//*
regset "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "PerformanceDataPath"="{if (exists setting "__FillDB_Perf_Logs_Backup_Value" of client) then (value of setting "__FillDB_Perf_Logs_Backup_Value" of client) else ("needs to be set")}"
regset "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "EnablePerformanceLogging"="0"
regdelete "[HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\Enterprise Server\FillDB]" "LogFileSizeLimit"
//*
//* Sleep 5 secs - without this sometimes the service does not come back up
//*
waithidden cmd.exe /C ping 127.0.0.1 -n 10 -w 500> nul
waithidden cmd.exe /C net start filldb
//*
//* Delete the expiration breadcrumb
//*
setting delete "__FillDB_Performance_Logs_Backup_Value" on "{parameter "action issue date"}" for client
//*
//* Write out / update a readme file.
//*
waithidden cmd.exe /C echo The FillDB Performance log in this folder is no longer active and is ready for analysis. > "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
waithidden cmd.exe /C echo Logging was automatically disabled by the auto-generated action titled "BigFix Platform Health Check -- Disable FillDB Performance Logging on {((( month of it as two digits & "/" & day_of_month of it as two digits & "/" & year of it as string) of date(local time zone) of it) & " at " & ((two digit hour of it as string & ":" & two digit minute of it as string) of time (local time zone) of it )) of (now + (parameter "fillDBPerfLogsDuration" as integer * hour))}". >> "{parameter "fillDBPerfLogsFolder" & "\HEALTHCHECK_FILLDB_PERF_README.txt"}"
= "RunToCompletion">
false
false
false
false
true
P2D
false
false
NoRequirement
AllUsers
false
false
true
true
1
false
false
false
true
= "Nothing">
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
_END_
move __createfile "{parameter "xmlFilesFolder" & "\disable_filldb_performance_logging.xml"}"
//*
//* Login to the API and post the XML file to generate the action.
//*
waithidden cmd.exe /C ""{parameter "cliFolder" & "\iem"}" login -q --server=https://{host name of root server}:{parameter "apiPort"} --user={parameter "apiUsername"} --password={parameter "apiPassword"} --masthead="{preceding text of last "\" of pathname of data folder of client & "\actionsite.afxm"}""
waithidden cmd.exe /C "{parameter "cliFolder" & "\iem"}" POST {parameter "xmlFilesFolder" & "\disable_filldb_performance_logging.xml"} https://localhost:{parameter "apiPort"}/api/actions
endif
elseif {(parameter "res") is "n"}
exit -1
endif
This action will be considered successful when the applicability relevance evaluates to false.
Sharing
| Social Media: |
Comments
|
|
|
| You need to download the BES file to see all of the javascript and actionscript. The website is not rendering things correctly but this does still work once downloaded. | |

