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

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

【Linux】コンテナとカーネルパラメータ

背景 コンテナはカーネル共有型の仮想化というのはよく言われてる話で理解はしているつもりだった。と同時に一部のコネクションメニーなwebアプリとかをコンテナで動かす場合にnet.core.somaxconnとかをいじることでカーネルがもつキューを伸ばすみたいなこ…

【ClamAV】入門する (Clam Antivirus)

背景 ClamAVを触る機会が出てきたので入門する。最近初見かと思いきや社内シスアド的なのやってた時にも実は触ったことがあったらしいことをローカルのメモから知った。当時はこの手のツールはとりあえず入れておけばいいんじゃないくらいで使ってたので良く…

【C】gdbでシグナルをハンドリングする

なんらかのシグナル発生時にgdbで処理を停止したい場合に使えるtips (gdb) handle SIGHOGEHOGE stop apacheとかミドルウェア止める際に便利。

【Rundeck】入門する

背景 Rundeckを使う機会というか調べる機会があったので記事としてまとめる。Jenkinsのジョブ機能の対抗馬として前に調べたことある程度でがっつり使ったことはない。 OSSのジョブスケジューラなのでGitHubでソースが読める。現在もめちゃめちゃ草が生えてて…

【HAProxy】入門する

背景 HAProxyに触れる機会が出てきそうなので調べたメモ的な記事。業務で使ってたことはあるけど実は要件書通りのパラメータで構築してそれっぽいテストしただけで実はどんな機能があってどのような特徴があるとかは何も分かってないレベル。要件定義とかも…

【Consul】ノードへのmeta_data付与

www.consul.io Consul 0.7.3以降で利用可能な機能らしい。任意のメタデータのキーと値のペアをローカルノードに関連付けることができ、特定のカタログエンドポイントからの結果をフィルタリングするために使用したりできる。以下は公式にあるサンプル。 { "n…

【Ruby】Gemfile入門

背景 ruby経験0だけどbundlerとか打って環境構築した気になってるの良くない気がしたので調べてまとめてみた記事。gemってなんやねんって状態だけど雰囲気で実行しているマンです。 gemってなんだ Rubyのライブラリのこと www.ruby-lang.org Ruby のライブラ…

【Ruby】Capistranoを使ってみる

github.com 背景 Capistranoってなんやねんレベルでコマンドだけ打って便利さを感じつつも何も理解してなかったので調べた際のメモ。「JenkinsとかGitHub Actionsででシェルスクリプトでデプロイじゃー!」ぐらいしかやったことレベル感で書いてます。(jenki…

【Consul】入門する

背景/概要 Consulを使う機会が出てきたのでメモ。「Prometheusから利用できそうだね」くらいを理解のゴールとして設ける。 この記事でやれることはconsulの入門とdnsでサーバのIPを引けるようになるまで。dnsは別で立ててますが閉じた検証にしたいのでとりあ…

【Mackerel】入門する

背景 Mackerelに触れ始めたので概要だけでも入門。監視ツールはZabbixとPrometheusとElasticsearch(beats)を触ったことあるのとN社の出している独自OS用の監視ツールに触れていたという経験があると言った感じ。基本的なメトリクスというよりもMackrel独自の…

【Terraform】入門する

www.terraform.io 背景となぜ書いたのか 仕事で遂にTerraformを使う機会ができたのでこの気に学び直してみた記事。これまでAnsibleを使っての構成管理を行なった経験はあるがよりレイヤの低い部分の管理はGUIなりでやってきた経験しかないので結構新鮮に学ん…

【Nginx】ngx_mrubyへ入門

github.com 概要 ngx_mrubyへの入門記事。luaとはjavascriptも組み込めたりするのがその一種っぽいくらいの認識の状態から調べてみました。 ngx_mrubyとは ngx_mrubyとは弊社ペパボ研究所に所属する松本 亮介(@matsumotory)によって開発されているOSSです。 …

【OpenStack】入門する

背景 仕事で使う機会が出てきたのでそもそもなんなのかから調べていく。聞いたことはあるけど実際それぞれなにしてるのかはよくわかっていない。構築とはまでは別でやるとしてそもそもの用語整理とコンポーネントについて理解するのが目標。 目次 背景 目次 …

【puppet】入門する

背景/概要 puppetを使う機会が出てきたので調べたことのメモを記載。commitログとかみてると結構頻繁に今でも更新されていてちょっとびっくりした。 以下に全てがまとまっている。 Puppet入門 from Tomita Akiyoshi www.slideshare.net puppetとは/特徴とか …

【CLI】envchain入門

github.com envchainとは 秘匿情報を[環境変数]に入れるのを、多少安全にしてくれるツールでC言語で実装されている。 インストール方法 $ git clone https://github.com/sorah/envchain.git $ cd envchain $ yum install readline-devel libsecret-devel $ m…

【Ruby】入門するURLメモ

rubyに入門する必要が出てきたので便利URLのメモリスト 公式 www.ruby-lang.org 多言語からのRuby入門なんて記事もあった。 www.ruby-lang.org 環境構築系 github.com github.com qiita.com qiita.com バージョンの話 www.ruby-lang.org spirits.appirits.co…

【httpd】graceful shutdownの実装メモ

preforkの方で見ていく。子プロセスがどうやって死んでいくか気になったのでメモ ざっくり流れ ユーザがSIGUSER1をhttpdへ送信 親プロセッスがlisten socketをclose 処理中の子プロセスがあればそれを待つ 全て終了したらSIGUSR1を子プロセスへ送信 親プロセ…

【Linux】EPOLLEXCLUSIVEのメモ

↑は別件でepollの話だった。Linux 4.5で入ったEPOLLEXCLUSIVEで解決するようになった。難しい。https://t.co/4aYd9L1BXB— Ryuichi@k8s再入門中:|| (@ryuichi_1208) 2021年6月27日 概要 epoll(2)のオプションのEPOLLEXCLUSIVEについて気になったので調べたメ…

退職エントリっぽいもの

都内の某SIerを2021年6月末で退職します。10年後くらいに自分で見て懐かしむために書いておきます。 どんな会社だった 社員数500人くらいで東京本社と地方にちらほら拠点がある会社でした。吸収合併を重ねて大きくしてる会社という印象でした。 何をやってた…

【Linux】so_reuseportに関して

背景 SO_REUSEPORTってなんだろ。https://t.co/0YDyRDKrI2— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年6月26日 so_reuseportってなんやねんと思って調べた SO_REUSEPORTとは ローカルアドレスの再使用を有効にするソケットオプションのSO_REUSEADDRは使っ…

【Linux】UDPのMapping Refresh

なるほど。意図せずエンドツーエンドでQUICに対応して〜みたいなのいつか起きそう。 https://t.co/tYoyV6UoVI— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年6月23日 UDPでのルーターのNATテーブルの圧迫の話。自分の家もまさに該当しそうなので調べてみた。 …

【Linux】/proc/sys/fs/epoll/max_user_watches

qiita.com /proc/sys/fs/epoll/max_user_watches

【Linux】io.h: No such file or directory

“ちなみにかしこくて、grepとかをかけると、ww なしでも全部表示されます。” どういう仕組みなんだろ。stdoutがパイプか判定してるとかかな。 / “あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | https://t.co/mbDaaXFdMc” https://t.co/…

【Linux】TCPの再送制御あたりのソースを眺める

概要 ブラウザからWebサーバを経由しAPサーバにアクセスする場合の通信に関する説明をざっくりまとめてみました。再送制御あたりがメインです。 記事を書こうと思った背景 AWSの資格学習をしていてRDSあたりのフェールオーバ ーあたりで「DNSベースでやるの…

【Nginx】ファイルキャッシュの追い出しアルゴリズム

mogile.web.fc2.com nginxが持っている機能のファイルキャッシュの追い出し方法について調べたので書いた。 ざっくり結論としてはキューを用いたLRUでキャッシュサイズが指定した値より大きい場合は要素の末尾を削除していくという実装 static time_t ngx_ht…

【Nginx】ファイルキャッシュの追い出しアルゴリズム

mogile.web.fc2.com nginxが持っている機能のファイルキャッシュの追い出し方法について調べたので書いた。 ざっくり結論としてはキューを用いたLRUでキャッシュサイズが指定した値より大きい場合は要素の末尾を削除していくという実装 static time_t ngx_ht…

【C】pthreadsのテンプレ

C

スレッド使ったサンプル作るためのテンプレ #include <stdio.h> #include <stdlib.h> #include <pthread.h> void *thread_func(void *param); int main(void) { pthread_t thread; int ret = 0; ret = pthread_create(&thread, NULL, thread_func, NULL); if (ret != 0) { // pthread_creat</pthread.h></stdlib.h></stdio.h>…

【Linux】NetworkMangerとは

概要 RHEL6 ではネットワークスクリプト(/etc/init.d/network)によりネットワーク設定が行われていた ここが /etc/sysconfig/network-scripts や /etc/sysconfig/static-routes などを読んでいた RHEL7 より NetworkManager を使ってネットワーク設定する…

【Linux】Network

ネットワーク設定と設定ファイル ネットワーク設定ファイルの位置はかわらずだが、ファイルを直接編集せず nmcli, nmtui などを利用することが推奨されている。サーバー構築時に主に設定する内容と対応する設定ファイルは以下のとおり。 ホスト名とIPアドレ…

【Nginx】ログの出力可否

特定UAの場合ログに書き込みたいくないみたいなケースがあってどうにかならないかみていたらaccess_logはifで状態を取れるらしいことに気づいた。 nginx.org Syntax: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; a…