ログってなんぼ

日々のメモです

infra

Ansible:pipeliningを使ってplaybookの実行を高速化

http://docs.ansible.com/ansible/intro_configuration.html#pipelining playbookが大きくなってきたら更に恩恵ありそうな予感がする結果となったため作業内容をメモ。 普通に実行した時の実測値がこちら PLAY RECAP **************************************…

ansibleでcronをセットする

cron - Manage cron.d and crontab entries. — Ansible Documentation ここを見ながら。 タスクを追加 実行するスクリプトとcronモジュール - name: ダンプスクリプトの配置 become: True template: src=roles/db_slave/templates/dump_to_rds.sh.j2 dest=/u…

ansibleでディレクトリの存在チェックをする

ディレクトリを作成するタスクに、ディレクトリの存在チェックを導入するメモ 失敗例 普通にディレクトリを作成 - name: ディレクトリを作る become: True file: path={{ file_mountpoint }} state=directory owner=root group=root mode=0755 2回目以降の実…

ansible : エラーを無視して先へ進むオプション

ansible助かってます^q^ 本番環境での使いドコロがちょっと今すぐ思いつかないですが、エラーで止まってしまった場合、そこで処理を中断せずに無視して先の処理へ進むようにすることができるのを知りました。 Error Handling In Playbooks — Ansible Docu…

Ansible:roleを用いてrbenvとrubyをインストールする

appロールを作り、rbenvとrubyをインストールして使用できるようにするメモ hosts [app] app01 ansible_host=xxx.xxx.xxx.xxx app.yml --- - hosts: app roles: - app roles/app/tasks/main.yml --- - name: 開発ツールをインストール become: True yum: nam…

ansible : NFSクライアントを構成する

nfs関連のミドルウェアをインストールして、任意のNFSをマウントするまで CentOS6.5。 roles/app/defaults/main.yml --- file_mountpoint: /path_to_mountpoint file_server: xxx.xxx.xxx.xxx roles/app/tasks/main.yml - name: NFSクライアントをインストー…

ansible : 設定ファイルの優先順位

ansible.cfgの置き場所について ansibleの設定ファイルであるansible.cfgの置き場所には優先順位がある 環境変数 ANSIBLE_CONFIG にて指定されたパス カレントディレクトリの ansible.cfg (./ansible.cfg) ユーザーHOMEの .ansible.cfg (~/.ansible.cfg) /et…

ansible:notifyとhandlerを使ってサービスを再起動する

またメモ。 - hosts: all become: True tasks: - name: stop root login via ssh lineinfile: dest: /etc/ssh/sshd_config state: present regexp: "^PermitRootLogin without-password" line: "PermitRootLogin no" backup: yes backrefs: yes validate: "s…

ansible:sudo可能なユーザーを作成し、authorized_keyを更新する

単なる作業メモ --- - hosts: all become: True tasks: - name: add a new user user: name=hogeuser state=present - name: add a sudo user lineinfile: "dest=/etc/sudoers backup=yes state=present regexp='^hogeuser' line='hogeuser ALL=(ALL) NOPASS…

ansibleを試してみたメモ

CentOS6のサーバーに対して、ローカルのmacからansibleを使って見たメモ macにansibleをインストールする Homebrew なら簡単にインストール可能 $ brew install ansible インベントリを作る デフォルトでは hosts というファイルを探す。ansible.cfgで上書き…

オライリー・ジャパンから日本語版Ansible本、4/16発売

オライリー・ジャパンからAnsible本の日本語訳版が発売とな。 O'Reilly Japan - 初めてのAnsible www.oreilly.co.jp 本書はサーバーの構成管理ツールAnsibleについての総合的な入門書です。設定管理のスクリプトであるPlaybookの基礎から、オープンソースの…

MySQLを再起動せずにslow queryログを取る

mysql> set global slow_query_log_file = '/path/to/slow_query.log'; mysql> set global long_query_time = 10; mysql> set global slow_query_log = 1; long_query_time = 0 ですべてのクエリが記録されます 確認 mysqlクライアントに接続しなおして確認 …

Vagrant:httpdを使用中、ローカルで更新した静的ファイルが更新されない

vagrantでローカルマシンにLinux+Apacheの環境を作って開発している方も多いと思います。 開発環境でcssを編集してもブラウザでcssが更新されない時には下記の設定をapacheに入れてやるとリロードごとにcssがちゃんと更新されるようになります。 httpd.conf …

Mysqlで特定のDBのスキーマだけダンプする

-d オプション mysqldump -uUSERNAME -p -d DBNAME よく忘れる

homebrewでMySQLをインストールしたメモ

普段の開発はVagrantでCentOSのVMを立ち上げてやってますが、試しにMacのローカルにMySQL入れてみました。 $ brew install mysql 自動起動設定 $ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents /Users/okisanjp/Library/LaunchAgents/homebr…

【まだまだ未完成】CentOS+Apache+Mysqlを自動起動するコンテナのDockerfileを書いてみた

とりあえずapacheの起動とブラウザからの確認はできたものの、まだまだいい加減なのでこれから育てていくことになりますが、せっかく作業したのでメモ。 ちなみに okisanjp.hatenablog.jp こちらの続きです。VagrantとCoreOSのセットアップについては上記参…

CentOS : 直前に実行したyum updateを全部取り消す

yum historyでトランザクションIDがわかるのでそれをundoサブコマンドでundoする。 historyを取る # yum history 読み込んだプラグイン:priorities, update-motd, upgrade-helper ID | ログイン ユーザー | 日時 | 操作 | 変更 ----------------------------…

Zabbix-agentが使うポートをCentOS7のFirewalldで開けるメモ

# firewall-cmd --get-default-zone public public zoneに10050と10051を追加したいと思う。 # firewall-cmd --add-port=10050/tcp success # firewall-cmd --add-port=10051/tcp success # firewall-cmd --list-port 10050/tcp 10051/tcp サービスとの疎通…

CentOS7:nginxをインストールしてFirewalldでport80を開ける

# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm を取得中 警告: /var/tmp/rpm-tmp.yfYsOb: ヘッダ…

Kibana3+Elasticsearch:リバースプロキシとAliasを使ってDigest認証をかけ若干の安心感を得る

kibana便利ですね〜。 Elasticsearchにも可能性を感じますね〜。という昨今。 スタートアップのチームなんかでEC2のみでシステムを構築している時問題になるのが、監視系のツールにブラウザからアクセスする必要がある時、EIPに対してのアクセスとなるため不…

Chef-solo:CentOS6にZabbix-agentを入れる

新しくサーバーを立てるときに行う共通処理を定義したops-toolsという名前のレシピにzabbix-agentを導入する記述を追加してみます ※ops-toolsは任意のレシピ名です。念のため。 サードパーティのcookbookを使ってもいいのですが、クロスプラットフォーム対応…

Vagrant:VMを任意の状態まで巻き戻せるsaharaプラグインを入れる

chefのレシピを書く場合、本番に適用する前に手元のVMに対して色々試行錯誤を行うわけですが、この作業が非常に楽になるプラグインがあるので導入しました。 saharaプラグインのインストール jedi4ever/sahara $ vagrant plugin install sahara Installing t…

「sudo を実行するには tty がなければいけません。すみません」の対策方法

すみません、と言われると・・・・ いやこちらこそすみません(´・ω・`)・・・なんか・・ vagrant up時の例 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'centos'... [default] Matching MAC ad…

SSL期限切れ:2014年1月28日からSSL接続できなくなったサーバーのCAを更新する

CentOS5.8のopensslは0.9系。いつかこの日が来ると思ってましたが昨日でした(笑) # /usr/bin/openssl s_client -host example.com -port 443 Verify return code: 10 (certificate has expired) ありゃ・・・ ブラウザから手元のMacからチェックしてみたら…

Zabbix:mongodを監視して落ちたら自動再起動するアクションを設定する

こんなトリガー があるとして、 mongodを落としてみる # /etc/init.d/mongod stop Stopping mongod: [ OK ] 当然障害になる 通常は、アラートをメールで受け取るなりしてmongodを起動して復旧。なんですが(まあなんで落ちたのかは別途調査するとして・・・…

TreasureData:テーブル内のデータ件数をZabbixでモニタする

TreasureDataにあるテーブルの件数をZabbixで監視したメモ。 tdコマンドでテーブルの件数はわかるので、HiveQL流すまでもないなということで作業開始。 厳密に知りたければクエリ投げたほうがいいんだろうけど、今回はデータ量の傾向をモニタしたいだけでダ…

Zabbix:MySQL スレーブのレプリケーション遅延秒数をモニタする

レプリケーションがちゃんと動いてるかを簡易にチェックするため、Exec_Master_Log_PosをRead_Master_Log_Posで割ってトリガーを仕込んだのでメモ。 引用元:Zabbix:MySQL Slaveでレプリケーション進捗率をアイテムとして送る | ログってなんぼ そもそも一個…

Zabbix:td-agentのバッファを監視する

Zabbix2.0で検証 EnableRemoteCommands=1 が前提です。 アイテムの追加 td-agentのconfに指定したバッファ用のディレクトリを監視します system.run[ls -l /var/log/td-agent/buffer | wc -l] いいですね。 トリガーの追加 ..td-agentテンプレートがあるとし…

Zabbix:MySQL Slaveでレプリケーション進捗率をアイテムとして送る

追記 そもそも一個前のファイルをまだ処理してたら数値が意味のないものになるだろって気づいて 引用元:Zabbix:MySQL スレーブのレプリケーション遅延秒数をモニタする | ログってなんぼ わざわざ割り算までして値出してる割に微妙なアイテムなんで素直に遅…

Zabbixの障害数を大きな数字で表示するだけのツール「monnix」を作りました

現場に一台、大きなディスプレイのついたPCを置いてそこに常時表示しておく感じのツールです。 okisanjp/monnix · GitHub もともと自分用に使ってるものなので、予告なく色々変更するかもしれません