We have enhanced the mackerel-agent configtest checks, and more

Hello, This is Nishiyama (id:tukaelu), a CRE on the Mackerel team.

Here are the details of this update:

We have enhanced the mackerel-agent configtest checks.

You can check for configuration errors in advance by executing the command below from the terminal when changing the mackerel-agent configuration file for check monitoring or changing the metric plugin settings. *1

mackerel-agent configtest

Although the system previously only supported simple syntax checks, it can now check for typos and other errors before they occur.

This update's bug fixes were made by the Mackerel users. Thanks for contributing to its development! This update will prevent the mackerel-agent from failing to start due to typos when changing settings. We hope you'll take advantage of it!

We have added new metrics and options to mackerel-plugin-elasticsearch.

  • You can now skip verifying self-signed certificates by specifying the -insecure option.
  • We've added basic authentication support accessed via specifying the -user and -password options.
  • You can now suppress error output when there is a missing metric by specifying the -suppress-missing-error option.
  • We've added the following script metrics:
    • compilations
    • cache_evictions
    • compilation_limit_triggered

We've also got user contributors to thank for this update too! Thanks!

We've added more options to mackerel-plugin-mongodb.

  • We've added the -metric-key-prefix option, which allows you to monitor multiple MongoDB instances on a single host.

We've added AWS integration which was not supported by terraform provider.

The following AWS product monitoring settings are now supported when configuring AWS integration settings from terraform provider:

  • Route53
  • Amazon Connect
  • DocumentDB
  • CodeBuild

We've also improved security for the Windows version of mackerel-agent.

We've updated the version of GO (which builds mackerel-agent) to 1.19.3 to address the vulnerability issue that allowed unintended environment variables to be set for subprocesses in Windows environments.

For more information, please see the issue below:

We recommend you update mackerel-agent regularly, as version updates include security fixes such as these.

We've made accessibility improvements.

In the [new host registration screen] (, you can now select an OS and perform other accordion operations by pressing the tab key on your keyboard.

[Notice] We are changing the metric for memory in Kubernetes environments.

The specifications have changed since Kubernetes 1.24, and depending on the environment, mackerel-container-agent can no longer acquire memory usage. Because of this, we will change the destination of the value retrieved as container memory usage (container.memory.containerName.usage) from UsageBytes to WorkingSetBytes in the /summary/stats API.

The difference between UsageBytes and WorkingSetBytes is as follows:

  • UsageBytes = RSS + page Cache
  • WorkingSetBytes = UsageBytes - total_inactive_file
  • WorkingSetBytes is less than or equal to UsageBytes.

This change will take effect in the next release, mackerel-container-agent v0.8.0. Please review your monitoring settings as necessary, as the value trends may change. This change only affects Kubernetes environments (including EKS) and does not affect other container orchestration environments.

We appreciate your understanding in advance.

Mackerel Advent Calendar 2022 is now open!

It's time for our yearly Advent Calendar again! We're looking forward to your participation!

*1:The path to the command must be set in the environment variables.