Unreleased.
!!! warning
temBoard UI 8.0 is compatible with temBoard agent 7.11 to ease migration.
Upgrade UI first and then upgrade agents one at a time.
temBoard agent 8 is **NOT** compatible with temBoard UI 7.11.
This release requires specific upgrade instructions.
See [Server Upgrade](server_upgrade.md) and [Agent Upgrade](agent_upgrade.md) for details.
Breaking changes
- temBoard UI dropped support for Internet Explorer 8. You may have issues with browsers older than 5 years.
- Dropped support for PostgreSQL 9.5 and 9.4. For both UI and agent.
- Dropped key-only authentication on agent. Access to UI grants full access on managed agent.
- New CLI for both UI and agent.
temboard
andtemboard-agent
are the single CLI entrypoints.- Removed
temboard --debug
CLI option. - Dropped commands
temboard-agent-adduser
andtemboard-agent-password
. - Commands
temboard-migratedb
,temboard-agent-register
are moved as subcommands oftemboard
andtemboard-agent
.
- Removed
- temBoard UI dropped push-metrics handler from pre-6.0 push metric collect.
- temBoard UI RPM does not execute
auto_configure.sh
upon installation. - temBoard UI RPM does not create
temboard
UNIX user. Use auto_configure.sh instead. - temBoard Agent RPM does not create
postgres
UNIX user. Use PostgreSQL packages instead. - Packages does not provide logrotate configuration anymore. temBoard can still log to file.
- pg_ctl agent parameter must not be quoted now, in temboard-agent.conf.
- Agent auto_configure.sh now requires a parameter: the UI url.
- temBoard agent does not provide legacy single-installation systemd unit file
temboard-agent.service
in favor of[email protected]
. - temBoard agent debian package does not provide legacy
temboard-agent.init
SysV script. Use sytemd instead. - temBoard agent auto_configure.sh now generates a single configuration file
instead of
temboard-agent.conf.d/auto.conf
. - temBoard agent auto_configure.sh does not configure file logging anymore.
- Dropped temBoard agent HTTP endpoint
/monitoring/probe/*
, some/dashboard/
probes and more. Usetemboard routes
andtemboard-agent routes
to inspect availables HTTP URLs. - Docker image for agent now configures agent with
auto_configure.sh
. temBoard agent configuration moved from/etc/temboard-agent
to/etc/temboard-agent/<cluster_name>
.
Deprecation
- Running temBoard UI with Python 2.7 and Python 3.5 is deprecated. All RPM and deb packages ships with Python 3.
- Debian stretch support is deprecated (EOL June 2022).
New Features
- PostgreSQL 15 support.
- Unified authentication. Signing in UI open full DBA access to agents, without double login.
- Register instance without querying UI API using
temboard register-instance
. - Download instance inventory as CSV.
- Automatically refresh introspection data from agent.
- New About temBoard page with detailed installation's informations.
- New About instance page with PostgreSQL, system and agent informations.
- OpenMetrics endpoint. Accessible using temBoard UI as authenticating proxy to agent.
- RHEL9, Debian Bookworm (testing) packages.
- Increase agent OOM score with systemd.
- Restyled documentation with improved search and navigation.
Changes
- Each temBoard release has it's own docker tag. e.g. dalibo/temboard:8.0, dalibo/temboard:8.0rc1, etc. See Docker Hub repositories dalibo/temboard and dalibo/temboard-agent.
- Streamlined docker images, basing on Debian Bullseye, with temBoard installed with APT instead of pip.
- Restart scheduler and worker pool background processes on crash.
- Improved error logging. Log format is now Postgres-like.
UI changes
- Sign agent requests with an asymetric cryptographic key. New agent does not require double authentification anymore.
- New command
temboard generate-key
for generating signing key. - New database migration engine. Dropped dependency on Alembic, Mako, etc.
- Move
temboard-migratedb
astemboard migratedb
subcommand. - New command
temboard tasks flush
to flush old tasks when upgrading. - Fast collect of monitoring and statements metrics upon agent registration.
- Format PostgreSQL start time in dashboard as relative date.
- temBoard UI waits for locks in monitoring collect. Abort long collect
task. New parameter
[monitoring] collect_max_duration
. - temBoard UI now has API key authorization, use for /metrics proxy to agent.
- New temBoard UI parameter
[auth] allowed_ip
to restrict API Key authorization. By default, only 127/8 is allowed. - Improved refresh error handling in dashboard, activity and home page. Error are now inlined instead of modal.
- temBoard UI now accept to serve plain HTTP. For development purpose.
- New commands
temboard query-agent
,temboard routes
,temboard tasks run
,temboard tasks schedule
andtemboard web
for debugging. - Handle SIGCHLD in temboard UI too. No more zombies.
- Limit activity view to 300 longest queries.
Agent changes
- Unified authentification: agent now uses UI as source of identity.
- Dropped
users
file and related configuration. - New command
temboard-agent fetch-key
to accept UI signing key. - New option:
[temboard] ui_url
, pointing to UI URL. - auto_configure.sh conditionnaly enable statements plugins.
- Move
temboard-agent-register
astemboard-agent register
subcommand. - New command
temboard-agent discover
to introspect temBoard agent, system and PostgreSQL. - Refresh discover data on startup and Postgres connection recovery.
- temBoard agent pools connections to PostgreSQL used by web API, reducing connections stress on PostgreSQL.
- Heavily reduction of connection opened by dashboard.
- Drop agent configuration
postgresql:instance
in favor of Postgres settingcluster_name
. - Add new unified sessions and detailed locks endpoint.
- temBoard agent now depends on cryptography and bottle.
- New subcommands
temboard-agent routes
,temboard-agent tasks run
andtemboard-agent web
for debugging. - Monitoring purge_after default value is now set to 730 (2 years), it was empty before (no limit).
Released on 2022-05-23
- Fix heap bloat probe.
- Fix statements not purged.
- Collect metrics by agent batch. Huge performance boost.
- Log HTTP request response time.
- Check agent key on registration.
- docker: New tag
7
for stable branch. - docker: Reduce image size using multi-stage build.
Agent:
- docker: Fix build.
- docker: Properly stop container on failure.
Released on 2022-02-22
- Fix performances issues with monitoring.
- Show runtime libpq version in logs and --version.
- Authenticate with agent using both header and query arg. 8.0 will remove query arg auth.
- Packages for bullseye for both UI and agent.
- Drop jessie package.
- Always set application_name.
Server:
- Fix database ownership on creation.
- Fix first collector run failure on new agent.
- Fix tracebacks when an agent is down.
- Fix 'null' instance comment with auto register.
- Ship a /usr/share/temboard/sql/reassign.sql script to fix ownership.
- Define a shell to temboard UNIX user.
- Review defaults temBoard user groups.
- Optionnal performance tracing in temBoard UI logs.
- Moving to Python3 on stretch, buster and bullseye.
- Drop another tooltip breaking dropdown menu.
- Monitoring: Time SQL queries for archive and aggregation.
systemctl reload temboard
now reload temBoard configuration.
Agent:
- Fix database probes always executed on same database.
- Reduce reconnexion in monitoring probes.
- Explicitily requires psycopg2 2.7+ on debian.
- Ignore loopback and tmpfs file systems.
- Drop Python2 support
- Build RHEL8 package with RockyLinux 8.
Released on 2022-01-03
- Support PostgreSQL 14.
- Fix deadlock in monitoring.
- Fix UI glitches.
- Restructured documentation.
- Improved logging messages.
- Dropped Debian Jessie support.
- agent: Monitor only local filesystem size.
- agent: Set umask 027 in auto_configure.sh.
- agent: Details components version in
temboard-agent --version
output. - agent: Fix sysv init script shipped on systemd by debian package.
Released on 2021-02-10
- Fix wrong column name in SQL for chartdata for rollback transactions (monitoring) @pgiraud
Released on 2021-01-12
- Return valid JSON if no result is returned by postgres (monitoring) @pgiraud
Released on 2020-12-15
Released on 2020-10-15
- Commit after alert processing @bersace
Released on 2020-09-29
Fixed
Released on 2020-09-29
Fixed
- Fixed bug in wheel generation @pgiraud.
Released on 2020-09-28
Added
Changed
- Improved performance of the home page (instances list), by @pgiraud.
- Activity filters are kept, by @pgiraud.
- Better support for history navigation in monitoring, by @pgiraud.
- Don't highlight short idle_in_transaction queries, by @pgiraud.
- Added comment field for instance settings, by @pgiraud.
- Allow users to choose the refresh interval (whenever a date range picker is used), by @pgiraud.
- Agent: support for RHEL/CentOS 6 has been dropped.
- Agent: support for RHEL/CentOS 8 has been added.
Fixed
- Agent scripts now use the Python interpreter of their installation, not the first found in env, by @bersace.
Released on 2020-08-07
Changed
- Alembic version table is now hosted in
application
schema, by @bersace.
Fixed
- Always using TLS even if set to False, by @bersace.
- SMTP port misinterpreted, by @bersace.
- Authenticate with empty login or password, by @bersace.
- Double error with unserializable error in worker, by @bersace.
- Test PG access by temboard role after repo creation, by @l00ptr
Released on 2020-06-15
Fixed compatibility with old Alembic 0.8.3 shipped on RHEL7, by @bersace.
Released on 2020-06-15
This release requires a special step before restarting temBoard. Please read upgrade to 6.0 documentation.
Added
- Full PostgreSQL 12 support, including monitoring and configuration, by @pgiraud.
- Search config
temboard.conf
default config file in working directory by @bersace. - temBoard repository schema is now versionned, by @bersace.
- Load external plugins from setuptools entrypoint
temboard.plugins
, by @orgrim. - Debian Buster testing & packaging, by @bersace.
- Agent:
purge.sh
script to clean an agent installation, by @bersace.
Fixed
- Double loading of legacy plugins, by @bersace.
- Impossibility to delete instance with SQLAlchemy < 1, by @pgiraud.
- Impossibility to schedule ANALYZE, VACCUM or REINDEX, by @bersace.
- Fix list of scheduled tasks in maintenance plugin, by @pgiraud.
Changed
- Default configuration file is not required, by @bersace.
- Log error message when alert processing fails, by @bersace.
- Agent:
auto_configure.sh
refuses to overwrite existing configuration, by @bersace.
Released on 2020-04-16
Added
- Purge policy for monitoring data by @julmon
- Pull mode: temboard server can now pull monitoring data from the agents by @julmon
Removed
- Agent does not support push mode anymore @julmon
Fixed
- Performances improvements of asynchronous task management by @julmon
Released on 2019-06-26
Added
- Support for reindex on table and database by @pgiraud
- Support for analyze/vacuum for database by @pgiraud
- Send notifications by SMS or email on state changes by @pgiraud
Changed
- Allow to use either psycopg2 or psycopg2-binary by @bersace
- Monitoring shareable urls by @pgiraud
- Use
pg_version_summary
when possible by @pgiraud - Database schema, please see the upgrade documentation
Removed
- Removed user notifications from dashboard by @pgiraud
Fixed
- Prevent endless chart height increase on Chrome 75 by @pgiraud
- Restrict access to instance to authorized users by @julmon
- Remove monitoring data when removing an instance by @pgiraud
- Move
metric_cpu_record.time
toBIGINT
by @julmon
Released on 2019-03-20
Added
- Full screen mode for home page by @pgiraud
- Full screen mode for dashboard by @pgiraud
- Limit double authentication to not read only APIs by @pgiraud
- Maintenance plugin by @pgiraud
- Collapsible sidebar by @pgiraud
- New monitoring probes: replication lag and connection, temporary files by @julmon
- UI functional tests by @bersace
- Support Tornado 4.4 and 5 by @bersace
- Add auto configuration script by @bersace
- Show number of waiting/blocking req in activity tabs by @pgiraud
- Show availability status on home page by @pgiraud
Changed
- Dashboard like home page by @pgiraud
- Improve activity views by @pgiraud
- Review web framework by @bersace
- Review debian packaging by @bersace
Removed
pg_hba.conf
andpg_ident.conf
edition removed frompgconf
plugin by @pgiraud
Fixed