るいすのブログ

オタクエンジニアの雑記

Grafana CLI を使って特定のアラートをミュートにする

こんなファイルを置く $ cat ~/.grafana/prd [ENVIRONMENT] export GF_ENV="prd" export GF_API_URL='https://grafana/api' export GF_AUTH_HEADER="Authorization: Bearer $GF_TOKEN" [main] export GF_TOKEN="" プロジェクトを設定する source grafana-cli…

CentOS の GPT で、XFS なルートボリュームを拡張する

ディスクは 160GB なのに 8GB しか使われてないとき、ルートボリュームを拡張したい NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 160G 0 disk ├─nvme0n1p1 259:1 0 200M 0 part /boot/efi └─nvme0n1p2 259:2 0 7.8G 0 part / GPT なら入れてお…

InnoDB Cluster で過去のバイナリログが存在しない状況での復旧方法 missing transactions that were purged from all cluster members. (RuntimeError)

既存のクラスターのどれか一つに入る MySQL db02.luis.local:33060+ ssl JS > \c root@db01.luis.local Creating a session to 'root@db01.luis.local' Fetching schema names for autocompletion... Press ^C to stop. Closing old connection... Your MySQ…

CentOS Linux 8 から Centos Stream 8 への移行はいと簡単です

The CentOS Project が12/8 に CentOS Linux のフォーカスを CentOS Stream へ移すことを発表しました。 それに伴い CentOS Linux 8 が 2021年末に終了し、その後 CentOS Stream 8 へのマイグレーションを推奨することも発表されています。 https://mag.osdn…

EC2 の本番環境以外を ARM に切り替えたら幸せなことしかありませんでした

この記事の下書きです。誤字、間違いが多いので ↓ を見たほうが良いです。 developers.cyberagent.co.jp

容量もファイル数が多い時にもっとも高速に別ディレクトリ(サーバー)にコピーする方法

TL;DR 脳死で xfsdump(dump) + nc(Netcat) 一択。昔こんな記事で pigz + nc は速いって書いたけど xfsdump(dump) 使ったほうが速いんじゃないかと思ったので雑に比較してみた。 blog.luispc.com 環境 ファイルサイズ別で2パターン 632GB / 29450 ファイル 2…

rollbar を Go に導入してエラー監視をする

rollbar めちゃくちゃ便利です。安いし。 rollbar.com main.go rollbar.SetToken("") rollbar.SetEnvironment(os.Getenv("SERVER_ENV")) rollbar.SetCodeVersion("v2") rollbar.SetServerHost(hostName) rollbar.SetServerRoot("github.com/rluisr/easyuploa…

rollbar と Vue.js で SourceMap を使ってエラー内容を確認する

rollbar めちゃくちゃ便利です。安いし。 rollbar.comVue.js で構築された Web アプリケーションのエラー内容を確認するときに SourceMap が有効になっていないと追っかけることが難しいので SourceMap を有効にする。必要な箇所だけ webpack.base.config.js…

アラートを一時的に無効にしたまま月日が経ちヒヤリハットしたことはないだろうか mfool というツールを作ってみた Mackerel 編

障害とかで一時的にアラートをミュートにしたら、戻すのを忘れてヒヤリハットしたことはないだろうか。 僕はあります。github.comこいつを使えば、 working ステートになっていないホスト ミュートしているモニター を Slack で教えてくれる。Mackerel のモ…

Firebase hosting で超簡単に障害時に自動でメンテナンスに振る

TL;DR メンテナンス情報を Firebase Cloud Fire Store から取得する uptimerobot の Webhook を使う Firebase functions で uptimerobot からの webhook を受け取る Firebase functions で Firebase Cloud Fire Store を書き換える TL;DR Firebase Cloud Fir…

個人だけど NURO Biz 契約してみた

詐欺タイトルです。フレッツ光の光配線方式はマンションと NTT の都合で何でか分からんけど開通ができなかった。 前のマンションのオーナーが運良く NURO を引いていたので NURO Biz にした。NURO Biz にしたのは固定 IP が必要だったから。個人で NURO Biz …

InnoDB Cluster が Split-Brain で死んだ時

MySQL db03:33060+ ssl JS > c.status() { "clusterName": "main", "defaultReplicaSet": { "name": "default", "primary": "db03.luis.local:3306", "ssl": "REQUIRED", "status": "NO_QUORUM", "statusText": "Cluster has no quorum as visible from 'db0…

RDS Proxy を使うとパフォーマンスは悪くなる

前回の続き blog.luispc.com 目的 RDS Proxy 良いじゃん と前回記事を書いたけど、パフォーマンスは落ちると思ったので どれぐらい落ちるかを超簡単にベンチマークをする。 HammerDB hammerdb.comHammerDB の使い方は atsuizo さんのを参考にしました。 atsu…

RDS Proxy を使うとフェイルオーバー時のコネクションプーリング問題が良い感じになるのでは?

目的 環境 やり方 コード RDS Proxy を”使わない"場合 RDS Proxy を”使った"場合 もっとクエリ数を増やす RDS Proxy を”使わない”場合 RDS Proxy を"使う”場合 まとめ 目的 フェイルオーバー時のエラーレートを下げたいRDS Proxy の公式ドキュメントに書かれ…

MySQL EXPLAIN の結果は良い感じなのに、何故か遅いクエリの原因を調べる

1回目は7秒かかるクエリが、2回目は速い。 実行計画を見ても、Slow Query を見てもインデックスは使われてそうなイキフンを感じる。 前置き クエリ テーブル EXPLAIN Slow Query 調べる Performance Schema file_summary_by_instance MySQL 5.7 で EXPLAI…

Pulumi を使えば Infrastructure as Code の本来の目的が果たせると思う

IaC は DevOps の中で重要な立ち位置に居て、インフラ専門部隊だけではなく、バックエンドの開発者も柔軟に構成が変更できるためには 今までの Terraform や Ansible では敷居が高かった(ツール独自のループの書き方とか色々)。だけど Pulumi や aws cdk …

俺的監視ベストプラクティス

入門監視を読んで、社内のドキュメントに書いたものをブログにも書く。 今回のは VM を対象。 監視俺的ベストプラクティス(VM編) 前提 warning と critical の使い分け ❌ warning を @here で通知する ❌メールで通知受ける CPU 使用率と、ディスク容量につ…

SPA は SSR を使わなくても Google 検索で1位取れる

巷では SPA ( not SSR ) は SEO に不利とか、SEO 専門の人がそう言ってたりする。 Google で「SPA SEO」とかで検索すると、トップページはできるだけ SSR にしたほうがいい とか見られる。けど現に SPA ( not SSR ) で作った Webサービスは2つのキーワード…

まだ S3 + CloudFront で消耗してるの?Cloudflare + Backblaze の方が安いよ

Web サービスを提供してたり、アセットの配布で S3 + CloudFront を使ってる人は多いと思います。 が、この度 Backblaze が S3 Compatible API をリリースしたので Cloudflare と組み合わせればマイグレーションのコストを少なく(AWS SDK も使えるし、AWS C…

AWS EC2 m6g, c6g, r6g は本当に速くなったのか

m系だけで比較 UnixBenchAMI m6g.large: amzn2-ami-hvm-2.0.20200406.0-arm64-gp2 m5.large: amzn2-ami-hvm-2.0.20200406.0-x86_64-gp2 # yum update -y # yum groupinstall '@Development Tools' # wget https://github.com/kdlucas/byte-unixbench/archive…

Proxmox でカスタムなテンプレートを作る

LXC を作る 色々入れる シャットダウンする ネットワークの設定を消す バックアップ(GZIP) dump/vzdump-hoge.tar.xz を template/cache に移動する

InnoDB Cluster のアップグレードをやる

8.0.19 -> 8.0.20 1. MySQL Shell を最新にする 2. MySQL Router を最新にする 3. メタデータを最新にする MySQL db01:33060+ ssl JS > dba.upgradeMetadata() NOTE: Installed metadata at 'db02.luis.local:3306' is up to date (version 2.0.0). Metadata…

xfs + lvm 拡張

拡張子した分のパーティションを作る fdisk -l /dev/sda n pボリュームグループを作る vgcreate /dev/sda3拡張 vgextend cl /dev/sda3 lvextend -l +100%FREE /dev/cl/root xfs_growfs /

CircleCI で GitHub のラベルを見て自動でタグをプッシュする

流れ 1. PR を作る、ラベルで major, minor, patch のいずれをつける 2. master へマージする。 3. CircleCI がラベルを見て新しいタグをプッシュする CircleCI GHE 環境なのでところどころ読み直してください。 雰囲気で伝わってほしい。 push_tag: <

Private Link + ECR を試す

概要 検証環境 Fargate ECR S3 VPC エンドポイントの作成 ECR へのエンドポイント S3 へのエンドポイント CWL へのエンドポイント ECR エンドポイントの SG 動作確認 確認 概要 従来は ECR からコンテナイメージを取得するために、IGW、NATGW を使用していた…

MySQL innodb_buffer_pool_instances を調整したら幸せになれました

1 分間に約 23万クエリ流れる DB が全部で 4台な環境がある。 innodb_buffer_pool_size はだいたい 70 GB セマフォ innodb_buffer_pool_instances を調整することで、mutex への競合が減りパフォーマンスが向上する。 innodb_buffer_pool_instances = 1 OS W…

ECS と distroless イメージの組み合わせは悲しい

最近見るプロジェクトが増えました。ECS コンテナのヘルスチェックにいつもどおり何かを書く CMD,curl,localhostしかし、永遠に UNKNOWN になる。使ってるイメージを持ってきてローカルで確認してみる。 $ luis@ubuntu ~ $ docker run --name test -it --rm …

Stripe Checkout をローカルの Vue で動作確認する

Stripe Checkout のホワイトリストドメインリストに localhost は使えない。Stripe Checkout を動作させるには https ドメインに localhost は使えない hosts を書き換える 127.0.0.1 hoge.com Vue.js のホスト名チェックを切る devServer: { disableHostChe…

コンテナで動かしてる MySQL で innodb_dedicated_server = 1 にしたらどんどん死んでいった話

ある日 InnoDB Cluster をコンテナ上で動かしてたがメモリを期待していた以上に消費していたので調べていた。その時は innodb_dedicated_server を 1 にしてた。 innodb_dedicated_server ソースを覗いてみる buffer_pool_size が決まるところ メモリサイズ…

ノリで会社作ってみた

hcloud.ltd 会社設立 freee はとても便利でした。 www.freee.co.jp