ZendHQ GUI 1.6.4
Changes
- Added functionality to save the Codetrace as text file
Added the zendhqctl monitoring history
command that can be used to query monitoring issues from the monitoring database.
The command implements list
and print
sub-commands for listing and printing monitoring issues.
Added the monitor.aggregate_ttl
directive to the ZendHQ daemon's configuration file that can be used to set the time-to-live value for aggregated monitoring issues.
The default value is 300
(5 minutes). If a monitoring event repeats within the time-to-live value, then the event is aggregated into a single monitoring issue.
The monitoring issues aggregation can be enabled with the monitor.aggregate_events
directive.
The mon.get_issues
JsonRPC method now has an additional filter parameter that can be used to filter issues by severity, event type, time, and rule name.
The mon.get_issues
JsonRPC method now has an additional last_id
parameter that can be used to specify the last seen issue ID value for implementing pagers.
Fixed a bug that caused Job Queue queue starvation if a job was scheduled to run in the far future (24 days and more).
Fixed a bug in the ZendHQ daemon's monitoring module that did not store custom monitoring event user data to the database. The user data provided with zend_monitor_custom_event()
and zend_monitor_custom_event_ex()
functions is now properly stored in the monitoring database.
JsonRPC session
namespace API version is now 1.10
.
JsonRPC mon
namespace API version is now 1.4
.
Monitoring database schema version is now 2.2
.
Added export
and import
commands to the zendhqctl database
module that can be used to export and import the ZendHQ database.
Added jobqueue
module to the zendhqctl
command line tool that can be used to manage Job Queue queues and jobs.
Added monitoring event severity and name filters to the zendhqctl monitoring watch
command.
Added support for PDO::connect()
and PDO
sub-classes in PHP 8.4 to the Z-Ray SQL queries handler.
ZendHQ daemon and tools now enable color output by default if the standard output is a terminal. If the standard output is not a terminal, then color output is disabled.
ZendHQ daemon and tools now support NO_COLOR
and FORCE_COLOR
environment variable that can be used to disable or force color output.
If the NO_COLOR
environment variable is present and not an empty string, then color output is disabled even if the standard output is a terminal.
If the FORCE_COLOR
environment variable is present and not an empty string, then color output is forced even if the standard output is not a terminal.
The ZendHQ daemon now has a default configuration file that is loaded if no configuration file is provided with the --config-file
command-line argument. The ZENDHQ_CONFIG_FILE
environment variable can be used change the default configuration file path.
The zendhqctl database import
and zendhqctl database migrate
commands now have the --retain-id-values
option that can be used to retain the original ID values when importing or migrating some of the tables (users, groups and job queue queues). Without this option, the ID values are re-generated.
Added the database.unix_socket
directive to the ZendHQ daemon's MariaDB/MySQL configuration file that can be used to set the path to the local UNIX socket file used to connect to the database server running on localhost.
The jq.get_job_history
JsonRPC method now supports multiple status values in the filter
parameter as a JSON array. Single status values can still be provided as a string.
Database columns that might store long strings are now defined with the MEDIUMTEXT
data type in the MariaDB/MySQL database schema. Existing databases are upgraded during the ZendHQ daemon initialization.
Improved performance of getting current process and thread ID values. The change affects mostly logging functionality.
Fixed a bug in the ZendHQ daemon that caused the daemon to lock up if a PHP node sent an invalid 0MQ message.
Fixed a database error that prevented ZendHQ daemon to modify Job Queue jobs when adding query, body or header parameters to a job that did not have them before.
Fixed a bug that caused Job Queue queue starvation if a job was scheduled to run in the past, but there was a higher priority job in the queue.
Fixed a bug that caused some string fields to be stored as binary data when using the PostgreSQL database. Added a workaround to convert binary data to text when reading data from the PostgreSQL database.
Fixed an invalid index in the Z-Ray database that slowed down the Z-Ray SQL queries handler.
Fixed a bug in the zendhqctl access group remove
command that did not remove group permissions when a group was removed causing a new group with the same ID value to inherit deleted permissions. The bug affected ZendHQ installations with the SQLite database, which resets the auto-increment counter when a row is deleted.
Packaging changes
Improved SElinux module for RHEL compatible operating systems to fix log and cache files access in web server environment.
Changed default directory permissions for log and cache files to fix PHP extension functionalities.
JsonRPC session
namespace API version is now 1.9
.
JsonRPC jq
namespace API version is now 1.1
.
Configuration database version is now 2.1
.
Z-Ray database schema version is now 2.1
.
Monitoring database schema version is now 2.1
.
Code Tracing database schema version is now 2.1
.
Job Queue database schema version is now 2.1
.
The new database manager provides a single API for all the database operations and supports additional database types like PostgreSQL and MariaDB/MySQL.
Supported database server versions are:
The type of the database is selected using the new include=
directive in the ZendHQ INI file by including the database-specific INI file.
NOTE: It is no more possible to configure the names and paths of individual SQLite database files. The database manager now uses the global database.path
directive to set the path for the database directory. Existing database_path
directives are obsolete and must be removed from the INI file.
If individual SQLite databases were configured to use different paths and names, then they MUST be renamed back to original names and moved to the configured database directory. Refer to the ZendHQ databases documentation for more information.
The ZendHQ daemon warns if it finds obsolete database_path
directives and fails to start up with an error, if databases files are configured to be in a different directory or with a different name.
database
module the zendhqctl
tool
The database
module can be used to test database configuration and migrate existing data from one database configuration to another.
The zendhqctl database test
command tests the database connection using the current configuration (the default configuration or the one provided with the --config-file
global option or the ZENDHQ_CONFIG_FILE
environment variable).
The zendhqctl database migrate
command migrates data from a previous database configuration to the current configuration (the default configuration or the one provided with the --config-file
global option or the ZENDHQ_CONFIG_FILE
environment variable).
The zendhqctl database drop
command drops all the ZendHQ tables from the currently configured database (the default configuration or the one provided with the --config-file
global option or the ZENDHQ_CONFIG_FILE
environment).
zendhq_sock
daemon extension
The zendhq_sock
daemon extension is now listening on a local UNIX socket and provides an interface for the zendhqctl tool to interact with the daemon running on the same machine.
Local UNIX socket clients are system users and have full access to the daemon.
--directive =
command-line argument to the ZendHQ daemon
The --directive =
command-line argument can be used to set or override INI file directives from the command line.
Command-line arguments are processed from the left to the right and override any INI file directives loaded with the --config-file
command-line if they come later in the command line.
All the directives are now processed before the daemon is started and sending the SIGUSR1
signal to the running ZendHQ daemon properly reloads the configuration.
The results of JsonRPC methods session.create
, session.restore
and session.id
now contain database
and version
members with ZendHQ database connection details and software version information.
zendhqd.product_description
directive to the ZendHQ daemon's configuration file
This can be used to customize the product name shown in version information. The default value is ZendHQ
.
It is now possible to include additional INI files into the main ZendHQ INI file using the include=
and directives.
The include=
version loads all the files that match the given wildcard filter and understands *
and ?
wildcards. For example, include=conf.d/*.ini
loads all the INI files from the conf.d
directory.
The include=
version loads the given file and fails if the file is not found.
The access
module no more has the -d
, --database
option and the database connection must be configured using the ZendHQ daemon's INI file. If a non-standard INI file is used, then the name of the INI file can be provided with the --config-file
global option or with the ZENDHQ_CONFIG_FILE
environment variable.
PHP 8.2 changed the way how INI file directives are parsed and the ZendHQ PHP extension started to report memory limits without taking the quantity suffix into account.
session
namespace API version is now 1.8
.20240919
.20240515
.2.0
.2.0
.2.0
.2.0
.2.0
.2.0
.