Skip to content

shu-i-chi/mackerel-agent-conf-scaffold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

------------------------------↓↓↓------------------------------

初めてのセットアップ手順」が完了したら、この部分は削除してください。

mackerel-agent-conf-scaffold

Mackerel Agentの設定ファイルmackerel-agent.confをGit管理するGitリポジトリの雛形です。

初めてのセットアップ手順

setup.shを実行することで、このリポジトリの中身を/etc/mackerel-agent配下に移し、

  • 各種ファイル・ディレクトリの配置
    • mackerel-agent.conf
    • カスタムメトリクス用プラグイン(/etc/mackerel-agent/custom_metrics_plugins配下)
    • チェックプラグイン(/etc/mackerel-agent/check_plugins配下)
  • /etc/mackerel-agentディレクトリのGitリポジトリ化

を同時に行います。

また、/etc/mackerel-agentディレクトリを直接Gitリポジトリとして管理する都合上、

  • /etc/mackerel-agentディレクトリの所有ユーザの変更(setup.shを実行したユーザに)

も行われます。

前提条件

Mackerel Agentをインストールして使うホストが、以下を満たしている必要があります:

  • gitをインストール済み
  • /etc/mackerel-agentディレクトリを作成済み
  • /etc/mackerel-agentディレクトリがGitリポジトリになっていない(.gitディレクトリが存在しない
  • /etc/mackerel-agentディレクトリ配下に、以下を置いていない
    • ファイル:
      • mackerel-agent.conf
      • setup.sh
      • README.md
      • LICENSE
    • ディレクトリ:
      • custom_metrics_plugins(カスタムメトリクス用のプラグイン置き場)
      • check_plugins(チェックプラグイン置き場)

これらの条件を満たしていない場合、setup.shは処理を中止します。

Important

Mackerel Agentをインストールした直後では、サンプルの/etc/mackerel-agent/mackerel-agent.confが存在しています。

この状態でsetup.shを実行しても、事故防止のためにストップするようになっていますので、このmackerel-agent.confは別ディレクトリに退避するなどした上で、setup.shを実行してください。

セットアップ

Important

以下の操作は、/etc/mackerel-agent配下のGit管理を実行するユーザで行ってください。

このGitリポジトリを、Mackerel Agentホスト上の任意の場所にgit cloneします:

git clone https://github.com/shu-i-chi/mackerel-agent-conf-scaffold.git mackerel-agent-conf

git cloneしてきたリポジトリ内のsetup.shを実行します:

./mackerel-agent-conf/setup.sh

前提条件が満たされていない場合、エラー表示が出ます。 対応の後、もう一度setup.shを実行し直してください。

🎉Mission accomplished!が表示されたら完了です。

git cloneしてできたディレクトリは、不要なので削除されています。 また、/etc/mackerel-agentディレクトリの所有ユーザが、本項の操作を行ったユーザに変更され、Git操作ができるようになっています。

自分のリモートGitリポジトリをgit push先として登録する

/etc/mackerel-agentディレクトリに移動します:

cd /etc/mackerel-agent

このディレクトリは、手順セットアップにてGitリポジトリになっています。

git pushの宛先を、自分の(空の)リモートGitリポジトリに変更します:

git remote set-url origin <your-remote-git-repository-url>

設定変更が成功しているかどうかを確認するには、git remote -vをしてください。

git remote -v

Warning

mackerel-agent.confにはAPIキーを直接記述するため、 リモートGitリポジトリの公開範囲には細心の注意を払ってください

このREADME.mdを編集する

このREADME.mdのこの部分を削除してください。 また、他の部分も自分の用途に合うように修正してください。

修正が完了したら、変更をコミットしてください。 (更新フローの1-3も参考にしてください。その場合は、ファイル名を「README.md」で読み替えてください。)

自分のリモートGitリポジトリにgit pushする

一連の変更作業が完了したら、自分のリモートGitリポジトリにgit pushしましょう。

git push前に、念のため、push先のリポジトリに間違いがないかどうかを確認してください:

git remote -v

問題なければ、git pushします:

git push

自分のリモートGitリポジトリに、このリポジトリが登録されているかどうかを確認してください。

Note

初めてのセットアップ手順」が完了したら、この部分は削除してください。

------------------------------↑↑↑------------------------------

mackerel-agent-conf

Mackerel Agentの設定ファイルmackerel-agent.confをGit管理するGitリポジトリです。

Mackerel Agentホスト上に簡単にセットアップするためのスクリプトsetup.shも用意しています。

Note

以下、mackerel-agent.confの設置ディレクトリを /etc/mackerel-agent と仮定しています。 もしこれと異なる場合は、パスを読み替えてください。また、setup.shの以下の行を変更してくだい:

mackerel_agent_conf_dir="/etc/mackerel-agent"

目次

セットアップ方法

setup.shを実行することで、このリポジトリの中身を/etc/mackerel-agent配下に移し、

  • 各種ファイル・ディレクトリの配置
    • mackerel-agent.conf
    • カスタムメトリクス用プラグイン(/etc/mackerel-agent/custom_metrics_plugins配下)
    • チェックプラグイン(/etc/mackerel-agent/check_plugins配下)
  • /etc/mackerel-agentディレクトリのGitリポジトリ化

を同時に行います。

また、/etc/mackerel-agentディレクトリを直接Gitリポジトリとして管理する都合上、

  • /etc/mackerel-agentディレクトリの所有ユーザの変更(setup.shを実行したユーザに)

も行われます。

0. 前提条件

Mackerel Agentをインストールして使うホストが、以下を満たしている必要があります:

  • gitをインストール済み
  • /etc/mackerel-agentディレクトリを作成済み
  • /etc/mackerel-agentディレクトリがGitリポジトリになっていない(.gitディレクトリが存在しない
  • /etc/mackerel-agentディレクトリ配下に、以下を置いていない
    • ファイル:
      • mackerel-agent.conf
      • setup.sh
      • README.md
      • LICENSE
    • ディレクトリ:
      • custom_metrics_plugins(カスタムメトリクス用のプラグイン置き場)
      • check_plugins(チェックプラグイン置き場)

これらの条件を満たしていない場合、setup.shは処理を中止します。

Important

Mackerel Agentをインストールした直後では、サンプルの/etc/mackerel-agent/mackerel-agent.confが存在しています。

この状態でsetup.shを実行しても、事故防止のためにストップするようになっていますので、このmackerel-agent.confは別ディレクトリに退避するなどした上で、setup.shを実行してください。

1. セットアップ

Important

以下の操作は、/etc/mackerel-agent配下のGit管理を実行するユーザで行ってください。

このGitリポジトリを、Mackerel Agentホスト上の任意の場所にgit cloneします:

git clone <your-remote-git-repository-url> mackerel-agent-conf

git cloneしてきたリポジトリ内のsetup.shを実行します:

./mackerel-agent-conf/setup.sh

0. 前提条件が満たされていない場合、エラー表示が出ます。 対応の後、もう一度setup.shを実行し直してください。

🎉Mission accomplished!が表示されたら完了です。

git cloneしてできたディレクトリは、不要なので削除されています。 また、/etc/mackerel-agentディレクトリの所有ユーザが、本項の操作を行ったユーザに変更され、Git操作ができるようになっています。

更新フロー

Note

セットアップ方法の手順が完了しているものとします。

通常のGitのフローと同じです。 以下では、mackerel-agent.confファイルを編集した場合を例に、操作の流れを説明します。

  1. /etc/mackerel-agentディレクトリに移動する
cd /etc/mackerel-agent
  1. /etc/mackerel-agent/mackerel-agent.confファイルを直接編集する

  2. 変更した /etc/mackerel-agent/mackerel-agent.confファイルをgit addgit commitする

    git status # 変更のあるファイルを確認
    git diff mackerel-agent.conf # 変更点を確認
    git add mackerel-agent.conf
    
    git status # git addできているか確認
    git commit -m "ホストxxxへの監視を追加"
    
    git status # 未コミットのファイルがないかどうかを確認
    git log --oneline --graph # コミット履歴を確認
  3. リモートGitリポジトリにgit pushする

    git push

リモートGitリポジトリの最新の状態を反映する

Note

セットアップ方法の手順が完了しているものとします。

自分の既存のリモートGitリポジトリの内容を反映させる手順です。

/etc/mackerel-agentディレクトリに移動します:

cd /etc/mackerel-agent

mainブランチに変更します:

git checkout main

git pullします:

git pull

Warning

コミットしていない変更や、ファイル変更のコンフリクトがある場合は、当然git pullに失敗します。 原因を解消してから、再度git pullしてください。

Git管理するファイル・ディレクトリを増やすとき

新しいファイルをコミットしてGit管理するファイル・ディレクトリを増やす場合は、setup.shの以下の行も編集してください:

  • ファイル:

    copied_files=("mackerel-agent.conf" "setup.sh" "README.md" "LICENSE")
  • ディレクトリ:

    copied_dirs=("custom_metrics_plugins" "check_plugins")

新しいファイル・ディレクトリ名をダブルクォート"で囲み、半角スペース 区切りで追加します。

例(ファイルnew-file-1とnew-file-2を追加):

copied_files=("mackerel-agent.conf" "setup.sh" "README.md" "LICENSE" "new-file-1" "new-file-2")

また、このREADME.mdの0. 前提条件の部分にも、ファイル名を忘れずに追記してください。

Mackerelリンク

このリポジトリについて

このリポジトリは、雛形https://github.com/shu-i-chi/mackerel-agent-conf-scaffoldを元に作成しています。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages