もりはやメモφ(・ω・ )

ITとか読書感想文とか

小ネタ

SSO&JIT Provisioningを有効にしたDatadogへ、招待中のユーザがログインできなかった話

タイトルの通りだったのですが、結構ハマったのでメモしておきます。 結論を書いておくと、すでに招待中( Invite Pending ) のユーザは SAML で JIT ログインできませんので一度削除しました、という話です。 前提 Datadogで Single Sign On With SAML の機…

brew upgrade 後、 fish で "fatal: not a git repository (or any of the parent directories): .git" がコマンドを打つたびに出た

オリンピックの開会式を見ながら、久しぶりに brew upgrade を実施したところ、エンターを打つたびに以下のエラーが出る様になり慌てました。 fatal: not a git repository (or any of the parent directories): .git brew upgrade 前までは以下の様なちょっ…

JTF2021登壇メモ&会社ブログも書いたよ

詳細は会社ブログへ!>< creators.oisix.co.jp ってだけだと微妙なので今回は意外とスムーズに資料も準備できたのでメモっておきます。 アウトラインを最初に作る 資料作りのポイントしてよく言われていることですが、いきなりスライド作成から入らないこ…

Datadog APM の Java 用トレーサー dd-java-agent.jar のバージョンチェック方法

タイトルの通り、 dd-java-agent.jar のバージョンを調べる方法です。 docs.datadoghq.com やり方は以下の通り。 unzip -p dd-java-agent.jar | head 結果は以下のようになります。 Implementation-Version: 0.78.0 から 0.78.0 であることがわかります。 un…

ansible-vault で vars ファイルを書く際に、一工夫してみた

ansible-vault を久しぶりに使って、ちょっと工夫してみたのでメモしておきます。*1 docs.ansible.com 機密情報を含むファイルをAnsibleで扱う場合は ansible-vault コマンドで暗号化した上でリポジトリにPushします。 ansible-vault コマンドは大きく以下の…

Ansibleの繰り返しは with_xxx より loop を使った方が良い時代になってた

タイトルの通りです。手癖で with_items でループ処理を書きかけましたが、ドキュメントのサンプルでより良い書き方がないかと読んだところ loop を推奨されていてびっくりしたのでメモです。 具体的には以下の文章がありました。 We added loop in Ansible …

Datadog の Glock の Parseで 文字列にしてしまって Generate Metrics ができなかったメモ

最初にまとめ 最初に結論を書いておくと Datadog Logs の Generate Metrics の機能を、Nginx の request_time に対して有効にしたかった Datadog Logs の Configuration の Pipelines の Grock Parser で regex(".*") を使っており、string(文字列)で認識さ…

GitHub Actions で Ansible の playbook を生成して特定のTagのEC2をターゲットに実行

GitHub Actions で Ansible の playbook を生成して特定のTagのEC2をターゲットに実行するYAMLを書いたので、備忘でメモしておきます。 本来であれば以下のようなオープンなActionsを利用すべきでしょう。(自前で頑張るのは極力避けておくのが良いはず) gi…

DatadogのCLIツール dogshell でサイトメンテ前後で Synthetic をミュートする

Datadogには、 dogshell と呼ばれるCLIツールがあります。 この dog コマンドを利用して特定のMonitorを mute -> unmute したメモです。 利用したのは dog 0.41.0 です。 docs.datadoghq.com Why 背景を簡単に書いておくと、ウェブサイトで夜間メンテを行う…

GitHub Actionsでサーバからファイルを差分があったときだけ更新して取得

以下の要求をみたすGitHub Actionsを書いたので備忘でメモ 取得したいファイルは各サーバのローカルに保存される ファイルをサーバ名ごとのディレクトリの下へ取得し、GitHubのプライベートリポジトリにプッシュ そのファイルは不定期に更新される 取得を定…

Terraform の random_id.xxx.b64 が random_id.xxx.b64_url になっていた

小ネタです。ある日、RDSと全く関係のないTerraformコードを追記したところ、意図しないところでCIがこけたので修正した話です。 最初に結論 Resources の random_id で b64 を使って以下のエラーが出てしまった場合、単純に b64 --> b64_url とすれば差分な…

Ansibleの fetch と copy で複数台サーバの特定ファイルを一括整理する

小ネタです。AnsibleでPlaybookを使わず、 ansible コマンドを使ってアドホックに以下をしました。 ファイルを一括収集 ファイルを一括配布 経緯としては以下です。 10台以上ある開発用サーバがあり、誰もが比較的自由に使えるのでカオスな状況になっている(…

mackerelでWindowsサーバでDNSが引けるかチェック監視をpowershellのワンライナーで追加する

普段はLinuxサーバばかり触っていますが、一部Windowsサーバもあります。 とある日にDNSが引けなくなる問題が発生し、WindowsサーバでDNSが引けるかのチェックを定期的に行いたくなり、mackerelのチェック監視で簡単に行なったのでメモしておきます。 (調べ…

Terraformのfor_eachを使ってhosts運用からRoute53 private hosted zone運用 へ切り替える

これは terraform Advent Calendar 2020 の12/7の記事です。 昨日(12/6)は entertvl さんの terraform-provider-esxi を使って自宅 ESXi サーバに VM を立てよう でした。ESXiへもTerraform使えるのか、、と初めて知りました! 明日(12/8)は transnano さん …

Jenkinsfileでchoiceの選択値を複数の変数に分割して利用する

こんにちは、今日は歴史的な日ですが私はJenkinsfileと戯れています。*1 最近はCIやCDはGitHub ActionsやAWS Code兄弟に任せていますが、人間が入力値を選択して特定のジョブを実行するようなケースでJenkinsの出番がしばしばあります。 今回、選んだ値から…

Ansible で複数台サーバの結果を順番(Sequential)に取得する

ansible コマンドって便利なんですよ 日頃から大量のサーバを管理する中で、Ansible の Adhock な実行はとても便利です。 もちろんサーバの構成管理であったり、Packerから呼び出す初期セットアップとしての Ansible Playbook も愛用していますが、なんだか…

AWS CodeCommitで不要なブランチを一気に削除する

プライベートなGitLabからCodeCommitへ移設したとあるリポジトリについて、大量のブランチがあって今すぐ消したい!!となったので簡単なシェル芸で対応したのでメモ。 課題: 直面したブランチ多すぎ問題 例えばこんな感じだった。 謎のポリシーでブランチを…

Dockerが利用するサブネットを変更する

EC2で稼働していたDockerのサブネットを後から変更したのでメモします。 大体はこちらのブログの通りです。感謝。 support.getjoan.com 経緯 Apache Guacamoleという便利なソフトウェアをご存知でしょうか。簡単に言えば「RDPやVNCの集約ツール」です。Windo…

digdagでファイルシステム上のファイルをチェックして if> operator につなげるサンプル

既存システムとの連携などが、ファイルシステム上のファイルの有無による「フラグファイル」で行われることがままあります。 ファイルの存在のチェックし、その結果をdigdagの if> operator でやってみたという小ネタです。 Document - if>: Conditional exe…

物理RHEL7サーバにUSBを接続したときのUSB対応バージョンによるログの違い

業務で少し古めのサーバにUSB3.0の外付けSSDドライブを接続する機会があり、USB3.0対応の機器と、USB2.0までしか対応していない機器が混在しており戸惑ったのでメモします。 調べ方としては接続した時のシスログ(/var/log/messages)を見ればOKです。 USB 2.0…

digdagのループ for_each 利用時の _parallel 指定について

digdagのループ for_each 利用時の _parallel 指定について仕様を調べたのでメモ。 公式ドキュメントの Parallel execution にある通り「子タスクには効果があるが、孫タスクには効果が無い」ことを確認します。 If _parallel: true parameter is set to a g…

AWS WorkspacesのDirectryを削除しようとしたら "Cannot delete the directory because it still has authorized applications" が出る対策

検証で利用していたAWS Workspacesのお掃除をしていたところ、以下のエラーが発生して消せなくて焦りました。 An Error Has Occurred Cannot delete the directory because it still has authorized applications. Additional directory details can be view…

awsコマンドでEC2のGlobal IPとPrivate IPを取得する1行コマンド

開発者から「IPアドレスの一覧が欲しい」と言われて必要になったので作りました。メモとして残しておきます。 aws ec2 describe-instances | jq -c '.Reservations[].Instances[] | [ (.Tags[]? | select(.Key == "Name")).Value, .PrivateIpAddress, .Publi…

ALBとTargetGroup一式をTerraformにimportしてみる

年の瀬に何やってんだという感じではありますが、ちょっとしたタスク整理でALB一式をTerraformに落としたくなる場面があったので作業メモを残します。*1 試行錯誤した結果をそのままメモとして残していきますので、上級者が良いやり方をまとめた記事ではない…

digdagのslaディレクティブを使い、ジョブの意図せぬ長時間実行に対策する

digdagを利用していて時おり困ることの一つに、何らかのジョブ*1がハングなどで長時間実行されてしてしまい、ジョブのキューが溜まり後続のジョブが実行されない問題があります。その対策として sla ディレクティブを利用した、という内容です。 digdagのsla…

Embulkでinputするzipファイルをデコードする2つの方法

Embulkではpluginにより様々な形式のファイルをimputとして扱うことができます。今回はzipファイルを解凍(decorde)する二つの方法を紹介します。 利用の仕方 embulk-decoder-commons-compres embulk-decoder-command プラグインを切り替えた訳

PostgreSQLで2バイト文字が含まれるカラムかを調査する方法

これは PostgreSQLで文字列型のカラムに 2バイト文字 が含まれるかを調査する方法です。まさかこんな調査が必要になるとは思っていなかったのですが、必要になったのでやりました。 これは TL;DR charの場合 varcharの場合 検証 テストテーブルの作成&テス…

AWXのバージョンアップをしました (2.1.0 -> 4.0.0)

AWX4.0.0 TL;DR 最初にバージョンアップについて調べました サーバ 手順 pipでtower-cliを導入(初回のみでいいはず) tower-cliをセットアップ AWXの情報をバックアップ(結局使わなかった) PostgreSQLのバックアップ(結局使わなかった) アップグレード ハマ…

datadogのMulti-Organizationを開始するまで

これは datadogを使っている状況で、新システムについては請求額や利用者を分割したい要望が出たため、Multiple-Organizationと言う機能を利用したい、と言う話です。 結論としては Multiple-Organizationは便利でした。 左下の自分のアイコンから表示される…

Embulkのfilter pluginが定義ミスで読まれなかったメモ

これは ものすごいしょーもないミスでembulkのfilterプラグインが読まれなかった事象に遭遇したのでメモ 何がどうだった filters: とすべきところを filter: とsなしで記載した結果 embulkの処理自体は実行される(書式エラーとして判定されない) filterプラ…