orenoblog

エンジニアになりたいExcel方眼紙erの物語

aws_volume_attachmentリソース実行後にEBSにファイルシステムを作りたい

俺です。 remote-execというprovisionerがあります。 このprovisionerはresource内で定義できるのでaws_ebs_volumeで作成したEBSをaws_volume_attachmentでターゲットのEC2へAttachした後に、 mkfsとmountでオラオラできます。 chefとかansibleとか面倒にな…

俺の記憶がすっとんでもなんとか思い出すためのterraform tips

俺です。 terraform 0.3.5の頃から2015/8現在0.6.2まで使い続けてきた中で得たtipsです。 思い出したら追記する はず 。 terraform 0.6.2は使わない IAM Roleで認可された権限を認識しないバグがあり、IAM Roleを付与したEC2で動作しない。 ドハマりしたので…

Couchbase 3.0.1 cbbackupの話とcbbackupwrapper実行中のエラー Error with backup for running cbbackup

メムキャッシュだよぉーって言っておいて実は動いていたのはCouchbaseでした! というのを夢見る俺ですこんばんは。moxiで負荷分散されてたのどんな気持ち?って聞いてみたい。 今回はCouchbaseのバックアップツールである cbbackup とwrapper tool cbbackup…

Sensu 0.12にPagerDuty handlerを導入するまでの道のり

こんばんは俺です。最近SensuにPagerDuty handlerを導入して、PJに投下中です。 PagerDuty handlerは下記URLに記載されているとおりに導入できます。 Sensu Integration Guide - PagerDuty ただ今回PagerDuty handlerを導入したsensu serverは0.12を使ってお…

terraform <= 0.5.X で EC2のchange instance type

terraformと手動オペレーションでterraformを使ってlaunchしたEC2のインスタンスタイプを変更した時の話。 terraformにAWS EC2のinstance typeを変更するresourceはまだ提供されていません。(議論は issue#1270などで行われているみたいですが) 基本的にterm…

出、出、出〜!xfs利用的resize2fs打奴〜〜〜www

xfsファイルシステムにresize2fs叩いてm9(^Д^)プギャーされる俺です。 これな。 xfs_growfs 8.4. XFS ファイルシステムのサイズの拡大

HAProxyで実現するGalera Clusterノードのサービス脳筋的無停止メンテナンス

HAProxyのエンドポイントとなるGalera Clusterをメンテモードにすることで、 Galera Clusterへのアクセスを停止することができ、サービス無停止でのメンテナンスが実現できる。 利用例 インスタンスタイプの変更 メンテナンスイベントからの回避 ※パッケージ…

MariaDB Galera Cluster Known Limitationsを勝手に翻訳

MariaDB Galera Cluster - Known Limitationsの日本語訳です。 ありがとう同僚のInoiうじそしてGoogle翻訳こんにゃく MariaDB Galera Cluster既知の問題 この記事ではMariaDB Galera Clusterの既知の問題と制約に関する情報を記載しています。 codership.com…

脳筋的QCachegrind on Mac OSXのメモ

出, 出, 出, 脳筋的関数呼出回数調査奴~~~wwww Macに入れる方法 QT入れる homebrewでgrapvizとqcachegrindをインストールする $ brew install grapviz $ brew install qcachegrind 起動 $ qcachegrind QCachegrindを使ったXdebug等のCachegrind形式ファイル…

PHPの物理魔法Xdebugを導入する

php

XDEBUG使うとアレなコードをアレするときに非常に役立ちます。 以下はmod_php使ってる時の例 /usr/local/bin/php-config ./configure --enable-xdebug --with-php-config=<php-configのフルパス> $ /etc/php.d/xdebug.ini zend_extension=xdebug.so xdebug.profiler_enable=1 xdebu</php-configのフルパス>…

/usr/bin/mysql_install_db実行時にFATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:

# /usr/bin/mysql_install_db FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db: Data::Dumper 上記が出たら # yum install -y perl-Data-Dumper でData-Dumperモジュールを導入してmysql_install_dbを…

MySQLに保存するデータ暗号化方式下載

Oracleでは表領域暗号化等、多数の暗号化機能がありましたがMySQLではどうするのかというと Encryption関数が提供されていました。 MySQL :: MySQL 5.5 Reference Manual :: 12.13 Encryption and Compression Functions EncryptionはAES128のようですが、My…

脳筋的に実現するsensu-client bootstrapパターン

standaloneモードで稼働するsensu-clientがインストールされたEC2インスタンスをコピーすると、 sensu-clientのnameが重複して色々面倒なのですが、これでかいけつ。 Amazon Linux 2014.09で動作確認済み。IAM Roleを付与してEC2 ReadOnly以上を与えておくこ…

Sensuの通知をslackで受け取るインターネット入門

Sensu使ってますか?便利ですね(色々ありますが) ほとんどの通知はメールで受け取っているのですが、最近slack pluginを導入して一部のホストcheckをslackで受け取るようにしました。 sensu-community-plugins/slack.rb at master · sensu/sensu-community-…

Galera Cluster に Asynchronous replicateion ノードを追加する

こんばんは。 Galera Clusterを構成しているCluster nodeにはMySQLレプリケーションノードが追加できます。 以下はパラメータの設定例ですが log_slave_updates は必ず有効にしておかないと、 SlaveノードでCHANGE MASTER TOを実行したノードからのトランザ…

Infrastructure as 脳筋のためのchef recipe tips. HAProxyの例

chef-zeroのC/S wrapper knife-zero使ってますか? とても便利です。重宝しています。 higanworks/knife-zero · GitHub 個人的にchefの真髄であるsearchが利用できるため、chef-soloと違って関連nodeの情報をattributeに記述すること無くrecipeを記述でき、 …

Infrastructure as 脳筋のためのterraform tips

terraform始めました。 使っていてこれはどーすりゃよいのかしらと思っていたことが実装できたのでメモを残します。 (1)AWS Security Groupを用いて内部通信ツーツーの設定を作りたい Security GroupにAll trafficを許可するInboundルールを書くことがあると…

HAProxy経由でGalera Cluster MariaDBに接続する

oreですこんばんは。 アプリケーションサーバからGalera Clusterへの接続をどうやって行うか考えており、HAProxyで実装してみました。 以下動作確認結果です- 環境 OS Amazon Linux 2014.09 ミドル ミドル バージョン ロードバランサ HAProxy 1.5.9 データベ…

Galera Cluster MariaDBエラーtips

oreが遭遇したエラーtipsまとめ (1) Percona Xtrabackupインストールしてないのにwsrep_sst_method=xtrabackup奴wwww Galera Clusterの検証環境をつくろうと思って、既にある環境からmy.cnfを丸コピしてきたものを使って、 初期ノード起動後、2台目以降のGa…

EBSスナップショットでMySQL用データディスクをバックアップ

突貫版を直したもの。 EBSスナップショットでMySQLデータディスクをバックアップします。 スレーブDBで実行することを想定してます。 jq必要です(入ってないならインストールするを追加しておこう..あとで間違いなく忘れる) service mysqld stop してるけど…

ELBでSSL TerminationしてるとPHPMyAdminが辛かった件

ドはまりした。 助かりましたほんと.. phpmyadminをSSLアクセラレータ環境下で使用する - うまいぼうblog

MariaDB Galera Clusterのバックアップ・リストア - EBS Snapshotパターン

EC2で稼働しているMariaDB Galera Clusterのバックアップ/リストアプランについて考えています。 mysqldump Percona Xtrabackup Clusterグループのメンバーノードを切り離してbackup 4.データベースのテーブルをFLUSH TABLES WITH READ LOCKしてストレージの…

3秒で準備するCouchbase Server 3.0

俺です。 CouchbaseのWebUIはシンプルで良いのですが、どうしても初期セットアップはCLIでという方に。 OS: Amazon Linux 2013.09 Couchbase: 3.0.1 全ノード Couchbase 3.0のインストールとClusterの初期化 # wget http://packages.couchbase.com/releases/…

oreno knife-zeroメモ

chef-soloは将来サポートされなくなる。 今のうちにchef-zeroもといknife-zero使って未来に行けるかのメモ ※ご参考 knife-zero作者さま Chefのローカルモードだけでリモートサーバを運用してみようと、Knife-Zeroを作った。Nodeの構成情報もとれるよ。 - Qii…

俺でもできるシリーズCouchbase Server 3.0 Cluster Nodeの登録とXDCRの設定

Couchbase Server2.5の準備を行ってから時間が経ってしまいました。 気がついたら3.0がリリースされたので試してみたいと思います。 今回のゴール Couchbase ServerのClusterを準備 XDCR(cross data center replication)用Couchbase ServerのClusterを別AZに…

3分で準備するCouchbase Server

Couchbase ServerはmemcachedプロトコルのKVSとCouchDBをベースに作られたドキュメント型データベースをあわせ持つ、ドキュメント指向型NoSQLデータベースです。 マルチマスタを担うためのクラスタ内でのレプリケーションや、リバランス機能、 ディザスタ・…

Amazon Linux AMI release 2014.03でcheckinstallがmakeできない

ハマった。けど解決はここに。 ありがとうございます。 Mitzyuki's Blog :: Amazon Linux AMI 2014.03.1 (64bit) への checkinstall 導入 checkinstallのmakeが通ったらrpm化しておきましょう。

深淵の闇から逃れる為のMariaDB Galera Cluster 5.5 入門

MariaDB Galera Cluster 5.5を試す oujiにMySQLの深淵の闇(マスタ昇格とかマスタ昇格とか)から逃れたいと相談したところ MariaDB Galera Clusterが良いと教えてもらったのでやっとこさ試した記録を残します。 RDS最高なのですが、選定できないと思われるケー…

AWSのRootアカウントはHardware MFAで守ろう

aws

プライベートで作ったAWSアカウントをHardware MFAに紐付けました。 怖い人にアカウント乗っ取られて別の意味でクラウド破産しないように、自身のRootアカウントはHardware MFAで守りましょう。 やりかたスクショ撮ろうかと思ったけど、ドキュメント最高だっ…

8月やったこと2

ウッしか言わなかった気がする。 ebs optimized指定しよう

8月やったこと

失敗をカバーするのはコード力だよなって思った。

monitのrecipe

pidファイルをチェックするタイプのmonit.confを一気に作りたいとき。 recipes/defualt.rb service "monit" do action :nothing end common_process = ["ntpd", "sshd", "crond"] common_process.each do |proc| template "/etc/monit.d/#{proc}.conf" do so…

LVM Typeのパーティションを拡張する

起動したAMIのディスクボリュームがLVMだったので、partedでの既存パーティション拡張はできません。 LVMなんだから新しいパーティションを作成してvgextendしたら良いのでは・・・と思うものの、 既存パーティションが拡張できないか試してみました。sfdisk…

tripwireでデータベースレポートに取り込み中のエラー

辛いのでtripwire --initした ### Error: Database Update Old Property Mismatch. ### The report may be out of sync with current database. ### The old properties for an object do not match the properites stored in the ### database. ### Object …

7月やったこと

もう自分の中では8月。 何していたか覚えてないぐらいの速度感なのでメモ残す cloudネイティブなNW設計の指針を学んだ、最高すぎる kumogataが神, VPCとSGぐらいは自力でさくっと作れるようになりたい packerで俺俺AMI作るの最高。 user_dataのbootstrapパタ…

オートスケール

aws

オートスケール実装してるですが、結構時間かかりますね。人力よりはやいけど。 スケールアウト条件 bootstrapにかかる時間 ELBのヘルスチェック間隔 アプリデプロイ含めたbootstrapにかかる時間が結構厳しいので、実質10分ぐらいかかる。 bootstrapを短縮す…

CloudformationでEC2にPublicIP+固定PrivateIPを割り当てる

いつからCloudformationだと思った? やったーー!!kumogata(winebarrel/kumogata · GitHub)でした! JSON書くのはExcel方眼紙のプリントレイアウト設定するのと同じぐらいに辛いので、kumogataを使いました。 cloudformationドキュメントを読んでいるとEC2…

cgiファイルがダウンロードされる

mod_cgi.soをLoadModuleしてなかった。 つらい

dstatでプロセスごとのI/O使用量を計測する

対象:CentOS 6系 dstat --top-bio -al

3ヶ月で一気にやったこと

とにかく若さに嫉妬した3ヶ月だった。 自分が20台後半の時はエクセル方眼紙=Immutable 大正義 structure だった気がする。嗚呼黒歴史。 嘆いても過去は戻ってこないのよ。 さて何やってたか忘れてしまいそうなのでメモ残す。 Customer Obsession 決して言い…

metricをgraphiteに飛ばすとき忘れない事

眠いですこんばんは 2回も同じこと忘れてたのでメモ メトリクスを飛ばす時は"type":"metric"を指定する メトリクスを処理するハンドラを記述 これらを指定しないとmetrics収集プラグインは動作するが、rabbitmqという流しそうめん機に流れていってもsensu-s…

ohai最高って思うとき

ohaiございます私です 例えばsensuコミュニティプラグインのcheck-redis-memory.rbを利用するとき、 maxmemoryパラメータを設定していない場合、 サーバに搭載されているメモリ量と比較して使用率を判定してみます。 ohaiのmemory attributeを使うと幸せにな…

logmonでfuelphpのログを監視する

logmonの導入とPatch http://www-06.ibm.com/jp/linux/tech/doc/00057580.html ERRORという文字列が含まれていたらsyslogに出力 :<app_path>/fuel/app/logs/`date +"%Y/%m/%d"`.php (ERROR ) /bin/logger "/<app_path>/fuel/app/logs/`date +"%Y/%m/%d"`.phpでエラー検知 <%%%%>"</app_path></app_path>

knife solo実行時にERROR: ArgumentError: invalid byte sequence in UTF-8

本日も楽しい料理の時間が始まるよーと思いきや。 knife solo cook orenomac$ bundle exec knife solo cook orenoserver Running Chef on orenoserver... Checking Chef version... ERROR: ArgumentError: invalid byte sequence in UTF-8 どういうことだっ…

さぶversionのadd

svn

svn add するとデフォルトは再帰的に取り込まれる。 svn add --no-recursiveで指定したディレクトリのみ取り込むことができる。

Graphiteインストール時にNo version specified, and no candidate version available for Django

sensuのGraphiteハンドラを使いたい私ですこんばんは。 Amazon LinuxでGraphiteをインストールしようとknife solo cookしたのですが、 Graphiteが利用するDjangoフレームワークが無いとエラーが出てしまいました。 Berksfile cookbooks "graphite" run_list …

yum実行時 Error: Multilib version problems found.

寝不足。終電が近い。初チャレンジ又は超久々の作業。 これが死亡フラグ ServerProtect for Linux インストール作業中に、前提パッケージが入らず本気で悩んだのでメモを残す。 yum力が足りないコピペerで本当すいません。 yumのデータベースが破損してる可…

Nginxのコンパイルオプション

Amazon LinuxにRPMパッケージでインストールされていたnginx(1.4)のコンパイルオプションを流用して CentOSにNginx 1.6を入れるための作業メモ 前提パッケージ sudo yum install pcre-devel sudo yum install gd-devel sudo yum install perl-ExtUtils-Embed…

sensu-clientに独自attributeを持たせたい(additional parameter)

sensu-pluginをテストしてる私ですこんばんは。 自分で見つけたわけではないのですが、忘れてしまうのでadditional parameterについてメモします sensu-clientをserverへ登録するときに与えられるパラメータは固定されているように見えます。 parameter 意味…

RDS Oracle 起動時に指定するDB Engine Versionのv*について

世間でOracleが9iR2だった頃、Oracle 7.1と戯れていた私です。初めて触れたOracleは7.1.6でした。 runInstallerではなくorainstで、メディアもテープでした。インストールに丸一日。失敗したらもう一日。 自分と同世代でsqldba lmode=yをご存じの方はは少な…