Mackerel Agentのアップデートをしてみた
こんにちは、コンサル部@大阪オフィスのTodaです。
Mackerel(マカレル)はクラウド・オンプレミスなどのインスタンスを監視するサービスになります。
今回、インスタンスに導入しているエージェントのサービスが停止する事があり、対策としてエージェントソフトのアップデートが必要となり、対応方法をまとめてみました。
Mackerel(マカレル)とは?
Mackerel(マカレル)は、クラウド・オンプレミスなどの環境に対応したSaaS型のサーバー監視サービスです。
わかりやすいUIにて監視インスタンスの情報把握や、独自ルールにて設定したアラート通知になどが可能です。
マカレルの監視には インスタンスにエージェントを導入して監視する方法と各クラウド環境とインテグレーションによる連携にて監視する方法がございます。
■ Mackerel(マカレル)
アップデートの手順について
エージェントソフトをアップデートする場合は、既存エージェントのバージョン確認をおこなった後に最新バージョンへのアップデートを想定しています。
また、エージェントの設定ファイルが更新されることも想定して事前にバックアップをおこないます。
対象OSは Amazon Linux 2/2023, Windows Server 2022/2025 を想定しています。
バージョンの確認
マカレルエージェントのバージョンは、マカレル画面上から確認する事ができます。
監視対象のオーガニゼーションを選択して、ホスト詳細画面を開き「Mackerelエージェント」のバージョンを確認します。
インストールされているエージェントのバージョン確認をしたら、最新のバージョンがあるかを確認します。
下記ページの「Latest」を確認してバージョンの違いがあるかを確認します。
2025年02現在 v0.84.0 が最新の物になってます。
■ mackerel-agent - Releases
新しいバージョンがあることが把握出来た場合は、以降の操作を続けます。
設定ファイルのバックアップ
マカレルエージェント設定ファイルが更新された場合を想定して、事前に設定ファイルのバックアップをおこないます。
マカレルには監視の追加設定等は 設定ファイル、インスタンスを識別する情報は IDファイル に記載をしていますので念の為対応をおこないます。
AmazonLinux 2/2023
Amazon Linuxでは下記パスに設定ファイルが格納されています。
# 監視の設定ファイル
cat /etc/mackerel-agent/mackerel-agent.conf
# インスタンス識別用のIDファイル
cat /var/lib/mackerel-agent/id
Windows Server 2022/2025
Windows Serverでは下記パスに設定ファイルが格納されています。
ご利用の環境により下記パスの違いがあるようです。
# 監視の設定ファイル / インスタンス識別用のIDファイル
C:¥Program Files¥Mackerel¥mackerel-agent¥mackerel-agent.exe
C:¥Program Files¥Mackerel¥mackerel-agent¥id
# OR
C:¥Program Files (x86)¥Mackerel¥mackerel-agent¥mackerel-agent.exe
C:¥Program Files (x86)¥Mackerel¥mackerel-agent¥id
アラートの停止 (任意)
アップデートをする際、一時的にエージェントのサービスを停止するため死活監視のアラートが通知される可能性がございます。
通知をしないようにする場合は、事前にインスタンス監視を「Standby」か「Maintenance」モードにしてください。
■ 監視・通知を設定する
バージョンアップ
対象インスタンスにログインをおこない、エージェントのアップデートを実施します。
エージェントは1度停止をおこないアップデートをおこないます。
AmazonLinux 2/2023
# サービスの停止
sudo systemctl stop mackerel-agent
# アップデート
sudo yum update mackerel-agent
# サービスの起動
sudo systemctl stop mackerel-agent
# サービスの起動確認
sudo systemctl status mackerel-agent
Windows Server 2022/2025
当記事では PowerShell を利用してアップデートを実施しております。
操作には 管理権限での操作が必要になります。
# サービスの停止
Stop-Service -Name "mackerel-agent"
# アップデート
$msiUri = "https://mackerel.io/file/agent/msi/mackerel-agent-latest.msi"
$msiFileName = "mackerel-agent.msi"
$msiFilePath = "${env:TEMP}\${msiFileName}"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri $msiUri -OutFile $msiFilePath
$msiLogPath = "${env:TEMP}\mackerel-agent-install.log"
$params = @{
FilePath = "msiexec.exe";
ArgumentList = @("/i", $msiFilePath, '/qn', '/le', $msiLogPath, "ALLUSERS=1");
Wait = $true;
PassThru = $true;
}
$proc = Start-Process @params
Write-Output $proc.ExitCode
# サービスの起動
Start-Service -Name "mackerel-agent"
# サービスの起動確認
Get-Service -Name "mackerel-agent"
アラート停止の解除 (任意)
アップデートをする際、死活監視のアラートを停止している場合は、
インスタンス監視を「Working」モードに戻すように対応ください。
■ 監視・通知を設定する
アップデート完了の確認
マカレル画面上から監視インスタンスのエージェントバージョンを再度確認します。
死活監視などが正常で、「Mackerelエージェント」のバージョンが変更されていれば対応は完了になります。
よくあるご質問
AmazonLinux(1)について
AmazonLinuxは 2023年06月にてマカレルのサポートが終了しています。
監視は継続しておこなえますが、エージェントは v0.77.1 が最終リリースとなります。
■ Amazon Linux AMI(通称Amazon Linux 1)のサポートを終了しました
https://mackerel.io/ja/blog/entry/weekly/20230809
さいごに
今回は Mackerel Agentのアップデートについてご紹介いたしました。
少しでもお客様の参考になればと考えております。