部屋の温度と湿度をNature remoで取得してmackerelで監視する

そろそろ熱中症に気を付ける時期なので監視しておきたい雑なshell事前にnature remoのtokenを取得しておくnature.sh #!/bin/bash TOKEN=$(cat token.txt) epoch=$(date +%s) json=nature.json curl -s -X GET "https://api.nature.global/1/devices" -H "Aut…

2021 生存報告

全く更新していなくてtwitterもほとんど反応してませんが、生きています。 23時ぐらいにフォートナイトしてます。一緒にやりましょう。twitterにDMください。 前職の後輩が急に真面目になって技術ブログ書き出したのでそれ見るの楽しみにしてます。www.pitek…

12年勤めたSIerを2019年1月に退職して半年が経った

久しくブログ更新していなかったので生存報告も兼ねてます。 退職 2006年に新卒で入って、12年(13年目)勤めていた会社を1月に退職していました。 会社も自分も有名ではないので、主にリアルでこのブログの存在を知っている人向けのエントリです。 (本当は転…

iOS 12でF5 Accessに証明書をインポートしてVPN接続する方法

日本語の記事が少なくて解決するのに時間かかったので、せっかくなので共有。 概要 iPhoneをiOS12にアップデートしたらF5 Accessが証明書を認識しなくなって、ややハマっていた。 レビューを見ても、皆同じように証明書が使えないと書いていたので、 当初は…

apache 2.4 virtualhost 内で一部の無効な設定が警告されない

概要 こんな設定。 確認したのはRHEL7/CentOS7の標準のhttpd (2.4.6)とsclのhttpd24-httpd (2.4.27)httpd.conf 抜粋 Loglevel warn # 他は省略 <VirtualHost *:80> DocumentRoot /hoge <Location /> AllowOverRide All </Location> Alias /foo /path/to/foo Alias /foo/hoge /path/to/hoge </VirtualHost> 警告 この…

big-ip irule でURL Routingしているときの謎の仕様

謎の仕様というかほぼbugかな。 前提 pool を2つ容易 pool pool1 default pool pool2 特定URLを処理するpool /hoge/ or /fuga/ からはじまるURL pool1、pool2 ともにcookie persistence を有効 virtual server default pool にはpool1 を適用 HTTP Profile …

apacheのrewriteによるredirectをmod_mruby で置き換えてみた

参考 https://github.com/matsumotory/mod_mruby https://qiita.com/matsumotory/items/7121d6cce728125e5ce2 queryがついているURLを扱う場合mod_aliasのredirectでは処理できないので、 mod_rewriteを使うことになるが、数が多いと辛くなる。 また変更の度…

BIG-IP iruleでクライアントがTLS 1.1以下でアクセスしたときに別poolに振り分ける

PCI-DSS 絡みとかでTLS 1.1 以下が徐々に閉鎖されていっているなか、あらかじめWebページで告知したとしてもやはり接続してくるクライアントは一定数いてそうなので救済策を考えて見た。 TLS のバージョンはCLIENTSSL_HANDSHAKE eventで SSL::cipher version…

Mackerel Meetup #12 に登壇してきました

mackerel.io8/2 に実施されたイベントに行ってきました。 会場: 目黒 アルコタワー ドリコムさんのセミナースペース現職はマネージドホスティングを提供している会社で、 Mackerel としてはあまりなかった使い方ということで声をかけていただき、発表してき…

openssl のkeyとcertのペアがマッチしているか確認

$ openssl x509 -noout -modulus -in example.com.crt | openssl md5 $ openssl rsa -noout -modulus -in example.com.key | openssl md5これが一致すればOK# 追記openssl md5 は標準入力をmd5で出力してるだけなので、openssl md5 じゃなくて、 md5sum (mac…

FileStore - google cloud platform のNFS Server

gcp

https://cloudplatform.googleblog.com/2018/06/New-Cloud-Filestore-service-brings-GCP-users-high-performance-file-storage.html https://cloud.google.com/filestore/ Google Cloudのfull-managed NFS Server。AWS でいうEFSですね。NFSに頼りすぎる異…

reveal.js とreveal-ckでプレゼン資料作成

最近、パワーポイントからの脱却を目指してます。パワーポイントにも良いところあるけど、個人的にはあまり凝った資料作成しないし、diff しやすいテキストベースのほうが良いかなと。 概要 html or markdown などでプレゼン用資料が作成できる reveal.js – …

apache 2.4.7 からProxyPassでunix domain socketを指定できるようになってた

nginx + uwsgi(socket) で動いているブツを、apacheが稼働中のサーバに移そうとしたときに、 socketをtcp port に書き換えないといけないの面倒だなーと思ってたけど、2.4.7 からsocketに対応してた。 https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.h…

apache 2.2 LocationMatch 内ではProxyPassではなくProxyPassMatch (ただし、ProxyPassReverseの制限付き)

2.4は不明。2.2ではProxyPassではダメだった。Location 内でProxyPassしているURLを増やしたくて、 そのままLocationMatchで正規表現で書いてもProxyしてるところがbackendに渡らなくて困った。 https://keita.blog/2013/06/04/locationmatch-and-proxypass/…

Google Cloud Certified - Professional Cloud Architect に合格しました

gcp

cloud.google.comシリーズIDは2000後半でした。今年頭に合格した人が1000前半だったことを考えると順調に増えていってますねー。AWS のソリューションアーキテクトアソシエイトよりは難しかったと思います。 (プロフェッショナルはまだ受けたことないのでわ…

rancher v1.0 memo

version 1.0 時代のmemo 見つかったので引っ張り出してきた。 最新は1.4 なので色々変わってると思うけど。http://rancher.com/rancher-os/ iso イメージからboot 自動的にコンソールログイン、DHCPでIP取得 作業はrancherユーザ。sudo でroot権限使う。 clo…

big-ip route domain , partition 操作

route domain ping %のあとにroute domainのID # ping 192.168.0.1%1rdsh でid指定してそのroute domainのnetwork内のshellに移動する # rdsh 1 # ping 192.168.0.1 partition defualtは/Common # tmsh # cd /partition

apache 2.4でerror log formatが設定できるようになっていた

2.2では不可 - https://httpd.apache.org/docs/2.4/en/mod/core.html#errorlogformat

big-ip irule memo

httpとhttpsのpoolをひとつのiruleで処理する 例えば example.com-http example.com-https のようなpoolがある場合CLIENT_ACCEPTEDではTCP::local_portでportが判別できるので when CLIENT_ACCEPTED { switch -exact [TCP::local_port] { 80 { set pool_serv…

big-ip Web Accelerationでcache

httpコンテンツcacheする場合、だいたいvarnishとかnginx、apacheでやるし、 最近だとCDNもあったりするので、機能としてあるのは知ってたけど使わなかった機能。とはいえ突発的なアクセスがきて、急に構成変更ができない場合にさくっとできるように調べて見…

sysstat (sadc)にTCP/IPの統計を追加する

sar -n TCP、-n IPなどでTCP/IPの統計も見たい場合sadcに"-S SNMP"オプション追加が必要man sar With the TCP keyword, statistics about TCPv4 network traffic are reported. Note that TCPv4 statistics depend on sadc option "-S SNMP" to be collected…

big-ip rest api

https://devcentral.f5.com/d/icontrol-rest-user-guide-version-1150 jsonで返ってくるのでjqかなければpython -m json.tool を使うと見易い。 $ curl -s -k --user user:pass https://192.168.0.1/mgmt/tm/ | jq .URLはこの辺 /tm/net/ /tm/ltm/ /tm/secur…

ddで書き込み時にキャッシュを使用せず書き込む

このオプションすぐ忘れる oflag=direct $ dd if=/dev/zero of=/tmp/hoge.dat bs=1M count=1000 oflag=direct

nginx のproxy_passするときのホスト名指定とresolver

(OS違ったけど詳細忘れた)現象が発生するサーバとしないサーバあったので、これだけが原因じゃないかも。とりあえず心に留めておく。 location /hoge/ { proxy_pass "http://example.com/"; } これは問題なく動いた。proxy_pass先でurlまで指定すると locati…

big-ipで帯域制御 Bandwith ControllerとRate Shaping

Bandwith Controller https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/tmos-implementations-11-5-0/9.html Bandwidth controllers のほうが最新機能のようなのでこっちのがいいかも Rate Shapingの後継機能のようで、共存はできない…

awsのIP一覧

aws

https://ip-ranges.amazonaws.com/ip-ranges.jsonjsonで返ってくるのでjq使うと良い。ex: cloudfront のip prefixだけ抜く curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service == "CLOUDFRONT") | .ip_prefix'…

sshuttle でssh使って簡単vpn

ssh

https://github.com/apenwarr/sshuttle ポートフォワードだと個別にport設定したり、 ブラウザのプロキシ設定いじらないとダメだけど sshuttle の場合、iptables(macだとpfctl ?)で特定のnetwork宛の通信を ssh経由にねじまげてくれるのでvpnのように使える…

VMWareの仮想マシンのdiskを縮小してpartitionを削除する

https://www.experts-exchange.com/articles/12938/HOW-TO-Shrink-a-VMware-Virtual-Machine-Disk-VMDK-in-15-minutes.htmlvCenterからいじっただけでは縮小されないので。 linux VMの対応。N GBからM GBに縮小する例。 1. 削除するpartitionをumountしてfst…

共用サーバの接続制限で良さげなapache module - mod_vhost_maxclients

ペパボの中の人さまさま。 https://speakerdeck.com/matsumoto_r/virtualhosting-security-performance-operasion http://hb.matsumoto-r.jp/entry/2015/08/29/151920 https://github.com/matsumoto-r/mod_vhost_maxclients virtualhostごとに同時アクセス数…

SSLアクセラレータ(reverse proxy)配下のnginxのcache_key

SSLアクセラレータ配下のnginxで http、httpsで個別のキャッシュにしたいときに、 この設定をいれると、一見$schemeでhttp/httpsに振り分けられて 出来そうに見えますが、このままだと同じキャッシュになります。 proxy_cache_key "$scheme://$host$request_…