地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2022-02-01から1ヶ月間の記事一覧

【Mackerel】hostidからhostnameを引くワンライナー(jq)

式グラフを使っていたらhostidしか見れなかったので欲しかったワンライナー。mkrにも機能としてはなさそうだしもしや式グラフの作り方がよくないだけかもしれない...?? mkr hosts | jq ".[] | select(.id == \"${hostid}\") | .name"

tiniがSIGTERM を受け取ったとき最初の子プロセスが終了すると自身のプロセスを終了するならさらにラッパーを書けばいいじゃない

qiita.com これを見ていて思ったネタ(?)記事です。実用性は全然ない話になります。PID 1だとSIGTERMを無視するというLinuxのPID 1問題を解決したいという話。--initをつけることでENTRYPOINTに指定したコマンドがTiniという軽量 initを間に挟むことでPID 1を…

MySQLの"Connections"とか"Max_used_connections"とか"Threads_connected"とか

理解できていなかったのでまとめ。 connection数ってConnectionsだけ見てれば良いかなと思っていたが監視システムによっては1分毎の監視とかになってしまって0.1sで終わるクエリが同時に1000でmax_connectionsが151とかになっている場合にConnectionsのグラ…

Perl 5.35.9 is availableになっていた。

dev.perl.org 仕事で久々にPerlを読んだ(?)ので久々に色々見ていた。5.35.9もあるらしい。一番最初に触れたのは5.27.1とかだっただろうかいまいち覚えていない plenvで入れようとしたら警告がでた。どうやら開発版の警告を抑制するために -Dusedevel オプシ…

Perl 5.35.9 is availableになっていた。

dev.perl.org 仕事で久々にPerlを読んだ(?)ので久々に色々見ていた。5.35.9もあるらしい。一番最初に触れたのは5.27.1とかだっただろうかいまいち覚えていない plenvで入れようとしたら警告がでた。どうやら開発版の警告を抑制するために -Dusedevel オプシ…

perl ワンライナー Unix の改行コードに変換する

文字列パースで何かうまく動かないなと30分くらい見てたらこれだった。何年か前にも同じようなことではまった気がする... Unix の改行コードに変換する perl -pe 's/\r$//'

技術書を積む技術

おうちの本棚の眺めが良かったので撮ってみた 読んでる本もあれば読んでない本もあって眺めるのも一つの趣味になりかけていることに気づいた。どんだけ買ってるのかと思いきや意外と貰った本も多いことに気づいた。1社目のオフィス大改造や2社目のオフィス移…

nginx 1.21.4にproxy_half_closeっていうオプションが入っていた

nginx 1.21.4でproxy_half_closeというオプションが追加されていた。proxy先のサーバとのTCPハーフクローズの処理を有効にするというものらしい。実装を軽く見たがshutdown(2)をSHUT_WRで呼び出していた。shutdown(SHUT_WR)はproxy先のサーバに届くのでrecv(…

AWSとかGCPが公式に公開されているIP rangeを取得するツールを書いた

github.com $ go-iprange-cloud [aws|gcp|azure|heroku|github|oracle] みたいに実行すれば公開されているIPリストを表示してくれるツールです。それぞれ以下のようなAPIが公開されていたのでそれを元にとっているという感じです。 # AWS curl -s https://ip…

check-logの実装を眺めてみた

github.com check-logはMackerelの公式プラグイン集のうちのログ監視を行えるツールです。例えばアプリケーションログに特定の文字列、例えばCRITみたいなのが出たらコマンドを失敗させるみたいな使い方ができるツールです。 Usage: main [OPTIONS] Applicat…

mackerel-plugin-mysqlで取れる値の説明メモ集

github.com これで取れている値の説明メモ集です。 BinLog Disk Usage 項目 概要 Usage ソースインスタンスのバイナリログで使用されているストレージ領域のサイズ Amazon RDS for MySQL が予想以上のストレージを使用するときのディスクストレージを最適化 …

systemctl reloadでエラーを検知するすべはあるのかを考えてみたけど特になさそうだった話

対象のUnitがreload動作に対応している必要があるがUnitに対して設定ファイルの再起動などをを促す操作として使われることが多い機能だと思います。例えばnginxなどは公式で以下のようなサンプルが公開されています。systemctl reload nginxなどと実行すると…

python 文字列置換ワンライナー

python -c 'import sys,re; [print(re.sub("ABC","XYZ",l,1),end="") for l in sys.stdin]' たまにpythonでやるときあるが毎回忘れるのでメモ

curlの--tlsv1.xオプションはバージョンの下限を指定するオプションだった

tls1.1で通信してcurlを実行したいみたいな場合に--tlsv1.1みたいなオプションをつけて実行してた記憶があったけど--tlsv1.xはバージョンの下限を指定するのであってtls1.2が有効ならそちらを使うようになっていた。同じようなことを大昔にもやった気がする…

ホームランの話

めっちゃよいしすごい刺さった。やろう。 / 2件のコメント https://t.co/QlVLKM6vgf “バッターボックスに立ち続ける話 - ペパボテックブログ” (3 users) https://t.co/rpThNrhhgG— Ryuichi@Gurasan:|| (@ryuichi_1208) 2022年1月31日 Slackで見た時からすご…

C言語で実現するインターフェース

struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); ssize_…

【MySQL】レプリカラグを検出したらやること

MySQLのレプリカはいかにもあるようにソースサーバに1スレッド(Binary log dump thread)、レプリカサーバに2スレッド(Replication I/O thread、Replication SQL thread)あります。(ソース/レプリカって呼び方は最近変わったのだろうか、あまり見慣れない気が…

perl ワンライナー

文字数をカウントする perl -nE '$n+=length; END{say $n}'

gstackでユーザモードスタック

プロセスがハングアップした場合のその原因調査をするためのコマンドです。