仕事でJenkinsを使ってるのですが、Jenkinsをビルドツール以上に、「定期実行してくれるもの全て」を管理するジョブ管理ツールとして使うことに疑問を覚えたので、メモします。 Jenkinsは継続的インテグレーションツールであって、ジョブ管理ツールではない…
watchとは consulのwatch機能は、サービスなどを監視し、状態が変化したときに指定した処理を実行する機能です。 公式によると、以下の条件でwatchは発動するようです。 https://www.consul.io/docs/agent/watches.html Key/Valueが変化したとき Key Prefix…
consul exec consulにはconsul execという便利なコマンドがあります。 これは、consulクラスタに属しているメンバに対して一斉にコマンドを発行できるというものです。 しかも、発行先を選択することができ、データセンタ単位やノード単位だったり、それを正…
consulのacl consulは、aclによって実行制限を行うことができます。 ここでは、multi datacenterでacl管理を行うための、設定と効果を見てみます。 きっかけは、consulの設定の中にacl_datacenterというものがあるのですが、ネット上のいろいろなページを見…
consulをいろいろと検証してみているので、分かったことをまとめます。 consulのversionは0.5.2です。 consulとは consulとはservice検出、healthcheck機能やkey/value store機能を持ったクラスタリングソフトです。 https://www.consul.io/ 公式によると以…
/etc/logrotate.d/ 配下でログローテートの設定を行ったときに、ローテートが実行されてもどうしてもパーミッション設定が変わらないことがありました。以下のような設定をしていたときです。 /etc/logrotate.d/sample /var/log/hoge.log { daily rotate 7 m…
chefでいうmetadata.rb中のdependsが保証する依存性がどこまでなのかを勘違いしていたのでメモしておきます。 結論からいうと、 depends指定はattributeの参照先として読み込むだけ の機能でした。 dependsにより保証されること depends参照先cookbookのattr…
configファイルの記述の正当性をserverspecでテストするときは、ヒアドキュメントを使うといいかも、という話です。 configファイルを普通にテストする serverspecで、configファイルの記述をテストするとき、普通はits(:content)matcherを使います。 descri…
前回CentOS6にCheckInstallを導入したので、今回はCheckInstallを使ってruby-2.2.0をrpm化してみます。 以下を参考にしました。 CentOSにRubyをcheckinstallでRPMにしてインストールする。 - オープンソースこねこね # wget http://cache.ruby-lang.org/pub/…
ruby-2.2.0のrpmを作成したかったので、checkinstallをCentOS6 (64bit)に導入しました。 CheckInstallとは ソースコードからmake, make installによってインストールするソフトウェアについて、rpmなどのパッケージングを自動で行ってくれるソフトです。 こ…
以下の方法でconsulを検証していたのですが、1個だけハマったのでメモ。 Dockerを使って軽くConsulを触ってみる - さくらのナレッジ 基本的に上記方法に従います。 構成 Mac -> CoreOS(VM) -> docker container docker container上でconsulを起動し、それをm…
zabbixでシステム運用に関わっている人間が、sensuを使った運用にチャレンジした話です。 結論としては、運用に本格的に入る前に、sensuの導入を断念しました。 sensuとは sensuは、クラウド環境に親和性の高い監視・モニタリングソフトウェアです。 http://…
社内から社外へは接続できるけれども、社外から社内へは自由にアクセスできない…というのがよくあるセキュリティだと思いますが、この方法を使うことで、セキュリティ設定を変更せずに外部からアクセスが可能になります。 最初にこの方法を教えてもらった時…
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 ===================…
特定のプロセスを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のホストの自動登録機能の問題点 Zabbixでのホストの自動登録機能は、Zabbixエージェントを導入したノードに、自動的にホストグループの組み込みやテンプレートのリンクを行うできる便利な機能です。これにより、はじめてZabbixエージェントを導入した…
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 普段…
前々回、kibanaのサービスとしてkibana-daemon.rb(を中で使っている/etc/init.d/kibana)を使っていました。 chefで、最初にkibanaをインストールしてサービスを起動しようとしたときに、 サービスがなぜかスキップされて起動しません。recipeではちゃんと指…
Rubyをほとんど使ったことがなくて、そのままchefのrecipeを書こうとすると、いろいろと細かいところがどう書くのか分からなくなります。 ということで、個人的に困ったところをメモします。 複数のリソースを使う %w{... ...}で必要な分だけ記入して、each…
もともとはkibanaインストールディレクトリ内に、sample/kibanaが存在していて、これを/etc/init.d/向けに使おうとしたときにはまった話。 試しに実行してみる。 $ cd sample $ ./kibana start $ ところが、何も起こらない。 $ ps -ef | grep kibana $ 特に…