PORTでもくもく

PORTのもくもく会に行きました。
先月行けなかったので、少し久しぶりな感じでした。
だんだん知り合いが増えてきて、ホーム感増してきたの嬉しいなぁ。

LTをやったので懇親会にも初参戦したよ。
あまり話したことない人とたくさん話せて楽しかったです。

主に趣味鯖上で運用しているSNSの
dumpのcronを書き換えたりsidekiqの設定を変えたりしました。
備忘録を残します。

$ crontab -l 
0 0 * * * docker run --link mastodon_db_1 --volume /opt/backup:/mnt/backup --network mastodon_internal_network postgres:9.6-alpine /bin/sh -c "pg_dump -U postgres -h mastodon_db_1 postgres | gzip -c > /mnt/backup/dump-`date +'%Y-%m-%d'`.sql.gz; exit" > ~/cron.log 2>&1

本当はローカルにdump取りたいの
でもとりあえずdiscfullでEC2が定期的に落ちるのどうにかしたいので

`date +'%Y-%m-%d'`

ここの部分を削除して
dumpファイルが最新のものに上書きされるようにしました。
つまりこうです。

$ crontab -l 
0 0 * * * docker run --link mastodon_db_1 --volume /opt/backup:/mnt/backup --network mastodon_internal_network postgres:9.6-alpine /bin/sh -c "pg_dump -U postgres -h mastodon_db_1 postgres | gzip -c > /mnt/backup/dump.sql.gz; exit" > ~/cron.log 2>&1

これでいったんは大丈夫なはず。
運用し始めて数ヶ月経つけれども、一度もdumpファイルが必要になったことないので
暫定的な対処です。
無料枠でRDSを立ててDBの引越しが済めば
これらのバックアップは必要なくなるし、監視もしやすくなるので
できればそうしたいなぁ。
無料枠が切れたら、またPostgreSQLに戻します!

sidekiqの方は、かなり分からないので
「試しにやってみて期待した挙動と違ったらまた考える」
状態なのですが
config以下にあるsidekiq.ymlを編集して

$ vi config/sidekiq.yml
---
:concurrency: 1
:queues:
[default, 6]
[push, 4]
[mailers, 2]
[pull] 

最初ここは:concurrency: 5だったのだけれども
並列処理しすぎて詰まりすぎているのでは?という懸念があり
一度メンテナンスモードに切り替えて
リクエストを一つずつ処理させるモードに変えてみました。

メンテナンスモード中は管理者画面に入れないので
一晩この設定で試してみたら
明日は通常モードに切り替えて
sidekiqの管理画面からジョブキューのログを見てまた判断したいと思います。

今日はLTの資料を作っていたら思いのほか時間が溶けて
「とりあえず暫定的な対処!」
みたいな感じになってしまった😣
他鯖の影響を受けてリクエスト急増時に
EC2へsshログインしづらくなるのがしんどい。
ラズパイなどにAnsibleを置いて、sshログインなかなか出来なくても
粘り強くログインするまで頑張るAnsibleに設定して
メンテナンスモードへの切り替えだけでも自動化させたいです。

postgreSQLなど

Chromeの拡張機能でEvernote Webクリッパーを登録し

Evernote経由で、PCとスマホ間の画像の連携をはかろうと思いついたのだけれども

Webクリッパーでスクショできるのはブラウザ内だけなの。

ターミナルやエディタのスクショはできないらしい。

び、びみょう……

とりあえずWeb閲覧時のmemo用だなあ。

.

お昼休みはcronの修正をしておわりました。

cronの設定自体は難しくないことはわかったのだけれども

その中のDockerコマンドがややこしいの。

要復習だなあ。

.

夕方はHomebrewでpostgreSQLのinstallをしました。

blogは下記を参照。

macOs Sierra + homebrewな環境でPostgresqlを導入する備忘録

後半のパス設定は要らなそうだったので、とりあえず触らず。

.

そういえば@女子部でターミナル半透明率かなり高くて

真似してみたの、壁紙の色も相まって涼しげになった。

帰りの移動時間は電車内でPythonの動画を観ていました。

以前スクレイピングの本を読みながら書いた時もあったけれども

もう一度きちんと基礎からやろうとおもいます。

ザーッと読んでバババと書いて

またスクレイピングと機械学習の書籍を参考書として

手を動かすことで慣れたい。

postgreSQL修了/Kubernetes予習

お昼はpostgreSQLの動画を観ていたよ。

一通り全て見終わりました。

わーい˙˚ʚ(。・-・。)ɞ˚˙

手を動かして実際にデータベースつくったり触ったりしたいので

もう少し動画にはお世話になりそう。

Fab Cafeのサラダお気に入りなの。

金曜日の楽しみだよ。

草ってかんじ。

土曜日はKubernetesの女子限定ハンズオンで

参加型の座学なのだけれども

不安過ぎて入門書を衝動買いしそうになった写真です。

なので帰宅して少し予習しました。

https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/

この内容を実際にやってみた。

DockerのアイコンからPreferenceでKubernetesを使うことできるのね。

Nginxを3つDeploymentをつかってたてたけれども

自動修復機能で、1つを消しても代わりのNginxが生まれるの。

最初は

「消したのにNginx!」

とおもったけれども

「私が死んでも代わりはいるもの」

ってことかあ、と納得しました。

BEGIN;

お昼はpostgreSQLの復習をしていたよ。

少しずつ、わかってきたかもなかんじ。

.userのIDが何番の**さんのblogを表示させるもしくは内容を書き換えるなどの操作
Tootにも使えるのでは。

.

その場合whereをつけ忘れて

すべてUPDATEしてしまうだとかのミスを犯さないためにも

BEGIN;
COMMIT;
で、トランザクション機能をつかう習慣をつけようと言われた。
確かに。

間違えたらROLLBACK;だそうです。

.

なかなか思うように進まなくて

遅遅として進まないってかんじなの。

.

夕方はPC開く時間をとらずに

無印良品に寄り道して帰宅しました。

そして帰宅直後にベッドで気絶した。

帰りながら、疲れてるなあとおもったの。

あまり疲れを溜めないようにしたい。

.

Kubernetesの予習ちっとも出来ていないの。

仕方ないにゃー。

ピンズ

To-Doリストつくるの習慣化出来たらいいな。

うさぎのデザインでピンズを発注しました。

出来上がるの楽しみ😊

.

postgreSQLの内容は、まとめて自分用メモつくりつつ

実際に書いてみて動くのか確認したい。

HPの背景を変更しました。

夏ぽい、スマホページも夏らしくしたいなあ。

今日のblogは画像いっぱい。

.

職場のお姉様が明日までの出勤で

記念品を渡しました。

CAFÉ de CRIÉのレシートを沢山くれて

コースターgetに協力してくれた方だよ。

寂しいねえ

Loft

目黒にあるAWSのコワーキングLoftに行ってきました。

↓参考としてAWSの紹介blog貼ります。

(上記サイトより引用)

広くてきれい。

WiFiのSSIDとpassは、受付のお姉さんに聞いたらわかりました。

気合い入れてTo-Doリストつくったよ。

何やるつもりだったのか忘れてしまうので

整理大事。

8割できたら次に進もうかなってなるしね。

.

綺麗だし景色も良くて気に入ったので

また平日に来れそうなときは来よう。

エレベーターが段ボールだった、テンションあがる。

移動時間はpostgreSQLの動画をみていた。

内容きちんと復習して

実際に手をうごかして整理します。

どんすわ復活/postgreSQL

どんすわピンチでメンテナンスページにしていたの。

とりあえずデータ保全を最優先してから

docker-compose restartしてみた。

Dockerのstatusを見てみたけれども

unhealthyから、なかなかhealthyにならず不安定な状態が続いて

泣く泣く師匠に相談したら

DockerのIDが何故か重複しているとのこと。

普通なら同じIDが二つ立ち上がる状況なさそうだけれども

重すぎてそういった状態になったのかなあってかんじ。

.

なので重複したものを一つ削除して

docker-composeのdownとupしたら

時間をおいて正常化したので

どんすわメンテナンス終了しました。

.

今回、何がうまくいっていないのか

まではわかったけれども

その原因まではわからなかったし

.

少し問題がややこしくなるとやっぱりわからないなあ。

冷静に素早く対処できる最強のエンジニアになりたいです。

.

あと、PCが触れない移動時間には

postgreSQLについて動画をみた。

見た内容まとめ。

データベース楽しい、また復習したい。

使いこなせたら万能感すごそう。

なんでも出来てしまう感じする。

.

データはとても大切で

データが吹っ飛ぶと会社が吹っ飛ぶレベルの事故に繋がるし

もし何かあったときには

データの保全を最優先に動くことを意識していくと良い

とアドバイスされた。

.

そしてデータベースにおける

本当にあった怖い話を聞いたの。

ヒヤリハットから、やらかしまで

怖い話こわかった。

PORTもくもくメンテナンス

PORTのもくもく会へ行ってきました。

おやつタイムに配られたシュークリームアイス😊

ランチタイムも色々と会話できたの楽しかったです。

主にMastodonのバックアップ/メンテナンスやりました。

.

やったこと

– postgreSQLのバックアップ

– GitHubで設定ファイルの保全

– EC2上へメンテナンスページの設置

– メンテナンスの流れ確認(設定ファイルについてなど)

.

postgreSQLのバックアップとったの。

.

第 23章バックアップとリストア

https://www.postgresql.jp/document/8.1/html/backup.html

復習しておこう。

Docker上にバックアップ用のディレクトリを作成して

pg_dumpを実行しました。

.

Nginx設定ファイル内の整理をして

Mastodonの設定ファイルとNginxの設定ファイルを

scpコマンドをつかいDLしてGitHubに保存。

.

EC2インスタンス上にメンテナンスページ用のディレクトリを作成して

GitHub上にメンテナンスページを置いていたので

それをgit cloneしてメンテナンスの準備をしたよ。

.

site-availableにメンテナンス用のNginx設定ファイルを置いて

中の設定ファイルをメンテナンス用に変更したの。

シンボリックリンクを書き換えて、設定ファイルをテストし

忘れずにNginxをリロード。

.

これblog書いていて

下書き保存がうまくいかず

一度ぜんぶ消えてしまったので

もう一度はじめから書き直したの

復習バッチリです!!!

.

帰りは一杯飲んで帰ったよお。