mackerel

A collection of 30 posts

Monitor the broadband speed with the Mackerel
mackerel

Monitor the broadband speed with the Mackerel

最近気持ちが忙しくてブログ更新久しぶりな気がする。。タイトルの通りネットワーク回線の速度を監視し始めたのでメモ。 モチベーション SNS の方で呟いてましたが引越しすることになりました。 引っ越すからベッド分解した´д` ; — †深淵の覚醒者† (@lorentzca) July 5, 2020 我々インターネットで生活している者たちにとって引越しで一番気になるのは回線の速度ですよね。次のおうちでも光回線が通っているのはもちろん確認済みなのですが、速度や安定性が気になるところです。 そこで回線速度を監視し、引越し後どれくらいの違いが出るか確認することにしました。 結果は以下。Wi-Fi での数値です。有線だと数倍早かった…。 有線、無線両方監視しようと思いましたが次のおうちは実質無線がメインになりそうなので、無線だけ監視してます。 方法最近 Raspberry Pi と Greengrass

System job is suitable for running mackerel-agent with Nomad
nomad

System job is suitable for running mackerel-agent with Nomad

現在 Nomad クラスターを展開しこのブログを運用しています。 nomad - ゆるふわキャンパー Nomad クラスターは現在 3 台のサーバーから構成されており、それぞれのサーバーは Mackerel でモニタリングしています。Mackerel へサーバーのメトリクスを送るためには mackerel-agent が必要ですが、mackerel-agent は Docker イメージが用意されているので、これを Nomad のジョブとして動かし Nomad クラスターの各サーバーを監視しています。 mackerel/mackerel-agent ジョブのタイプは Service

Run mackerel-agent as a Nomad job
nomad

Run mackerel-agent as a Nomad job

最近ブログを動かしている環境を単一のサーバーから Nomad クラスターへと変更しました。 Nomad クラスター上で Ghost ブログを動作させる以前からサーバーの監視を Mackerel を用いて行なっており、今回もクラスターを構成するノード上で mackerel-agent を起動し、監視を行います。 ただし、 Nomad のジョブとして動かしてみます。 Nomad のジョブとして mackerel-agent を動かす今までは単一の VPS を使っていたので mackerel-agent は普通にサーバーにインストールしていました。 CentOS / RedHat にインストールする - Mackerel ヘルプ今回

Running Ghost blog on Nomad Cluster
nomad

Running Ghost blog on Nomad Cluster

このブログは数年間単一のサーバーで稼働していました。 学習も兼ねてわざわざ自前でサーバーを運用していたのですが、最近新しい構成に移したくなり、Kubernetes の流行もあってクラスターやマイクロサービスといった時代の流れに乗るべく、Nomad クラスターへの移行を行いました。 Nomad クラスターの作成までは下記記事にまとめています (インフラやクラスターの設定等はここからさらに変更しています)。 Nomad クラスターを作成する今回はこの Nomad クラスター上で Ghost を動かすところまでをまとめます。 構成以下の通り、DigitalOcean のマネージドロードバランサー配下に Droplet を 3台配置し、クラスターを構成しています。 クラスターを構成するノードではそれぞれ Nomad と Consul が稼働しており、Consul でサービスディスカバリーを、

I am Mackerel ambassador
mackerel

I am Mackerel ambassador

先日 Mackerel アンバサダープログラムへ招待いただき、アンバサダーの任を仰せつかりました。 🙏🙏🙏 Mackerel アンバサダープログラム はじめます! - Mackerel ブログ #mackerelio Mackerel は愛着のある監視サービスであり、プライベートでも有料プランを契約し使用しておりました。 mackerel - ゆるふわキャンパー Mackerel との出会い 前職で、まだ Nagios や Cacti をメインに使用していた時代に社内勉強会で取り上げられていたのをきっかけに知りました (確か)。 それから Mackerel の採用が決まり、 Mackerel

Monitor lock status with Mackerel
mackerel

Monitor lock status with Mackerel

Sesame というスマート鍵を購入し、より快適な生活が手に入りました。 セサミスマートロックを買った また、 Sesame の API を試してみました。 Sesame API を試す 次の段階として、鍵の状態を Mackerel で監視してみます。 ※念のため補足すると、公式アプリでも鍵の施錠/開錠を検知したら push 通知することができるので、必要最低限の監視はできていると言えます。 なぜ監視するのか ちょっと話が横道に逸れますが、スマート鍵の導入に興味がありつつためらう理由の一つに、セキュリティが挙げられるんじゃないかな、と思っています。特に「不具合や誤作動で知らないうちに解錠される可能性があるんじゃないか」「クラッキングされて解錠されてしまうことはないのか」

Mackerel Meetup #12 Tokyo #mackerelio
mackerel

Mackerel Meetup #12 Tokyo #mackerelio

第12回目となる Makerel ミートアップに参加してきました。 Mackerel Meetup #12 Tokyo #mackerelio - connpass 今回はブログ枠で参加しました。😃 会場は ドリコム さんでした。おしゃれカフェスペース的なのがあったぞ! 内容は以下でした。 200週連続新機能リリースとこれから 機械学習を用いたMackerelの異常検知機能について トレタのインフラ運用を支えるMackerel フルマネージドホスティングの運用監視にMackerelを導入した話 感想など書いていきます。スライドは随時足していきます。 200週連続新機能リリースとこれから 200週は本当にすごいですね…。 今後の継続リリースは、毎週必ず新機能ではなく、大きめの新機能を計画的・継続的に届ける方にシフトするとのこと。 200週連続機能リリースの達成と、これからのMackerelについて

Monitoring Seminar in mercari
mackerel

Monitoring Seminar in mercari

Monitoring Seminar in mercari に行ってきました! 📊 Monitoring Seminar in mercari - connpass Twitter ハッシュタグ #mxm_monitoring メモを晒す。 メルカリのサービスの監視について メルカリのサービスの監視の変遷についての話。 最初はさくらインターネットで日本向けサービスをやっていて ZABBIX を使っていた その後さくらの専用サーバとさくらのクラウド併用 US サービスが出来て、これはAWSで監視は ZABBIX ZABBIX は2個あって( JP, US

Alfred Mackerel hosts Status Workflow
alfred

Alfred Mackerel hosts Status Workflow

Mackerel に登録してあるホストとホストのステータスをインクリメンタルに検索して表示する Alfred ワークフローを作りました。 GitHub - lorentzca/alfred-mackerel-hosts-status-workflow: Search Mackerel hosts and show host's status. こんな感じで見れます。アイコンの色もステータスによって変わります。選択すると該当ホストのページに飛びます。 似たような Mackerel ワークフローは既にあったのですが、自分の Go の練習のためとホストのステータスをさらっと見れるようにしたい事情があったので作りました。 Mackerel の API は Go のクライアントから叩いています。

Use Mackerel instead of Monit
mackerel

Use Mackerel instead of Monit

今日の Mackerel のアップデートでチェック監視の結果に応じてコマンドを実行できるようになった!! 🎉🎉 チェック監視の結果に応じてコマンドを実行させられるようになりました ほか - Mackerel ブログ #mackerelio プロセスの監視をして、もしプロセスが死んだ場合ザオリクをかける方法としてMonitを今まで使っていましたが、 Mackerel に置き換えられるかも…? 試してみます。今回は h2o プロセスを監視してみます。 h2o プロセスが1未満になった場合は systemctl start h2o するようにしてみます。 まずは普通に監視する 以下の内容のファイルを /etc/mackerel-agent/conf.d/check_

Mix stacked graph and line graph with Mackerel
mackerel

Mix stacked graph and line graph with Mackerel

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

Post GCP Billing data to Mackerel with Node.js
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_

Mackerel Meetup #10 Tokyo #mackerelio
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について。

Annotate provider maintenance time with Mackerel
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のグラフアノテーションに入れてみました。 はたしてグラフアノテーションは未来の日付に対して有効なのでしょうか…

Get mackerel graph annotation list with 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

Display my server Load Average in OSX menu bar
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

Send GCP Billing metrics to Mackerel
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キーが必要

Add annotation to Mackerel when changed infrastructure with Terraform
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と連携させる方法を考える 今回は例として、

Mackerel Meetup #9 Tokyo #mackerelio
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

Monitoring Fluentd with Mackerel and Tuning Fluentd buffer config
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

Enjoy mackerel metadata
mackerel

Enjoy mackerel metadata

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

Mackerel Meetup #8 Tokyo #mackerelio
mackerel

Mackerel Meetup #8 Tokyo #mackerelio

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