awsに接続してssh_configを生成するec2sshというツールがあるのだけど、awsやazコマンドで得たjsonをjqで加工して似たようなことができそうだなと思ったのでやってみた。 awsの場合は、以下のようにaws-cliでec2の情報を取得してjqに渡してやればいい。ユーザ名は取得できないので、必要であればjqの処理のとこに(決め打ちになってしまうが)追記してやればいい。

aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|(.Tags[]|select(.Key == "Name")|.Value...

Lambdaで外形監視をしてサービスダウンしたらDatadogでアラートを出させる

Datadogで監視をしているシステムで外形監視をしたいということがあったのだけど、Datadogで用意されている外形監視の方法というのがDatadogエージェントが必要になってしまう。 それだと監視用のホストで余分にお金がかかってしまうので、Lambdaから1分間隔で監視をして、連続してアクセスできなかった回数をメトリクスとしてDatadogに転送させることで外形監視をさせることにした(3回連続で失敗したらアラートを出させる)。

Lambdaの環境変数を使っているので、「ERR_COUNT」でデフォルト値0で定義しておくのを忘れずに行うこと。 httpステータスが200以外の場合はア...


Microsoft Azure上で鍵認証でLinuxを使っているのだが、諸事情によりログイン用の秘密鍵を紛失してしまうといったことがあった。 流石に何処かにはあるだろうと色々と探したのだけど、どうしても見つからない。 どうすりゃいいかなぁ…と調べていたところ、Azureポータルの対象VMを選択すると「パスワードのリセット」なる項目が。 藁にもすがる思いでそこから公開鍵を登録してみることにした。


Azureはサブスクリプションだったりアカウントの種類が多くて、混乱することが多い。 そもそもの前提としてAzureではアカウントの種類が大別して2つに分かれてて、microsoftアカウントと組織アカウントというのがあるようだ。 ざっくり言ってしまうと、Office365と連携していない個人アカウントがmicrosoftアカウントで、Office365のADで管理されているのが組織アカウントらしい。

そのほか、いろいろな面で組織アカウントにしかできないこと(microsoftアカウントではローカルADとAzureADの連携ができなかったり、AzureCLIやPowerShellで自動ログ...


AWSでElastiCacheにRedisを使っているのだが、その死活監視について調べていたところ、どうもパフォーマンスなんかはDatadogで取得出来そうなんだけど、死活監視って形では用意されていないようだった。
で、redis-cliでなら簡易的なヘルスチェックが出来そうなので、それで当面は対応しようかと思ったので、その備忘。

やることは単純で、redis-cliでping実行して、それでredisが上がってる(PONGが返ってくる)ようなら正常終了(exitコードが0になる)するので、それで判断する。

redis-cli -h Redisサーバのホスト ping

...