Mackerel ブログ #mackerelio

Mackerelの公式ブログです

通知グループで「Criticalのみ通知する」ことができるようになりました ほか

こんにちは。開発チームディレクターのid:daiksyです。

夜暑いな、と思って窓を開けて寝ていると、朝方とても寒くて体調のコントロールが難しい季節ですが、皆さんはお元気でしょうか。

今週のアップデートです。

通知グループで「Criticalのみ通知する」ことができるようになりました

監視結果の通知時に、緊急性の高いCriticalアラートのみチャットに流すなど、通知レベルによって通知先を変えたい、という要望をかねてから頂いていました。

https://cdn-ak.f.st-hatena.com/images/fotolife/m/mackerelio/20170615/20170615121232.png

今週のリリースで、通知グループの設定画面に「通知レベル」という項目を追加しました。ここで Critical onlyのトグルがONになる通知グループに送られたアラートは、以下の条件の場合のみ通知されるようになり、Warningのアラートに対しては通知されなくなります。

  • Critical以上(Critical, Unknown)のエラーレベルは通知される
  • Critical以上になったことのあるアラートのOKは通知される

通知レベルを限定した通知グループを組み合わせることで、通知レベルによって柔軟に通知先を設定できるようになりました。

ヘルプもあわせてご確認ください。 mackerel.io

mackerel-agentの新リポジトリのお知らせ

新しいLinuxディストリビューション向けに、yumとaptの新パッケージリポジトリをそれぞれ公開いたしました。 詳しくは以下をご参照ください。

mackerel.io

mackerel-agent, mackerel-agent-plugins をリリースしました

以前の告知 でmackerel-agentのHTTP/2対応をお知らせしていましたが、一部のネットワーク機器構成において、mackerel-agentが安定して動作しない現象が報告されたため、一旦HTTP/2対応をrevertしたmackerel-agentをリリースしました。

その他の変更を含む詳しい内容は以下のとおりです。

  • mackerel-agent 0.43.2

    • HTTP/2 対応のrevert
  • mackerel-agent-plugins 0.28.0

    • パッケージに mackerel-plugin-solr 追加 
    • mackerel-plugin-aws-dynamodb の追加 (未パッケージング)
    • mackerel-plugin-redash の追加 (未パッケージング)

mackerel-agentのyumとaptの新パッケージリポジトリのお知らせ

この度、新しいLinuxディストリビューション向けに、yumとaptの新パッケージリポジトリをそれぞれ公開いたしました。従来のパッケージリポジトリも引き続きメンテナンスしますので、既存の環境をすぐに切り替えていただく必要はありません。それぞれの詳細なインストール方法は以下をご覧ください。

https://mackerel.io/my/instruction-agent

このエントリでは、従来のパッケージリポジトリを “v1"、新リポジトリを "v2” として説明します。

対応ディストリビューションについて

v1、v2の対応ディストリビューションは以下のとおりです。Amazon Linuxは独立したリポジトリがあるため、今回は関係ありません。

リポジトリ 対応ディストリビューション
yum v1 CentOS 6/7
yum v2 CentOS 7以降
apt v1 Debian 7/8, Ubuntu 14.04/16.04
apt v2 Debian 8以降、Ubuntu 16.04以降

v2リポジトリの特徴

v2リポジトリには以下のような特徴があります。

  • Systemd直接対応
  • プラグインパッケージの容量大幅削減
  • SHA256でのgpg署名
  • 64bit版のみ提供

Systemd直接対応

SysVinit形式の起動ファイルを廃止し、Systemdを直接サポートするようになりました。これにより、mackerel-agentがより安定して動作します。

それに伴い、ログがJournalに出力されるようになりました。mackerel-agentのログの確認は以下のコマンドでおこなえます。

sudo journalctl -u mackerel-agent.service

プラグインパッケージの容量大幅削減

ビルド方法を見直し、mackerel-agent-pluginsとmackerel-check-pluginsパッケージのファイルサイズが1/10程度になりました。現状の最新版では以下のとおりです。

パッケージ v1 v2
mackerel-agent-plugins(v0.28.0) 56.6MB 4.23MB
mackerel-check-plugins(v0.10.4) 20.5MB 2.75MB

パッケージリポジトリをv1からv2に更新する方法

すでにmackerel-agent等がインストールされている環境をv2リポジトリに切り替えたい場合は、一旦、v1リポジトリでインストールしたパッケージを削除し、v1リポジトリの設定自体も削除してから、v2リポジトリのセットアップをおこなう必要があります。

以下にそれぞれの削除手順を案内します。

削除手順を行う前に念の為、設定ファイル(/etc/mackerel-agent/mackerel-agent.conf, /etc/sysconfig/mackerel-agent, /etc/default/mackerel-agent)のバックアップを取っておくことをおすすめします。

yum v1リポジトリ削除手順

sudo yum remove -y mackerel-agent mackerel-agent-plugins mackerel-check-plugins mkr
sudo rm /etc/yum.repos.d/mackerel.repo
sudo yum clean all

この手順実行後、設定ファイルは /etc/mackerel-agent/mackerel-agent.conf.rpmsave /etc/sysconfig/mackerel-agent.rpmsave にそれぞれリネームされて保存されます。

apt v1リポジトリ削除手順

- sudo apt-get remove -y mackerel-agent mackerel-agent-plugins mackerel-check-plugins mkr
- sudo rm /etc/apt/sources.list.d/mackerel.list
- sudo apt-key del C2B48821
- sudo apt-get clean

この手順を実行しても、設定ファイルは削除されません。

v2リポジトリのインストール方法

それぞれ上記の削除作業を完了の後、mackerel-agentのインストールをおこなってください。手順は以下を参照下さい。

https://mackerel.io/my/instruction-agent

Provisioning Toolchainに関して

公式で提供している、Chefのcookbookや、AnsibleのRoleに関しては順次対応を進めてまいります。

check-log によるログ監視で AND 条件が指定しやすくなりました ほか

先週・5月31日(水)から 6月2日(金)の日程で、AWS Summit Tokyo 2017 にブース出展をおこなっていました。

f:id:mackerelio:20170609083304j:plain

三日間にわたって大変に盛況で、非常に多くのお客様におこしいただきました! Mackerel ブースに足を運んでくださった皆様、本当にありがとうございました!

それでは、今週のアップデート情報です。

check-log によるログ監視で AND 条件が指定しやすくなりました

go-check-plugins v0.10.4 がリリースされ、check-log プラグインを用いてのログ監視で AND 条件が指定しやすくなりました。

--pattern オプションを複数指定することができるようになり、その場合には AND 条件(指定された全てのパターンを満たすログ出力行のみ検出)として扱われるようになりました。

以下の設定例は、 “PRODUCTION” と “FATAL” という2つの文字列が含まれるログ出力行が出現した場合にアラートを発生させる場合のものです。

[plugin.checks.access_log]
command = "check-log --file /var/log/access.log --pattern PRODUCTION --pattern FATAL"

以下のヘルプにも記載していますので、合わせて確認してください。

mackerel.io

AWS インテグレーションにより連携された ELB のメトリック仕様を変更しました

みなさんもご存知かと思いますが、Mackerel の AWS インテグレーション機能は、Amazon CloudWatch の API を利用することで実現しています。

AWS の ELB(CLB / ALB)の、HTTPステータス毎のレスポンス数に関するメトリック (例: HTTP Code ELB Count) を CloudWatch API で取得すると、4xx や 5xx などのレスポンスが一件も発生していない時刻ではメトリック点そのものが存在しないレスポンスが得られます。

Mackerel の AWSインテグレーションも CloudWatch API のレスポンスに従っていたのですが、メトリック点が存在しないと監視が始まらないという Mackerel の仕様と相性が悪く、複数のお客様からお問い合わせを頂いておりました。この度のリリースより、ELB のHTTPステータス毎のレスポンス数に関するメトリックについては、メトリック点がない場合は 0 として登録するようになりました。

f:id:mackerelio:20170609085738p:plain

これにより、グラフをより直感的に確認してもらえるようになったほか、過去に一度も 4xx や 5xx のレスポンスが発生していなかった場合には監視対象メトリックとして選択することができなかった問題も解消されました。

mackerel-agent-plugins などをアップデートしました

上記の go-check-plugins に加え、以下のものもアップデートを実施しています。

mackerel-agent-plugins v0.27.2

  • AWS Kinesis Firehose を追加しました
  • [mackerel-plugin-php-opcache] 微調整を実施しました
  • [aws-rds] 微調整を実施しました
  • Go 1.8 でビルドをおこなうようにしました

mkr v0.10.4

  • 微調整を実施しました

Pull Request をくださった皆様、コントリビュートありがとうございました!

AWSインテグレーションによる Lambda function の連携対象をタグで絞りこめるようになりました

こんにちは。Mackerel セールスエンジニアの id:a-know です。

現在 Mackerel は、AWS Summit Tokyo 2017 にブース出展をしている真っ只中です! 本日は最終日となりますが、既にこの二日間で大変多くの方々に来訪いただいています。誠にありがとうございます!

会期も残すところ数時間ですが、最後の最後まで一人でも多くの方に Mackerel をご紹介したいと思います!

それでは、今週のアップデート内容です。

AWSインテグレーションによる Lambda function の連携対象をタグで絞りこめるようになりました

先日、AWS Lambda にもタグがサポートされたことはみなさんの記憶にも新しいかと思いますが、このたび Mackerel でも、AWSインテグレーションによる Lambda function の連携対象をタグで絞りこめるようになりました。

f:id:mackerelio:20170530164050p:plain

AWSインテグレーションでの Lambda function 連携の詳細については、以下のヘルプも参照してください。

mackerel.io

カスタマーサクセスイベントに Mackerel のサポート担当が登壇します

イベント開催直前での案内になってしまうのですが、6月5日(月)に株式会社グッドパッチ様で開催される「カスタマーサクセスナイト vol.3」に、Mackerel のカスタマーサポート担当でもある私・井上が登壇します。

csnight.connpass.com

今回のイベントの主旨は、「エンジニア向け SaaS のカスタマーサクセス」がテーマとなっています。私は肩書こそ「セールスエンジニア」ですが、「Mackerel の利用を通じていかに日々のサーバー運用業務を効率化していただくことができるか」ということは常に考えながらお客様とのやりとりをしています。その考え方はカスタマーサクセスにも通じるものがあると考えており、それについて部分的にでもこの場でお話できればと考えています。興味がおありの方はぜひご参加いただけたらと思います。

APIキーが使用されていない期間を表示するようにしました

今日、私のいる東京は雨模様です。最近雨の日が増えたような気がして、「梅雨入りしたのかな?」などと思ったのですが、それはまだ沖縄の方だけのようですね。ちょっと気がはやってしまいました。

それでは、今週のアップデート情報です。

APIキーが使用されていない期間を表示するようにしました

Mackerel では、デフォルトの APIキーに加えて、追加で APIキーを作成することができます。 読み取り専用のキーも発行できるのでとても便利なのですが、実はもう使われていないキーが残ってしまったり、継続的に使われているキーを誤って削除してしまわないか心配、というケースもあるかと思います。

今週のアップデートで、各 APIキーごとに、そのキーが使用されていない期間を表示するようにしました。

f:id:mackerelio:20170526090837p:plain

APIキー文字列の下に表示されます。使用されていない期間が二日以内の場合は表示されません。

APIキーの管理に、ぜひ活用してみてください。

【再告知】AWS Summit Tokyo 2017 にブース出展します

先週もお知らせしましたが、来週から開催される AWS Summit Tokyo 2017 にブース出展を行います。

AWS Summit Tokyo 2017 |AWS

出展期間は 5月31日(水)~ 6月2日(金)です。セールスエンジニアを始めとしたセールスメンバーに加え、Mackerel を開発しているアプリケーションエンジニアもその場でみなさんをお出迎えします。

多くの方に来ていただけたら嬉しいです!

招待 API をリリースしました・チェック監視で自動復旧しないアラートを作れるようになりました ほか

こんにちは。Mackerel セールスエンジニアの id:a-know です。

先日衣替えをしたのですが、特に朝や夜はまだまだ長袖が手放せない気温ですね。でも、今がちょうど過ごしやすい時期なのかもしれません。

それでは、今週のアップデート情報です。

招待 API をリリースしました

オーガニゼーションへの他のユーザーアカウントの招待を、APIでおこなえるようになりました。

mackerel.io

メールアドレスと権限を指定しリクエストすることで、オーガニゼーションへの招待を作成することが可能です。

大勢の新メンバーを向かい入れる場合や、入社フローに組み込んで自動化を推進する場合などにご利用ください。

チェック監視で自動復旧しないアラートを作れるようになりました

mackerel-agent.conf に prevent_alert_auto_close オプションを指定することで、そのチェック監視によりオープンされたアラートが自動close(復旧)されないようになります。

以下に設定例を示します。

[plugin.checks.log]
command = "check-log --file=/path/to/file --pattern=CRITICAL"
prevent_alert_auto_close = true

このオプションを指定したチェック監視により作られたアラートは、自動close(復旧)されなくなります。

例えばログ監視など、問題とする文字列が検出されなくなった場合でも、アラートをオープンにさせたままにすることができます。監視の対象や種類に応じて、使い分けていただければと思います。

このオプションは、 max_check_attempts と併用した場合、 max_check_attempts は常に 1 として扱われます のでご注意下さい。

Mackerel でのチェック監視については、以下のヘルプページも参照して下さい。

mackerel.io

【予告】URL外形監視のレスポンスチェックの挙動を変更します

先日もこちらのブログでお知らせしておりましたが、現在の Mackerel のURL外形監視機能では、レスポンスが3xx系だった場合のレスポンスボディのチェックは実施しておりません。

mackerel.io

このレスポンスボディのチェックを行うようにする仕様変更を、来週中に実施します。

3xx系のリダイレクトレスポンスが返される URL に対して、「レスポンスボディのチェック」を設定した状態での外形監視を行っている場合は、上記仕様変更後はアラートが上がることが予想されますため、早急に見直しを実施していただくよう、お願いします。

AWS Summit Tokyo 2017 にブース出展します

再来週から開催される AWS Summit Tokyo 2017 に、Mackerel もブース出展を行います。

AWS Summit Tokyo 2017 |AWS

5月31日(水)~ 6月2日(金)の日程で出展を行い、その場にはセールスメンバーに加えてエンジニアも帯同を予定しています。

Mackerel の技術的な話を聞いてみたい!という方も、ぜひ会場にお越し下さい!

ユーザー権限が新しくなりました・いくつかのOSサポート終了のお知らせ ほか

GW明けの最初の1週間が終わろうとしていますね。

Mackerel開発チームも、GWでリフレッシュしつつ日々の機能開発を続けています。
今週は少し大きな変更をリリースすることができました。

今週のアップデートです。

ユーザー権限が新しくなりました

下記のエントリで告知していました、新しいユーザー権限をリリースしました。

mackerel.io

これまで「管理者」「編集者」「閲覧者」であったユーザー権限が、「オーナー」「管理者」「一般ユーザー」「閲覧者」の4種類に変更となります。

サービスやロール、監視設定などは変更できるが、オーガニゼーション全般に関わる操作は抑止されている「一般ユーザー」が新しく追加される権限となります。

それぞれの権限の考え方や従来との差分については、詳しくは上記告知エントリおよび、下記のヘルプをご参照ください。

mackerel.io

いくつかのOSサポートを終了します

以前、下記エントリで予告していましたが、以下のOSのサポートを終了しました。

mackerel.io

  • CentOS5
  • Debian6
  • Ubuntu12.04

サポートを停止しても、急にmackerel-agentが動かなくなったり、サーバーの監視が停止することなどはありません。また、パッケージリポジトリなどを削除する予定は今のところありません。ただ、今後のアップデートにおいて、mackerel-agentの動作保証ができなくなります。

今後も、各OSのサポート終了日にあわせて、Mackerelでもサポートを終了していく予定です。Mackerelおよびmackerel-agentの対応環境に関しては以下のページを参照下さい。

mackerel.io

mkr にservices サブコマンドを追加

mkr 0.16.0をリリースしました。

mkrのサブコマンドに services が追加され、サービス情報を取得できるようになりました。

$ mkr services
[
    {
        "name": "sample service",
        "roles": [
            "sample-role"
        ]
    },
    {
        "name": "mackerelio"
    },
    {
        "name": "personal-server",
        "roles": [
            "App",
            "DB"
        ]
    }
]

具体的な利用例などは、先日のミートアップのLTで発表された資料をご覧ください。

mackerel-agent, mackerel-agent-pluginsなどのその他の更新は下記のとおりです。

  • mackerel-agent 0.43.0
    • Windows版のIOPS値でアクセス数ではなく転送量を取得していた問題の修正
    • HTTP/2 対応
  • mackerel-agent-plugins 0.27.1
    • 軽微な修正
  • mkr 0.16.0
    • services サブコマンドの追加