ぶていのログでぶログ

思い出したが吉日

lsblkでIOスケジューラを確認する

-o オプションに SCHEDを追加するか、もしくは -O オプションをつけることでIOスケジューラを確認できる。 # -o SCHEDの出力例 $ lsblk -o NAME,TYPE,SCHED /dev/vda NAME TYPE SCHED vda disk mq-deadline ├─vda1 part mq-deadline ├─vda14 part mq-deadlin…

PromQLでN日前のグラフと比較する

毎度忘れてそのたびに色々検索するのでブログにメモしておく。 結論から書くとoffset modifierを使うと実現できる。 prometheus.io 例えば、exampleサーバの5分間のCPUの%idleを取りたい場合は以下のように書くと思う。 sum by (mode)(irate(node_cpu_second…

Rust: assertの出力に色を付ける

before/after cargo testで大きめの構造体をassertすると↑のbefore画像みたいにとても長い出力になる。 長すぎてどこに差分があるかわからなくてとても苦労する。 そこで、afterのように色をつけるスクリプトを作ってみた。 #!/usr/bin/env ruby require 'te…

Ubuntuでlivepatchが有効化できない / error: cannot install "canonical-livepatch"が出たときの対処

有償サポートのUbuntu Advantage(以下UA)に契約するといくつかの機能が使えるようになる。 例えば、セキュリティアップデートが5年伸びるExtended Security Maintenance(ESM)や再起動せずにカーネルのパッチを当てられるLivepatchがある。 UAを契約するとト…

kittyからZellijにしてみたけど結局Alacritty+tmuxに戻ってきた

今年のはじめにAlacrittyからkittyに移行しているという記事を書いてそれ以来kittyを使っていたのだが、色々あって結局Alacritty + tmuxな元の環境に戻ってきてしまった。 それまでの変遷とか思ったことを書いておく。 kittyとの出会いと別れ kittyとの出会…

gzip/zgrepの脆弱性CVE-2022-1271を調べた

2022/04/07にgzip/zgrepの脆弱性CVE-2022-1271が見つかった。 cve.mitre.org security.sios.com すでに主要なディストリビューションでは対応が終わっている脆弱性ではあるが、gzip/zgrepがシェルスクリプトで書かれているので、シェル芸人としては気になる…

Chefのruby_blockからリソースを制御する

※ Chef + Knife-Zeroな環境を想定してこの記事を書いている。 かなり特殊な状況ではあるが、chef-clientの実行ユーザがubuntuのときにはubuntuユーザの削除を行わないということがしたい。 想定状況としては、Ubuntu VMを新たに立ち上げてbootstrapをかけ、…

live-migration-notifierをGolangにポーティングした

以前、OpenStackのlive-migrationをSlackに通知するくん通常live-migration通知くんというものを作った。 tech.buty4649.net ブログに書いて依頼、実際に会社のOpenStack環境で安定して稼働していた。 Rubyのアップデートでも特に問題なく稼働していた。 し…

grafana-rrd-serverでcollectdなどのRRDファイルをGrafanaで表示する

会社ではGitHub Enterprise(以下、GHES)を使っている。 GHESの管理コンソールにはMonitorタブがありそこで様々なメトリクスを見ることができる。 ここで見られるデータはcollectdで集計されているらしく外部にcollectdを設置することでexportすることができ…

再起動/削除/変更コマンドの頭に空白をつける

bashやzsh、fishなどではコマンドラインの先頭に空白をつけることで、そのコマンドラインだけhistoryに残さないという機能がある。 以下、fishでの実行例。 # 通常の操作だとhistoryに残る ❯ echo hello hello ❯ history -n 1 echo hello # 頭に空白を入れる…