KeepAlive On な Apache+mod_php で HTTP/1.0 クライアントに HTTP/1.1 を返すとタイムアウトを待ってしまう

PHP 7.1.7 Apache 2.4.10 ApacheBench 2.3 zend-expressive 2.0.3 zend-expressive-skeleton 2.0.3 zend-diactoros 1.4.0 zend-stratigility 2.0.1 Docker で Apache+mod_php を実行して、 docker run --rm -p 8888:80 -v "$PWD:/var/www/html" php:apache h…

SNMP v3 の engineID とかのメモ

man snmpcmd とか man snmpd.conf とか man snmptrapd.conf とか tcpdump とかで試行錯誤で推測した内容からのメモ。全然見当違いの可能性もある。 SNMP v3 のエージェントはエージェントを一意に識別するための engineID を設定する必要がある。engineID は…

Windows の SNMP サービスから取れる情報

Windows 10 で SNMP サービスを有効にして取ってみました。概ね下記のような情報が取れます。 SNMPv2-MIB::system sysDescr とか sysUpTime とか IF-MIB::interfaces ネットワークインタフェース RFC1213-MIB::ip RFC1213-MIB::icmp TCP-MIB::tcp UDP-MIB::u…

いろいろなフレームワークのリクエスト/レスポンスクラスの実装

PHP

今日日の PHP のフレームワークでリクエスト/レスポンスクラスがどのように実装されているか調べたメモ。 zend-expressive zend-diactoros https://github.com/zendframework/zend-expressive/blob/2.0.3/src/Application.php zendframework zend-http (not …

シンボリックリンクを用いたアトミックデプロイと opcache と realpath cache

これまで PHP のアプリケーションのデプロイは rsync でどべーとコードを撒いていました。が、それだと新旧のコードが混在するし Capistrano とかはデフォでシンボリックリンク切り替えでアトミックなデプロイになっているし、周回遅れな感じもしますが今後…

シンボリックリンクのアトミックな入れ替えの ln -sfn vs mv -Tf

WEB+DB Press vol.84 読んでて知った、シンボリックリンクのアトミックな入れ替え。 $ mkdir 1 $ touch 1/1.txt $ mkdir 2 $ touch 2/2.txt $ ln -s 1 cur $ strace ln -sfn 2 cur lstat("cur", {st_mode=S_IFLNK|0777, st_size=1, ...}) = 0 lstat("cur", {…

監視とかで定期的に SSH するなら ControlMaster を設定するとスッキリするけど常用はちょっと

Cacti の Percona のテンプレートを使う場合、Cacti から監視対象のサーバに SSH で接続してメトリクスを取ってくることになるのですが・・・普通にやると都度サーバにSSH接続する事になりますし、対象サーバの /var/log/secure にログが無駄に記録されて辛…

Jenkins でビルドのパラメータ化でブランチをフィルタしつつ自動でもビルドするメモ

文章で説明しにくい・・・要するに次のようにしたいとき。 master と issue/* のみをビルドの対象にする Gitlab とかの WebHook で Jenkins の /git/notifyCommit を呼んでプッシュから自動ビルドさせる 手動でビルドするときも↑のパターンにマッチするブラ…

Gitlab CI でカバレッジレポートを公開するメモ

Jenkins で PHPUnit 実行時に出力したカバレッジレポートを Jenkins 上で閲覧できるようにしているのですが、同じことを Gitlab CI でやるときのメモ。 Jenkins の場合 Jenkins なら HTML Publisher plugin でサクッと PHPUnit のカバレッジレポートを公開で…

Gitlab CI を使ってみるメモ

Jenkins からの移行のために今更だけど使ってみたメモ。 なお、うちの Gitlab はソースから入れていてデータベースも MySQL です。たまにしかバージョンアップしていないのでちょっと古いです(8.17.2)。 参考 https://docs.gitlab.com/ee/ci/ 公式のドキュメ…

debian ベースの Docker コンテナで busybox の cron を実行

DockerHub の言語系のイメージは(alpine のもあるけれども)debian ベースのものが多いですが cron でスクリプトを定期的に実行しようとして、 RUN apt-get update && apt-get install -y cron とかすると、 cron から実行するスクリプトにコンテナの環境変…

Cacti でアラートを thold プラグインを使わずにやるアイデア(中途半端)

Cacti の thold プラグインでアラートを仕込むのがめんどくさくて仕方なかったので、もういっそのこと直接 rra ファイルを見てアラートを出すスクリプトを自前で作れば良いんじゃないかと思ったときのメモ。 Cacti のバージョンは 0.8.8h です。 Prometheus …

PhpStorm の Run/Debug で docker-compose run でテストを実行

docker-compose で複数のコンテナで構成されている環境に対して、PhpStorm の Run/Debug で docker-compose run でテストなどを実行できるようにしたときのメモ。 PhpStorm 2016.1 ぐらいから Remote interpreter に Docker が追加されており、PhpStorm の R…

CentOS を Kickstart の liveimg で rootfs の tgz からインストールする

最近は CentOS のインストールは Kickstart でなるべく自動化して GUI でぽちぽちしなくて良いようにしていますが、Kickstart で liveimg というものを使えばインストール自動化だけでなく、あらかじめ作成しておいた rootfs のディレクトリツリーをそのまま…

CentOS 7 で Pacemaker/Corosync 使うなら LinuxHA Japan と CentOS のどっちが良い?

元は 1 年くらい前に書いたものなので古いです 今は CentOS の公式レポから入れた Pacemaker/Corosync が元気に動いています Pacemaker/Corosync を使うにあたり、LinuxHA Japan のパッケージと CentOS のパッケージのどちらが良いかのメモ。 LinuxHA Japan …

最近の snmptrapd は DISPLAY-HINT 255t でもマルチバイト文字が置換されてしまう件

諸事情でアプリやサーバからいろいろな通知を SNMP トラップで送ることがよくあるのですが、データバインディングの中身に日本語(UTF-8)を含めなければならないことがあります。 送るのは snmptrap コマンドで普通に送れますが・・snmptrapd でそれを受信…

Jenkins Pipeline を使ってみたメモ その2

notifyCommit を呼び出したときに実行されるビルドについて、フリースタイルと Pipeline で下記の違いが合った。 フリースタイル 1回の notifyCommit で複数のブランチがビルドされる(こともある) Git ポーリングで見つかった、更新されたすべてのブラン…

Jenkins Pipeline を使ってみたメモ

次のようなことがやりたかった。 テストを実行するジョブと、テストが通った特定(master)のブランチをデプロイするジョブを作る さらにデプロイが完了したブランチを Redmine に同期するジョブも作るけどそれは省略 機能ブランチをテスト → master にマージ…

Windows と Linux (*nix) のコマンドライン引数の違い

元は下記で回答したものですけど。。。 https://teratail.com/questions/33915 Linux でプログラムを実行するとき、最終的に次の関数が実行されます。 execve(2) int execve(const char *filename, char *const argv[], char *const envp[]); つまり、次のも…

redmine_dmsf を試してみたメモ

Redmine のファイル管理プラグイン redmine_dmsf をちょっと試してみたメモ。 インストールします。 sudo su - redmine cd /var/lib/redmine/plugins git clone https://github.com/seventhsense/redmine_dmsf cd /var/lib/redmine/ bundle install なにやら…

KVM で macvtap (direct) を使ってみるメモ

KVM

下記の記事で KVM の macvtap (direct) というものを知ったので使ってみたメモ。 http://qiita.com/sengoku/items/3b3715c6124cdd0afb00 ホスト・ゲストともに下記で試しています。 # cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) sv01 と…

HAProxy を使ってみたメモ

CentOS 7 の yum でさくっとインストールできるバージョンで試しています。 haproxy-1.5.14-3.el7.x86_64 その他に、ログとかスティッキーセッションとかについても書いてます。 http://ngyuki.hatenablog.com/archive/category/HAProxy あと、いまのところ…

rsyslog のメモ

rsyslogd - reliable and extended syslogd 信頼できる拡張された syslogd Remote syslogd ではない(syslogd 時代からリモートからの受信は可能) 設定ファイル 設定ファイルは /etc/rsyslog.conf ですが、このファイルで下記の通りに記述されているので、 …

Logwatch で独自の通知を追加するメモ

Logwatch とは Logwatch 日次でシステム内のさまざまなログから見つかった問題を通知する /etc/cron.daily/0logwatch で実行される デフォだと root へのメールで通知される デフォでいろいろなログの通知が組み込まれている ls /usr/share/logwatch/scripts…

HAProxy でスティッキーセッションするメモ

CentOS 7 の yum でさくっとインストールできるバージョンで試しています。 haproxy-1.5.14-3.el7.x86_64 appsession アプリケーションが発行する cookie の値とサーバとの対応表のテーブルを HAProxy が保持する。 appsession PHPSESSID len 32 timeout 30m…

HAProxy のログのメモ

CentOS 7 の yum でさくっとインストールできるバージョンで試しています。 haproxy-1.5.14-3.el7.x86_64 ログの宛先の設定 chroot しない場合 chroot しない場合は /dev/log を指定すれば簡単でした。 /etc/haproxy/haproxy.cfg global log /dev/log local2…

keepalived を使ってみたメモ

いまさらだけど keepalived を使ってみたメモ。LVS ではなく HAProxy の冗長化に使用するつもりなので LVS 関係の設定はありません。 CentOS 7 に yum で入れたバージョンで試しています。 keepalived-1.2.13-7.el7.x86_64 vrrp_script と track_script vrrp…

daemontools とか supervisor とか pm2 とか forever とか foreman とか systemd で同じコマンドを複数のプロセスでサービスにする

これまでスクリプトをデーモン化するために daemontools をよく使っていたのですが、同じコマンドを複数プロセス起動させたいときに煩雑というか、そもそもこのやりかたあってんの? って思ったので、代替になりそうなものをいくつか試しました。 例として、…

Munin で PING 監視する

Munin マスターで次のようにプラグインのシンボリックリンクを作成します。 sudo ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_192.168.33.10 プラグインを実行してみます。 munin-run ping_192.168.33.10 パケットロスト率と応答時間が結…

Munin をさらに触ってみた

社内で使っているサーバに munin-node を入れてリソース監視するようにしてみたときのメモ。 最初にちょっと触ってみたときの内容は↓こちら。 Munin を触ってみた Munin マスターの設定ファイルはなるべく小さくした Munin マスターの設定ファイルには監視対…