Mackerelプラグインを使ってApacheのメトリックを取得する

はじめに

社内wikiに2017/08/19に書いたものを移植したものです。

対応

基本はmackerel-plugin-apache2を参考に進めていきます。

## Apache Apacheは通常通りインストールし、httpd.confに下記の設定を行っていきます。

Listen 1080
ExtendedStatus On
<VirtualHost 127.0.0.1:1080>
    <Location /server-status>
        SetHandler server-status
    </Location>
</VirtualHost>

公式プラグイン集をインストール

個別にプラグインを落として来てビルドすることもできますが、今回は他のプラグインを試すためプラグイン集をまとめて取得します。

yum install -y mackerel-agent-plugins

プラグインの設定

落としてきたプラグインを読み込ませるために、Mackerelの設定ファイル(mackerel-agent.conf)を編集します。

[plugin.metrics.apache2]
command = "/usr/local/bin/mackerel-plugin-apache2 -p 1080"
type = "metric"

設定が完了しましたら、Mackerelを再起動します。

sudo service mackerel-agent restart

apacheのカスタムメトリクス
apacheのカスタムメトリクス

躓いたところ

メモ程度に躓いたところと解決策を記載します。

  • 公式ドキュメントではGo言語でビルドすることを想定しており、Go言語の知識がないため苦戦した
    • yumプラグイン集を一気にインストールできたのでそっちに切り替えた
  • メトリックを設定したが更新されず、ログをみると404となっていた
    • conf で設定する際にポート番号を忘れていた
  • メトリックを設定したが、ApacheのカスタムメトリックがMackerelに一向に出てこなかった
    • Apacheの設定でListenの記載が漏れていた

参考資料

公式ドキュメント
mackerel-plugin-apache2

Mackerelのapache2プラグインを使いカスタムメトリクスを投稿する
http://qiita.com/tyn-iMarket/items/746bcd91242e45a66d36