
Linksys Velop WRT Pro 7 のメトリックスを Amazon CloudWatch で可視化する
自宅の無線ルーターである Linksys Velop WRT Pro 7 は、OpenWrt ベースのファームウェアが載っている。OpenWrt には Prometheus 形式でメトリックスを公開する prometheus-node-exporter-lua パッケージがあるので、これを使ってメトリックスを CloudWatch に送り、ダッシュボードを作ってみた。
Recent content on holidayworking.org
通知を受け取るには、ホーム画面に追加してから購読してください。

自宅の無線ルーターである Linksys Velop WRT Pro 7 は、OpenWrt ベースのファームウェアが載っている。OpenWrt には Prometheus 形式でメトリックスを公開する prometheus-node-exporter-lua パッケージがあるので、これを使ってメトリックスを CloudWatch に送り、ダッシュボードを作ってみた。
目的 #スペーシア X と SL 大樹に乗るため。 スケジュール # 日時 名称 区間 2026/09/22 12:30 - 14:32 特急スペーシア X 7号 浅草 - 鬼怒川温泉 2026/09/22 15:43 - 16:21 SL 大樹6号 鬼怒川温泉 - 下今市 2026/09/22 16:46 - 18:35 特急スペーシア日光4号 下今市 - 新宿 写真 #

この記事は Mackerel Advent Calendar 2020 の 6 日目の記事です。 Mackerel ではカスタムメトリックプラグインを利用することで自分たちに必要なミドルウェアのメトリックを収集できることだと考えています。Mackerel エージェントをインストールした状態ではシステムメトリックのみの取集となるため、必要なミドルウェアのメトリックを取集するためには、カスタムメトリックプラグインを利用することになるのです。カスタムメトリックは下記から探すことができるはず。
Mackerel のロール内異常検知がやっとリリースされましたね。 早速設定してみましたが、この機能は難しいと感じました。これまでの監視ルールでは CPU の使用率が 70%を超えた場合はワーニング、90%を超えた場合はクリティカルとするという直感的(職人芸?)の設定が出来たと思います。でも、異常検知ではこのようなことが出来ず、センシティビティというものを選択する必要があります。このセンシティビティをどのように設定するべききを考える必要があるのですが、ヘルプページの説明を読んでもよく分からないと感じました。

Mackerel アンバサダーに就任したので mackerel-plugin-elasticsearch-cluster-stats をつくった。 背景 #Mackerel の AWS インテグレーションで Amazon Elasticsearch Service を監視しているけど、対応しているメトリックでは fielddata や Query Cache がどれぐらいメモリーを確認することが出来ない状態である。CloudWatch でこれらのメトリックが取得できるようになれば良いのだけど…。

この記事は Mackerel Advent Calendar 2017 の 22 日目の記事である。 今年の 2 月頃から仕事で Mackerel を使い出して、下記のプラグインを作成した。 mackerel-plugin-aws-kinesis-firehose mackerel-plugin-aws-rekognition mackerel-plugin-aws-waf プラグインの作成を振り返ってみても良かったけど、仕事で携わっているサービスは Ruby on Rails で開発しており、デプロイに Capistrano を使っているので、Mackerel と Capistrano の連携方法について書くことにした。

Resque で非同期処理をすることが多いので、Mackerel のサービスメトリックで Resque のキュー数を可視化してみた。 ソースコード #各キューごとのキュー数と、その合計値をサービスメトリックで登録するようにしている。
Mackerel Drinkup #4 Tokyo で LT をしてきた。 LT の内容は mackerel-plugin-aws-waf の紹介(公式プラグイン集のひとつになりました)。作成経緯や苦労した点について。AWS WAF 自体の説明は大雑把にしかしていないので、この発表資料は参考にしないほうがいいかも…。
mackerel-agent でメタデータの登録が対応したので、早速 Amazon Linux のパッケージ情報を登録してみることにした。 ソースコード ##!/usr/bin/env perl use 5.016; use warnings; use utf8; use JSON::PP qw/encode_json/; my @lines = split(/\n/, `repoquery --all --installed --queryformat="%{name} %{arch} %{version}-%{release}"`); my %packages; for my $line (@lines) { my ($name, %info) = parse_package($line); next unless %info; $packages{$name} = \%info; } say encode_json \%packages; sub parse_package { my $line = shift; my @items = split(/\s+/, $line); return $items[0], ( architecture => $items[1], version => $items[2] ); } 使い方 #Mackerel エージェントの設定ファイルに下記を追加する。