雑記

インフラのことだったりプログラムのことだったりどうでもいいこと書いたり。要は雑記。

sensuのおれおれベストプラクティス

sensuを導入してみました。 で、その導入時に困ったのが、subscriptionsのグルーピング設計や設定ファイルの置き方なんですね。 ネットの情報を見ててもインストールしてみたーや他のサービスとの連携だったりがまとまっていて、実際にどのように設定してい…

sensuのkeepalive間隔

sensuは30秒毎にクライアント毎にkeepaliveする。 この30秒はハードコーディングされているため、設定できない(おそらく) /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.14.0/lib/sensu @timers[:master] << EM::PeriodicTimer.new(30) do 他のchec…

vagrantでマウントしているディレクトリの注意点

vagrant使うとローカル環境のディレクトリがマウントされているじゃないですか。 その領域をドキュメントルートとした場合、ファイルを更新してブラウザでリロードしても反映されなかったので、その対策めも。 原因 簡単に言うとキャッシュ。webサーバでなく…

sensu クライアントを監視対象から削除

APIをたたく必要あり。 (削除しないとずっとエラーのままで残ります) コマンドだと以下。 curl -X DELETE http://sensu-apiのip:4567/clients/[clientの名前] 例えばAPIが「192.168.33.10」で「hogehoge」というクライアントを監視対象から削除したい場合は…

sensuでembedded rubyを使う

embedded ruby=sensuにbundleされているrubyのこと。 yumでインストールした場合は/opt/sensu/embedded/bin/rubyに格納されているやつ。 設定は以下の通り。 /etc/default/sensu EMBEDDED_RUBY=true 元はfalseだけど、上記設定をtrueにすればいいだけ。 fal…

巷で話題のsensuをインストール

乗り遅れ気味ですが、実際に使ってみましたよ。 http://sensuapp.org/ 感想としてはいい感じ。何がいい感じというと柔軟性の高さがいい感じ。 APIは充実してるし、pluginも作りやすいし。 公式でmonitoring frameworkと名乗っちゃってるあたり素敵ですね。 …

Zabbix + Hyclops 自動登録されるホストのグループ設定をする

AWSAccountテンプレートのマクロ設定時に{$VM_GROUPS}も設定すること。 でないと「host追加時にグループ設定されていないからhost追加できないよ」、というメッセージがでます。 こんなメッセージ。 /opt/hyclops/logs/hyclops_server.log [2014-09-18 16:35…

vagrantを日本語対応する

Vagrantで作ったCentOSだと日本語対応していないので設定。 LOCALE パッケージのインストール # yum groupinstall "Japanese Support" 設定 # localedef -f UTF-8 -i ja_JP ja_JP.utf8 LANGの修正 LANG="ja_JP.UTF-8" 時刻 /etc/sysconfig/clock ZONE="Asia/…

vagrantで同じBoxファイルで複数のOSを立ち上げる

Vagrantfileに以下のように設定する config.vm.define :default do | default | default.vm.hostname = "default" default.vm.network :private_network, ip: "192.168.33.10", virtualbox__intnet: "intnet" end config.vm.define :client do | client | cl…

fluentdとzabbixを連携(1)

fluentdとzabbixを連携してみるよ。 今回はお試しということで、Apacheのステータスコードを集計してzabbixに送ってみる プラグイン fluentdの以下のプラグインを利用 datacounter zabbix プラグインのインストール # /usr/lib64/fluent/ruby/bin/fluent-gem…

flutentdのインストールから設定

いい加減サーバに入ってログ見て原因さぐって、、というのが手間になってきた。 もうちょっとさくっとログをチェックしたいですね。 さらにいうとログ監視もこれでできちゃうともっと素敵ですね。 目的 以下のログを解析したい Apacheのアクセスログ メール…

virshの使い方

KVMをCLIで操作するコマンドのvirshのメモ。ちょくちょく更新する。かも。 とりあえずこまったら このコマンドを実行! # virsh help 情報の表示 稼働中のVMの一覧を見たい # virsh list 停止中も含めVMの一覧を見たい # virsh list --all 稼働中のネットワ…

GateOneをインストールしてみた

GateOneって? ブラウザ上でコンソールを提供するらしい。よくあるクラウドサービスの管理画面で操作するコンソールみたいなものかな?(とも思ったけど違った…) http://liftoff.github.io/GateOne/ インストール環境 CentOS6.5 動作環境 公式より Python 2.6…

ローカルディスクとNFSとGlusterFSの読み書き速度の比較

簡単なスクリプト作って計測してみた。 全てサーバ・クライアント共にKVM上で実施。 計測対象 クライアントのローカルディスク NFS領域(asyncオプションつき) GlusterFS領域 計測方法 write dd使って1Gのファイルを作成して計測 read 1Gのファイルをcatをtim…

CentOS6にGlusterFSを構築

GlusterFSについて 分散ファイルシステム。詳細は以下がとても参考になりました。 http://itpro.nikkeibp.co.jp/article/COLUMN/20130104/447701/ ボリュームについて distributed ファイル単位でボリューム内のbrickに分散させる GlusterFSのデフォルトの動…

LDAP構築メモ

LDAPを作る機会があったので構築メモ。 環境 CentOS6 LDAP Server install # yum install openldap-servers openldap-clients 設定 DBの設定 # cd /home/ldap # cp -a /usr/share/openldap-servers/DB_CONFIG.example DB_CONFIG slapd.dの初期化 # cd /etc/o…

MySQLにSSL接続してみる

環境 OS CentOS5系と6系で確認 MySQLのバージョン 5.0系、5.1系、5.5系で確認 設定可能なMySQLのバージョン 5系から SSLが有効となっているか確認 mysql> show variables like '%ssl%'; +---------------+----------+ | Variable_name | Value | +----------…

vyattaを使ってみた

vyattaって? ソフトウェアルーターです。DebianベースのLinuxです。 ちょっとルーターを作らなきゃいけなくなり、Centとかでも作ってもよかったんだけどどうせならということで使ってみました。 環境はVMwareでの仮想環境です。 ダウンロード 以下のページ…

redisのインストールと使い方

今更ながらredisについてお勉強。 インストールまではやってたのですが、なかなか使う機会がなく。。 redisって? 「危険なほどのスピード」とか言われてますね。 実際の機能としては永続化できるオンメモリ型のKVSという点がよく注目されていますが、多様な…

zabbixでnginxの接続状態を確認する

nginxにはstub_statusというnginxへの接続状態を提供する機能があります。http://wiki.nginx.org/HttpStubStatusModule#stub_statusApacheでいうserver-statusですね。せっかくなのでこのstub_statusの値をzabbixから取得できるようにしてみました。 nginx側…

nginxのproxy_set_headerの設定場所

若干はまったのでメモ。 何が起きたか 設定をちょこちょこ修正してたらproxy後にheaderがうまく付与されなくなりました。 その時の設定 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded…

nginx+varnish+apache+phpの環境構築(3)

前回と前々回の続き。今回はvarnishの設定。 各設定の補足はコメントにて記載。 *設定 # # backend # backend app { .host = "app.hogehoge.com; .port = "80"; } # # acl purge setting # acl purge { "localhost"; "127.0.0.1"; } sub vcl_recv { set req.…

nginx+varnish+apache+phpの環境構築(2)

前回の続き。というわけで設定を晒してみる。 今回はLBのnginxの設定。 基本設定 nginx.confの設定 worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx…

nginx+varnish+apache+phpの環境構築(1)

最近nginxを調べてたのはこれがやりたかったからです。 長くなりそうだから複数に分けます。 環境 OS CentOS6.4 lb nginx1.4.1 cache varnish3.0.3 web(静的) nginx1.4.1 web(動的) apache2.2.15+php5.3.3 構成 Internet ------------------------------- | …

sphinxの基本的な記法メモ

sphinxって? python製のドキュメンテーションビルダー。 何でも開発者が使うと幸せになれるとかなれないとか。 というわけで 使ってみてるけどなかなかいい感じ。 viで書けたりgitとかでバージョン管理出来るのがよいですね。 ただhtmlをプレビューで見れな…

nginxのアクセスログに特定のファイルの記録を除外する

画像とかjsとかcssとかの記録を除外する方法。 location / { if ($uri ~ \.(gif|jpg|png|ico|js|css)$) { access_log off; } ・ ・ ・ }ログの書き出しって割と重いから、少しでもこれでリソースを節約。

nginxでロードバランス設定メモ

ロードバランスというかupstreamの設定に関するメモ。 参考 http://nginx.org/en/docs/http/ngx_http_upstream_module.html 振り分けの重みづけしたい weightで調整 upstream backend { server example-1:8080 weight=4; server example-2:8080; }上記設定で…

nginxのgeoモジュールが便利すぎる

なにができるの? REMOTE_ADDRを列挙して変数に格納できます。 設定してみる 特定のIPしかアクセスさせたくないコンテンツがあるとします。 今回は例として「/admin」以下へのアクセスはローカルネットワークからのアクセスのみを許可させます。 http { ・ …

mronngaを試してみた

mroongaでテストしてみたよ。 環境 CentOS5.9(32bit) CPU 1コア 3GHz memory 1G VMware上で作成 MySQL5.6 + mroonga3.01 準備 今回ははてなキーワードを使ってみた http://d.hatena.ne.jp/keyword/%25A4%25CF%25A4%25C6%25A4%25CA%25A5%25AD%25A1%25BC%25A5%…

あれ

記事の投稿が3月32日になってるw エイプリルフールネタかwhttp://gigazine.net/news/20130401-aprilfool/