mackerel

Mix stacked graph and line graph with Mackerel

Mackerelで積み上げと線グラフを混在させることがUIからできるようになりました! エージェントインストール手順ページを刷新しました ほか - Mackerel ブログ #mackerelio カスタムメトリックとサービスメトリックが対象のようです。システムメトリック(mackerel-agentインストール時にデフォルトで取られるグラフ)ではUIから設定できませんでした。 やってみる こんな感じ。簡単! システムメトリックでも積み上げグラフ・線グラフを混在させる方法 さて、公式ブログでは「UI上で設定できるようになりました。」と、ちょっと含みのある表現がされていましたが、これは式によるカスタムグラフでは以前から可能だったからと思われます。 カスタマイズしたグラフを表示する - Mackerel ヘルプ システムメトリックで積み上げグラフ・線グラフを混在させたい場合はカスタムグラフを使えばOKです。stack(metrics)を使うことでこんな感じに混在させられます。 group(alias(

mackerel

Post GCP Billing data to Mackerel with Node.js

Node.jsのBigQueryライブラリを使ってGCPのBillingを取得してみました。 Get GCP Billing with Node.js 次はこのBillingの情報をMackerelにサービスメトリックとして送ってみます。 Mackerel側のインターフェースの確認 サービスメトリックは以下のデータ形式で送れば良いみたいです。 [ <metricValue>, <metricValue>, … ] 詳細はこちら。 サービスメトリック - Mackerel API ドキュメント (v0) つまり、今回の場合は以下のようなデータを送れば良いみたいです。 [ {name: "gcp.monthly_cost", time:

mackerel

Mackerel Meetup #10 Tokyo #mackerelio

行ってきた! Mackerel Meetup #10 Tokyo #mackerelio - connpass Microsoft Azure Integration と Windowsサポートの強化について いつも通りmackerelの紹介から。機能が増えてきたので紹介内容も多くなってきた! Microsoft Azure Integration と Windowsサポートの強化について。 azureの利用が拡大しているらしい 今後すぐazureインテグレーション追加される azure monitor apiカラメトリックを取得している windowsサポートの強化 インストールが簡単に 主要なプラグインのインストーラーを同梱 メモ帳でも設定変更できるようになったw 次世代mackerelについて。 夏過ぎくらいには出るぽい...! Mackerel + Azureで支えるエムティーアイのヘルスケアプラットフォーム

mackerel

Annotate provider maintenance time with Mackerel

このブログはDigitalOceanが提供しているVPS上で動いています。 digitalocean - ゆるふわキャンパー DigitalOceanはもちろん、AWSやさくらVPSなどの物理リソースを提供しているプロバイダでは、プロバイダの都合によってメンテナンスが発生する場合があります。例えばネットワーク機器の差し替えや古くなった物理サーバの入れ替えなどによるものです。 このようなプロバイダ側で予測が可能で、サービスの可用性に影響する類のメンテナンスについては、まず何らかの形(メールや公式サイトなど)で告知が行われます。 DigitalOceanのシンガポールリージョンでネットワーク機器のメンテナンスのため 2017/04/25 05:00 ~ 07:00(JST) の間でネットワークが不安定になる場合があるとのこと ?— †殲滅の修道者† (@lorentzca) 2017年4月19日 ふと思いついて↑のメンテナンス期間をMackerelのグラフアノテーションに入れてみました。 はたしてグラフアノテーションは未来の日付に対して有効なのでしょうか…。 Web管理画面からは日付をマニュアルで入力することはできなかったので、mkrコマンドでやってみます。以下のコマンドを実行。

mkr

Get mackerel graph annotation list with mkr

mackerelにはグラフに注釈(アノテーション)を付ける機能があります。 グラフを利用する - Mackerel ヘルプ グラフアノテーション - Mackerel API ドキュメント (v0) このアノテーションを一覧して見たかったのでやってみました。Web画面からは一覧を表示できなくて、APIかmkrコマンドから取得する必要があります。そのやりかたをメモ。 以下のコマンドで取得できます。 --from ~ --toで期間を指定しなければならない 2016/01/01 00:00:00から今現在までの期間を指定している エポックタイムで指定しなければならない(dateコマンドでエポックタイムに変換している) mkr annotations list \ --service <

shell

Display my server Load Average in OSX menu bar

最近あだちんの家に行って(たまに遊びに行ってノートPCを借りて遊んでいる)bitbarを入れて遊んできたので、私も気分転換にbitbarで個人サーバのロードアベレージを表示させてみました。 以下の雑なスクリプトを作成してbitbarのプラグインディレクトリ(私は~/Dropbox/bitbarにしている)にget-loadavg5.5m.shという名前で保存します。 ファイル名はプラグイン名.時間.拡張子という命名規則 mkrでmackerelからメトリックを取得して結果をechoしているだけ #!/bin/bash hostId=XXXXXXXX export MACKEREL_APIKEY="YYYYYYYY" loadavg5=$(/usr/local/bin/mkr fetch -n loadavg5

gcp

Send GCP Billing metrics to Mackerel

Google BigQueryへエクスポートしたGCP Billingデータを使ってmackerelにGCP Billingのメトリクスを送ってみます。 メトリクスを送るためのプラグインは夜な夜な作りました。オプションにプロジェクトIDとデータセット名とテーブル名を指定すると現日付けの月の合計のBillingデータを取得することが出来るプラグインです。早く使ってみたい! GitHub - Lorentzca/mackerel-plugin-gcp-billing: GCP billing costom metrics plugin for mackerel 準備 このプラグインは実行するための条件がいくつかあります。 テーブルに以下のスキーマが必要 cost(FLOAT型) start_time(TIMESTAMP型) 課金データのエクスポート機能でGoogle BigQueryにデータを送っていれば特に考えることはないはず。 サーバ上で実行するにはGoogle BigQueryに対する権限を持っている認証アカウントのjsonキーが必要 そのjsonキーへのpathを入れた環境変数経由でGoogle BigQueryに対し認証を行います サーバー中心のフローのための認証情報取得

terraform

Add annotation to Mackerel when changed infrastructure with Terraform

mackerelにグラフアノテーション機能が追加されました。 グラフアノテーションをリリースしました! ほか - Mackerel ブログ #mackerelio Mackerel API ドキュメント(v0) - Mackerel API ドキュメント (v0) グラフアノテーション機能とは先日のmackerelミートアップでも紹介があった通り、デプロイや何かしらの事象をmackerelのグラフ上で注釈することができる機能です。 Mackerel Meetup #9 Tokyo #mackerelio 今回はterraformで特定のリソースに変更があった場合、それをグラフ上に表示させてみます。 まずは普通にAPIを叩いてみる 鬼のようなcurlを実行します。 できた。 Terraformと連携させる方法を考える 今回は例として、DigitalOceanのtagリソースに変更が加えられた場合、グラフに注釈を入れるようにしてみます。 「tagリソースに変更が加えられた場合何かを実行する」

mackerel

Mackerel Meetup #9 Tokyo #mackerelio

今年最初のmackerelミートアップに参加してきました! Mackerel Meetup #9 Tokyo #mackerelio - connpass 会場はレコチョクさんのオフィスでした。なんてスタイリッシュなんだ。 内容は以下。 The 2017 Mackerel Product Roadmap. Mackerel x KDDIで実現するキャリアクオリティ監視サービス Mackerel x Twilio ~レコチョクの場合~ LT・懇親会 資料は公開され次第追記していきます。(`・ω・´)ゞ The 2017 Mackerel Product Roadmap

mackerel

Rewrite check_mailgun.sh to golang

以前mailgunのステータスをmackerelで監視するシェルスクリプトを書きました。 Check maingun status on mackerel これをようやくGoで書き直して、一応使える状態にはなったのでうp。 GitHub - Lorentzca/check-mailgun: WIP デモ。 $ ./build/darwin_amd64_check-mailgun -p key-xxxx -d ghost.ponpokopon.me State OK: ghost.ponpokopon.me is active あんまりよくわかってないまま書いたので後で復習が必要。特に以下。

mackerel

Monitoring Fluentd with Mackerel and Tuning Fluentd buffer config

h2oのログをbigqueryに送り始めました。 Send h2o log to BigQuery 今のところ特に問題は無いのですが、正直バッファの各設定値やリトライ回数のチューニングについてはどうすれば良いのかよくわからないのでなんとかしたいところです。 そこで、mackerel-agent-pluginsを導入してみます。メトリクスを取ることでチューニングしやすくなるだろうと言う目論見です。 mackerel-agent-plugins/mackerel-plugin-fluentd バッファについては、下記のサイトが分かりやすかったです。 Fluentdの仕組み -バッファ機能でログ収集漏れを防ぐ- | Tech-Sketch BufferedOutput pluginの代表的なoptionについて - Qiita td-agent側の準備 まずtd-agent.confでmonitor_agentプラグインを有効化します。下記設定を追加してtd-agentを再起動。 Monitoring Fluentd | Fluentd <source>

mackerel

Enjoy mackerel metadata

先日のmackerelミートアップでメタデータなる新機能が発表されました。 メタデータ - Mackerel API ドキュメント (v0) 後日談として、この機能がどんな感じか試してみます。まずは一通りメタデータの入出力を試してから、メタデータと何かしらを連携させて遊んでみるところまでやってみます。 ホストメタデータの登録・更新 APIキーとホストIDは面倒なので環境変数に入れています。 環境の情報をメタデータで持たせてみます。 $ curl -X PUT -H "X-Api-Key: $MACKEREL_APIKEY" -H "Content-Type:application/json" -d "{\"

mackerel

Mackerel Meetup #8 Tokyo #mackerelio

Mackerel Meetup #8 Tokyoに参加してきました! Mackerel Meetup #8 Tokyo #mackerelio - connpass 会場はfreeeさんのオフィスでした。オシャレでした。以下のような内容でした。 新機能「メタデータ」がもたらす次世代のインフラマネジメントについて Mackerelによる自動化と一元管理 Zabbix から Mackerel へ、そして Mackerel で実現したコストダウン 懇親会&LT大会 感想など。 新機能「メタデータ」がもたらす次世代のインフラマネジメントについて 序盤はMackerelの紹介。リリース予定の機能が相変わらずたくさんあって面白い。

mackerel

Monitor LinearRegression metrics by Mackerel

mackerelは式による監視や式によるグラフのカスタマイズができる。 式による監視を行う - Mackerel ヘルプ カスタマイズしたグラフを表示する - Mackerel ヘルプ 会社では活用していて、面白いので個人でも使ってみる。 まずは式による監視を定義。Monitorsから設定できる。 公式にある例を参考に、ディスクがあふれる日数の監視をしてみる。 公式と違うのは、timeLeftForecast関数の閾値を割合で指定している点。現在の使用量をディスクサイズ合計で割って、その値が1(=100%)になるまでの時間を計算している。公式にある方法では閾値をファイルシステムの上限数で指定(2TBなら2000000000000という風に)しているが、割合での指定ならばディスクのサイズによらず固定値が使えるのでそれが利点どす。 あと、alias関数を使ってグラフに名前をつけている。ビジュアルを変えるための関数なので、監視のための式では意味ないと思うけどなんとなく…。 vda1の部分は環境によって違うので注意。 alias( scale( timeLeftForecast(

mackerel

Use LINE Notify on Mackerel

先日mackerelがLINE通知に対応したのでその日のうちに自分のmackerelで連携した。 通知連携サービス「LINE Notify」に対応しました ほか - Mackerel ブログ #mackerelio LINE にアラートを通知する - Mackerel ヘルプ トークルームも選べるけどとりあえずぼっちでやる (。ŏ﹏ŏ。) 普通に連携完了。かんたん! そして数日たったので使ってみた感想。 mailgunステータス監視のアラートがちょくちょく来てLINE通知が来まくり鬱陶しい memoryかつかつ運用なので閾値フラッピングしたときLINE通知が来まくり鬱陶しい メールより気づきやすい というか気になる そこで、以下のような設定に落ち着いた。 connectibityとブログの外形監視アラートだけLINEに飛ばす 本当にクリティカルなやつだけLINEに飛ばしていち早く来付けるようにしたいという意図です。 実務で使えるかは微妙な感じだけど(LINEてプライベート色強い印象なので)、個人用途とか小さい規模のところでやるにはわいわいできて楽しいかも試練。 mackerelはまめに機能が更新されるのでそれだけで楽しい

ghost

Check maingun status on mackerel

ghostにはmailの設定がある。mailは今のところ、パスワードをわすれた時に再設定メールを送る際に使用される。バージョン0.8からはβ機能の一つのsubscribers機能からも使う(まだメール送信機能は無いっぽいけど)。 Mail Configuration on self-hosted version of Ghost 送信元メールアドレスの設定方法はいくつかある。 Mailgun Amazon Simple Email Service Gmail このうち簡単に試せそうなmailgunで設定していた。 こんな感じ。 mail: { fromaddress: 'lorentzca@ghost.ponpokopon.me', transport: 'SMTP', options: { service: 'Mailgun',

mackerel

Trying out mkr

mkrとは mackerelのcli ホストの情報を表示したり、ステータス(workingとかmaintenanceとか)を操作できる ホストの追加やメトリックの投稿が出来る 使いどころ 他のツールと組み合わせて色々できそう aws-sdkと組み合わせてTerminateされたホストを自動で退役 chefと組み合わせてmackerel-agentインストール時にサービス、ロールの割り当てを自動でやる mkrコマンド例 jqコマンドと組み合わせて特定の条件のホストを一括操作できる 空のホスト作成 mkr create --status 初期ステータス -R サービス名:ロール名 ホスト名 2t6iqB5b7e7はID このIDをchef等で/var/lib/mackerel-agent/idに書き込めばそのサーバーの監視が始まる $ mkr create --status maintenance

mackerel

Mackerel Meetup #4 Tokyo #mackerelio

Mackerel Meetupに行ってきました ٩( 'ω' )و 内容とメモと感想 ほぼ生メモなので後で改修するかも 発表資料 公開されていたので追記! ▽進化するMackerel:最新機能アップデートとロードマップの紹介  https://speakerdeck.com/stanaka/mackerel-meetup-number-4 ▽ ビズリーチの新サービスとMackerel  http://www.slideshare.net/ki38sato/mackerel-meetup 19:30-20:00 進化するMackerel:最新機能アップデートとロードマップの紹介@stanaka mackerelの紹介から入った サービスkpiグラフ化事例 収益のグラフ サーバーのリソースだけではなくサービスとしての価値を含めて使える(自前で用意すればなんでも可視化できる感)