右往左往ブログ

日々よりみち

最近のジョブスケジューラは何がいいのか

仕事でJenkinsを使ってるのですが、Jenkinsをビルドツール以上に、「定期実行してくれるもの全て」を管理するジョブ管理ツールとして使うことに疑問を覚えたので、メモします。 Jenkinsは継続的インテグレーションツールであって、ジョブ管理ツールではない…

consul watchの変な挙動

watchとは consulのwatch機能は、サービスなどを監視し、状態が変化したときに指定した処理を実行する機能です。 公式によると、以下の条件でwatchは発動するようです。 https://www.consul.io/docs/agent/watches.html Key/Valueが変化したとき Key Prefix…

consul : aclを利用して特定のdcからのみconsul execを実行可能なようにアクセス制限をかける

consul exec consulにはconsul execという便利なコマンドがあります。 これは、consulクラスタに属しているメンバに対して一斉にコマンドを発行できるというものです。 しかも、発行先を選択することができ、データセンタ単位やノード単位だったり、それを正…

consulのacl管理とconsul execの関係

consulのacl consulは、aclによって実行制限を行うことができます。 ここでは、multi datacenterでacl管理を行うための、設定と効果を見てみます。 きっかけは、consulの設定の中にacl_datacenterというものがあるのですが、ネット上のいろいろなページを見…

consulのdatacenter間接続

consulをいろいろと検証してみているので、分かったことをまとめます。 consulのversionは0.5.2です。 consulとは consulとはservice検出、healthcheck機能やkey/value store機能を持ったクラスタリングソフトです。 https://www.consul.io/ 公式によると以…

logrotateでcreate時にパーミッションが効かない

/etc/logrotate.d/ 配下でログローテートの設定を行ったときに、ローテートが実行されてもどうしてもパーミッション設定が変わらないことがありました。以下のような設定をしていたときです。 /etc/logrotate.d/sample /var/log/hoge.log { daily rotate 7 m…

chefの依存定義(depends)を勘違いしていた話

chefでいうmetadata.rb中のdependsが保証する依存性がどこまでなのかを勘違いしていたのでメモしておきます。 結論からいうと、 depends指定はattributeの参照先として読み込むだけ の機能でした。 dependsにより保証されること depends参照先cookbookのattr…

serverspecでconfigファイルを複数行まとめてテストする

configファイルの記述の正当性をserverspecでテストするときは、ヒアドキュメントを使うといいかも、という話です。 configファイルを普通にテストする serverspecで、configファイルの記述をテストするとき、普通はits(:content)matcherを使います。 descri…

CheckInstallでruby 2.2.0のrpmパッケージを作成する

前回CentOS6にCheckInstallを導入したので、今回はCheckInstallを使ってruby-2.2.0をrpm化してみます。 以下を参考にしました。 CentOSにRubyをcheckinstallでRPMにしてインストールする。 - オープンソースこねこね # wget http://cache.ruby-lang.org/pub/…

CentOS6にcheckinstallを導入する

ruby-2.2.0のrpmを作成したかったので、checkinstallをCentOS6 (64bit)に導入しました。 CheckInstallとは ソースコードからmake, make installによってインストールするソフトウェアについて、rpmなどのパッケージングを自動で行ってくれるソフトです。 こ…

consulをdockerで動かすときにホストからアクセスするときのメモ

以下の方法でconsulを検証していたのですが、1個だけハマったのでメモ。 Dockerを使って軽くConsulを触ってみる - さくらのナレッジ 基本的に上記方法に従います。 構成 Mac -> CoreOS(VM) -> docker container docker container上でconsulを起動し、それをm…

zabbixで運用していた人間がsensuを触ってみた感想

zabbixでシステム運用に関わっている人間が、sensuを使った運用にチャレンジした話です。 結論としては、運用に本格的に入る前に、sensuの導入を断念しました。 sensuとは sensuは、クラウド環境に親和性の高い監視・モニタリングソフトウェアです。 http://…

外部(からの)アクセスに便利なsshポートフォワーディング

社内から社外へは接続できるけれども、社外から社内へは自由にアクセスできない…というのがよくあるセキュリティだと思いますが、この方法を使うことで、セキュリティ設定を変更せずに外部からアクセスが可能になります。 最初にこの方法を教えてもらった時…

Chefからsensuをインストールする時にerlang導入で失敗する

sensuをChefでインストールしようとすると、途中でエラーになって止まります。 Sensu | An open source monitoring framework AWS EC2 CentOS 6.4 sensu-chef 0.8 sensu 0.12 Recipe: erlang::package * package[erlang] action install ===================…

pgrep, pkillでプロセスをkillする

特定のプロセスをkillするときは、いつも以下のようなコマンドを使っていました。 # ps -ef | grep java | grep -v grep root 12927 1 2 15:51 pts/0 00:00:05 java -Xmx64m -jar start.jar # kill 12927 もっといい方法はないのかと思っていたら、pgrepやpk…

ZABBIXのホスト自動登録機能でJMXの設定を行う

ZABBIXのホストの自動登録機能の問題点 Zabbixでのホストの自動登録機能は、Zabbixエージェントを導入したノードに、自動的にホストグループの組み込みやテンプレートのリンクを行うできる便利な機能です。これにより、はじめてZabbixエージェントを導入した…

curlコマンドでプログレスメータを表示させない

curlコマンドをパイプでリダイレクトすると、大体以下のような標準出力になります。 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 68 0 68 0 163 1893 4538 --:--:-- --:--:-- --:--:-- 0 普段…

chefでserviceを正しく管理する(kibana)

前々回、kibanaのサービスとしてkibana-daemon.rb(を中で使っている/etc/init.d/kibana)を使っていました。 chefで、最初にkibanaをインストールしてサービスを起動しようとしたときに、 サービスがなぜかスキップされて起動しません。recipeではちゃんと指…

Rubyを知らずにchefでrecipeを書くときのTips

Rubyをほとんど使ったことがなくて、そのままchefのrecipeを書こうとすると、いろいろと細かいところがどう書くのか分からなくなります。 ということで、個人的に困ったところをメモします。 複数のリソースを使う %w{... ...}で必要な分だけ記入して、each…

Kibanaでkibana-daemon.rbを実行する時にはまった話

もともとはkibanaインストールディレクトリ内に、sample/kibanaが存在していて、これを/etc/init.d/向けに使おうとしたときにはまった話。 試しに実行してみる。 $ cd sample $ ./kibana start $ ところが、何も起こらない。 $ ps -ef | grep kibana $ 特に…