t-suzuki 雑記ノート

主に技術の話

はじめてnodejsを使った。はじめてbotを作った話。

これは何 nodejsを使ってslack botを作った話。 インフラエンジニアだけどコードもかけるようになりたい、といって少しだけ時間をもらってbotを作る仕事をやった。 その時のメモ的なもの。 何を使う botkitというツールキットを使う。 hubotと何が違うの? …

elasticsearchのindexを整理するcuratorのactionファイルを整理した話

これは何 elasticsearchのindexを削除するときにはcuratorを使うと思うが、そのactionファイルがわかりにくく、大きくなりがちだったのでメモ。 curator はver 4での記法(ver3だとちょっと違うみたいなので注意) curator action fileの基本の書き方 1から…

memcachedのサイズ別データ数のカウント

これは何 memcachedからredisへ移行したいので、redisのベンチマークを取っていたが、その時にmemcachedに保存されているデータがどれくらいのサイズがどれくらいの量で出現するのか確認した。その話を適当にまとめておく。 chunkサイズとslabについて 参考…

redisとmemcachedのベンチマークをmemtier-benchmarkで取る

これは何 redisとmemcachedのベンチマークを memtier-benchmark というツールで取った。 ざっくりまとめておく。 github.com memtier-benchmark と redis-benchmark の比較 主にmemtier-benchmarkのメリット。redis-benchmarkにできないこと。 redis, memcac…

fluent-plugin-ping-messageプラグインを最新のを入れるとtd-agentがunstable versionになるためバージョン指定する話

これは何 https://rubygems.org/gems/fluent-plugin-ping-message/ という Fluentd の plugin を最新化すると、同時に td-agent 本体も unstable な最新の 0.14 系にあがってしまい、ログ転送がたまにできなくなる事象が発生する。 その対策。 原因 この現象…

haproxy設定の自分メモ(redisのrevproとして)

これは何 redis+sentinelの前段にhaproxyを置いてクライアントがあんまりnode poolを意識しなくてもよさそうな感じにしたい。 devだけで適用して本番には適用していないので甘いところはあるかも。 方針 redis slaveにgetを負荷分散したりするほど負荷は高く…

redis設定について自分メモ

これはなに redis設定をした時の検討項目。 devで設定したのみでまだ本番で使っていないのであまいところはあるかも。 設定diff 以下は redis-3.2.8 に同梱されていた設定ファイルとplaybook template とのdiff。 diff /tmp/redis.conf roles/install_redis/…

nginxによるgzip圧縮について【技術メモ】

これは何 nginxでproxyするときにgzip圧縮してレスポンスする方法を学んだのでメモ書き。 nginx versionは 1.11.10。 動作確認 レスポンスヘッダに以下のものが含まれる Vary: Accept-Encoding Content-Encoding: gzip 設定内容 gzip_buffers 1000 64k ; 配…

Webエンジニアとして大事な仕事の進め方 3選(社会人4年目を前に考えたこと)【雑記】

これは何 そろそろ社会人4年目になろうという3月半ばである。 主に、これからの自分のために今まで仕事をしてきて考えたことを記録しておく。 振り返った時に、ここに書いてあることが正しいと思うのか、後から振り返った時に間違っていると思うのか。 間…

どこまで仕事を詰めてから人に確認してもらうか【雑記】

これは何 雑記です。 エンジニアとして仕事を可能な限り効率よく進めるために、仕事をどこまで仕上げてから他の人に最終確認してもらうか、という点について考える。 「チームとして」仕事を効率的に進めること、「個人として」効率的に進めることの二つの視…

kibanaで認証かけたいんだけど(nginxによるbasic認証)

背景 kibanaは認証もなくがら空きである。fluentで本番サーバのログをelasticsearchへ流してそれをkibanaでみる。本番のデータでいろいろ表に出ちゃいけない情報もあるので、社内であってもカジュアルすぎる感じで見られると嫌。 そういう訳でkibanaにnginx…

BIOSがバージョンアップできているか確認したい dmidecode コマンド

背景 サーバのfirmware のバージョンアップをやった。バージョンアップツールにBIOSのバージョンアップも同梱されているっぽい。実際にバージョンが上がっていることを確認した。導入が2011年ごとのサーバだったので2015年とか2016年に上がっていればOK。 (…

コマンドがないんだけど? を解決するwhereis コマンド

背景 CentOS 5系のサーバとかだとコマンドにいろいろパスが通ってなかったりする。 今までは mlocateパッケージを入れて、locateコマンドで探していたりした。 コマンド whereis コマンドはコマンドとかのありかを教えてくれる便利コマンド。 どのパッケージ…

MySQLで他のサーバからdataディレクトリコピーしてきたけど動かない【問題と解決】

背景 新たにMySQL Slaveサーバを構築したい。既存のSlaveサーバを一旦とめて、dataディレクトリごとコピーして配置。普段だったらmaster.infoとかも入っているし、すんなり動くが、今回はなんか動かなかった。 エラー mysqld start時に以下のエラー Starting…

MySQL脆弱性 CVE-2016-6662 について (2016 09 13現在)

これは何 MySQLにリモートでコード実行される可能性のある脆弱性 CVE-2016-6662 が発覚。その概要と対応をまとめる。 目次 これは何 目次 資料 対象バージョン ざっくり言うと? 設定ファイルが書き換えられるとなぜ攻撃になる? 今回の脆弱性 my.cnfに追記…

Vmware ESXi でVMホストのディスクが圧迫されてインスタンスが落ちる問題(原因と対策)

背景 バックアップ用DBを作るために、でかいディスクを持つ物理サーバの上にVmware ESXiをたてた。 DBに他のSlaveからデータをscpしてみたら途中で突然インスタンスが落ちた。起動もスナップショットの操作も出来ない状態。 インスタンスへのディスク割り当…

Dockerを立ち上げたいがホストOSのルーティングと衝突して上がらない件

背景 Scientific Linux 7.2 で、Dockerを立ち上げたときにエラーが出て上がらなかった。問題と解決。 エラーメッセージ # docker daemon --debug 最後の行に以下のもの。 FATA[0001] Error starting daemon: Error initializing network controller: Error c…

RHEL(Scientific Linux)7系でrouting追加ができない件(問題と解決)

背景 殆ど初めてRHEL7系を使った。7系でRouting設定に微妙にはまったのでメモ。 問題 以下のコマンドで追加しようとしたらエラーがでた。 # ip route add 172.16.0.0/12 RTNETLINK answers: No such device 解決 インターフェース名を指定してあげなくちゃダ…

initscriptの記述 LSB記法とchkconfig

背景 kibana をインストールするときに、initscriptを自分で作成した。その時に疑問に思った initscriptの記法についてメモしておく。 https://github.com/akabdog/scripts/blob/master/kibana4_init ここらへんを参考に自分でPATHなど変更して使った。上の…

読書メモ:達人に学ぶDB設計 徹底指南書

【参考】 達人に学ぶDB設計 徹底指南書 kindleで買って、一旦50%くらいまでさらっと読んだ状態。ざっくりER図がかけて、正規化が何かぼんやりわかるところまで。パフォーマンスチューニングについてはこれから。 【データベース設計】 やること エンティテ…

VagrantのCent6.6 のBoxを使ったらsshできなかった

背景 新しいMacを買って、VirtualBoxとVagrantを使ってAnsibleの足場環境を作りたい。CentOSのVMを立てようとした。 http://www.vagrantbox.es/ ここから適当なBoxであるCentOS6.6をダウンロードしてきて使おうとしたがエラーが出てうまく vagrant up できな…

Rubyのインストール(rbenvを使った方法)

これは何 rubyのインストールの手順をまとめている。 参考 LinuxにRuby on Railsをインストールする LinuxにRuby on Railsをインストールする | tsuchikazu blog rbenv を使って ruby をインストールする(CentOS編) - Qiita 手順 rbenvのインストール まずRu…

VagrantfileでPrivate IPアドレスをふる

これは何 Vagrantで仮想環境を作るときに、プライベートIPアドレスをふっておきたい時の簡単設定 方法 "Vagrantfile"ファイルの以下の行のコメントアウトを外し、適当なIPに書き換える。 # config.vm.network "private_network", ip: "192.168.33.10" 他の仮…

Vagrantで適当なboxファイルを使ってみる

Vagrantで適当なboxファイルを使ってみる やった理由 前回の記事で導入できたOSはUbuntu系だった。 $ cat /etc/issue Ubuntu 12.04 LTS 普段はRedhat系のScientific Linuxを使っているので、ちょっと使いにくいかも、と思って、今度はCentOSをboxファイルを…

Vagrantをささっと使ってみる

背景 今回Vagrant使おうと思った背景は、家で仮想環境立ち上げるのにVirtualbox使ってSL入れようとしてインストールした。 そんで別ターミナルから接続しようと考えたときにネットワーク設定がめんどい。 Vagrantならとりあえずsshで接続できるじゃんと思っ…