OpenStack技術者認定試験のOPCELに合格しました

OPCELとは OPCELはOpenStack Professional Certification Exam by LPI-Japanの略称で、OpenStackの構築・運用に必要となる技術力に関する試験です。 以下、公式ページから抜粋です。 OPCEL認定試験はOpenStackに関する専門知識や構築・運用管理のスキルを認…

terraformでOpenstackのインスタンス作成を試してみた

ずっと試せていなかったterraformを試してみました。 Openstackの環境はdevstackなりで事前に作成してください。 terraformのインストール さて、terraformのインストールですがbinary packageが提供されているので、PATHが通っている場所に配置するか自分で…

Webエンジニアのためのデータベース技術[実践]入門を読んだ

データベース技術[実践]入門 Webエンジニアのための データベース技術[実践]入門 (Software Design plus)作者: 松信嘉範出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行本(ソフトカバー)購入: 20人 クリック: 486回この商品を含むブログを見…

GCPUG Tokyo February 2016に参加してきた

GCPUG Tokyo February 2016 2016/02/12(金) 19:00 〜 22:00 殴り書きなので記載ミスがあったらすいません。。 Compute Engine リソース概要 Local SSD I/O重視したい人向け snapshotは取れない live migration対応した?(レプリカ作ったりするのは自分で?) …

KVMで仮想マシンをクローンをする方法

検証環境で何台かマシンが必要な時など使えないと不便ですよね。KVMでも簡単にcloneできます。 結構忘れて毎回調べるのでメモしておきます。 KVMで仮装マシンをクローンする方法 以下、centos7_2からcentos7_4を作成する手順です。 事前準備 クローン元の仮…

Apache2.2.xと2.4.xでのアクセス制限方法の違い

勉強のためZabbix3.0を入れたのですが、 Apache 2.4.xを使ったところアクセス制限の書き方が変わっていたのでメモしておきます。 2.2.xの時のエントリです。 komeiy.hatenablog.com Apache 2.4.6で試してみた 以下、試した時のバージョンです。 [root@localh…

RedshiftへSQLWorkbench/Jで接続してみる

aws

redshiftへSQLWorkbench/Jで接続する方法です。 手順は以下の通りです。ポイントは 接続方法に合わせてDriverを選択するという点です。 2015年11月8日時点でpostgresqlの接続もサポートされているようです。 SQLWorkbench/Jをインストール Redshift用のDrive…

tail -fの結果にタイムスタンプをつける方法のメモ

メモです。アプリからログに書き込まれたタイミングを確認するなど、出力にタイムスタンプをつけたい時などに使います。 tail -f error.log | while read line; do printf "$(date -u '+%F %T%z')\t$line\n"; done 出力は以下のような感じです。 2015-11-06 …

zabbix_senderで複数の値を一括登録する

Zabbixは非常に便利で、Agentでの監視の他に自身で取得可能なあらゆる情報をZabbix senderを使用してサーバへ送信することが可能です。 Zabbix_Senderの使い方 $ zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43 z - Zabbix サーバのホスト…

haproxyのステータス確認

haproxyのステータス確認方法をいつも忘れてしまうのでメモ代わりに書いておきます。 haproxyのsocketをcatするsocatコマンドを使います。 以下のように書くことで8080番への入力を標準出力に書き込むことができます。 簡単dす。 $ socat tcp-listen:8080 st…

sflowもFluentd+Elastic Searchに入れて可視化してみた

以前にNetflowについて書いたのですが、sflowもelastcsearchに入れたいなと思って色々調べてみました。ちなみに前回からkibanaのバージョンをあげましてkibana 4はこんな画面になってます。検証用のデータですが気持ち的にIPアドレスは隠しました。 ホワイト…

Network機器をAnsibleで操作(?)してみた

RAWコマンドならいけるよねということで夜な夜な試してみましたメモです。今回、showコマンドやwr memなどしか試していないです。個人的には設定投入はエラー処理とか考えると他に任せたいなと思います。 Network機器でAnsibleの環境 新たに準備するのが面倒…

chefのdata_bagを暗号化する

chef serverだとdata baseのcreate時に--secret-file オプションで暗号化が簡単に可能ですが、chef solo / knife solo環境data bagでも実はknife-solo_data_bagを使うと簡単に実現可能です。 knife-solo_data_bagインストール gem install knife-solo_data_b…

Aerospike Deep Driveに参加してきた

参加メモです。6/24(水) 19:00〜22:00。 個人的にはpartition mapの話が勉強になりました。Aerospikeは構築するだけであれば非常に簡単でドキュメントにインフラ周りの仕組みがなかなか記載されていないので、裏側を知れたのは非常に嬉しいです。 Aerospike…

OpenvSwitch関連コマンドのチートシート的な何か

まずOpenvSwitchに関するコマンドは大きく4つです。観点としてはOpenStackで使ったときにトラブルシューティングで使いそうなものが多いかもしれません。 Neutronってよくわらかないって人は、以下も参照してみるとイメージが付きやすいと思います。 Opensta…

Openstack(Neutron)が中でやっていることを確認してみた

CentOS7で確認してみました。自分で試してみるとわかりやすいですね。Linux bridgeは割愛していますが、構成はNetwork NodeとCompute Nodeを1台にまとめた状態です。 Network Node Compute Node それでは順を追って記載してきます。 Open vSwitchをインスト…

fluentdをログ集約サーバとして使った時のメモ

まだ探り探りなのでもし良い方法があれば教えてください。 fluentd(td-agent)インストール用レシピ excuteは使いたくなかったのですが一旦こちらで進めています。 execute 'Install td-agent' do command "curl -L #{node['td-agent']['install']['url']} | …

Zabbix server Lack of free swap space on Zabbix serverが止まらなかったので見てたら・・

freeコマンドで見るとメモリは余っているのにswapを使っている。swapの領域を増やせばエラーはなくなるけど対応としてはそもそもswapを使ってほしくないと思ったので以下を調整。 $ cat /etc/sysctl.conf | grep swapp vm.swappiness=0 https://access.redha…

BIG-IPでL3DSR(n-path routing)を設定する

BIG-IPでL3DSR(n-path routing)を設定する方法です。 ipip tunnel dscp 1. ipip tunnel BIG-IPのipip tunnel設定 設定は簡単です。 Local Traffic -> Pools -> IP Encapsulation ipipを選択 以上です。 Server側(CentOS/REHL) ipipトンネルを有効にします。D…

s3fsをインストールしてbucketをマウントする

s3fs インストール概要 必要なライブラリをインストールする $ sudo yum install gcc-c++ fuse-devel openssl-devel libcurl-devel libxml2-devel s3fsのソースを準備する 以下からcloneするかArchiveから直接落としてください。 https://github.com/s3fs-fu…

ElasticSearchのメモリチューニング周りのメモ

ElasticSearchのメモリチューニング周りのメモです。 ElasticSearch バージョン確認 Available Packages Name : elasticsearch Arch : noarch Version : 1.4.4 Release : 1 Size : 25 M Repo : elasticsearch-1.4 Summary : elasticsearch License : 2013, E…

fluetdのデータをIPアドレスからホスト名に変換する

写真提供:donnierayjones fluentd-plugin-resolvというプラグインあったので試してみました。 fluent-plugin-resolvを公開しました - 富士山は世界遺産d.hatena.ne.jp 使い方は簡単です。typeとkey_name、あとはprefixの操作のみです。 gem install fluetd-…

AerospikeでMigrateの進捗を確認する方法

Aerospike Migrateの進捗を確認する方法です。 /var/log/aerospike/aerospike.log DEBUG (migrate): (migrate.c:migrate_rx_reaper_reduce_fn:1820) reaping expired done mig rx 1535 (done recv count 1 ; start ms 1358278692 ; done ms 1358278694) from…

ERROR - The following exception occurred while running guard-rubocop undefined method `empty?'が出たときの対処

ERROR - The following exception occurred while running guard-rubocop undefined method `empty?'が出たときの対処です。 Guardでrubocopを動かした時に最後にいつもエラーが出ていて気になったので。 ERROR - The following exception occurred while ru…

chef/cookbookのsyntax checkをしてみる

写真提供:donnierayjones 一定の基準でcookbookをチェックしないと作った人しかわからない状態になることが良くあるかと思いますが、cookbookとRubyのsyntax checkをすることである程度基準を設けたcookbookを保つ事が出来ると思います。 今回はcookbookのs…

Aerospikeをインストールしてみる

インメモリ型のリアルタイムNoSQLデータベースという触れ込みで紹介されているAerospikeですが、 一般的なNoSQL型データベースの10倍、SQL型データベースの100倍の性能を実現可能とアピールしている。 とあるようにリアルタイム処理の需要が上がっている昨今…

Amazon EC2でディスク容量を追加する方法

aws

Amazon EC2でディスク容量を追加する方法ですが、基本的にはLinuxの基本操作と変わりません。 では、ディスク容量を追加する方法です。 1. 現状確認 [komei@localhost ~]$ ls /dev/sd* /dev/sda /dev/sda1 2. Amazon EC2 コンソール側の操作 Volumes -> Crea…

JenkinsでGitHubのTagが更新されるのを監視してビルドする

とあるGitHubで管理しているコードを以下のように更新したのですが、だんだん面倒になってきましてJenkinsさんに一部をお願いすることにしました。 developmentブランチで開発/テスト。Pull Request。 developmentブランチでMerge masterブランチへマージ 本…

LVMを拡張/縮小してswapとrootの容量を変更してみる

GUIをカチカチ何も考えずインストールをしたら、「/」配下が以下の通り2.8Gと悲惨な状況になっておりましたので変更した時のメモです。うっかりこのような状態にならないようにするのが一番です。 LVM容量確認 root@localhost:~# df -h Filesystem Size Used…

Mellanox OFEDをインストールしてVXLAN Offloadを有効にする方法

VXLAN offloadが使えるMellanox Connect-X3 Proをインストールする方法です。Mellanoxはマニュアルがユーザへ丁寧に公開させている印象がありますので、わかりやすいです。 Mellanox OFEDをインストールする 公式からダウンロード curl -O 'http://www.mella…

KVMでTAPインタフェースを設定する方法

KVM

ポイントは3つです。 /etc/libvirt/qemu.conf変更 XMLファイルのinterface typeの確認 スクリプト実行 1. /etc/libvirt/qemu.conf変更 下記の通り変更・確認してください。 clear_emulator_capabilities = 0 user = "root" group = "root" cgroup_device_acl…

Zabbixでログ監視を設定してみる

ZabbixではAgent経由でログ監視を簡単に実現できます。設定するポイントが何個かあるので、ここにまとめておきます。 Zabbixでログ監視を設定する ログ監視用Itemの設定 log or logrtを使用してください。あらかじめログの中から特定のキーワードをピックア…

Zabbixのアクセス制限を設定する

アクセス制限をしたい場合や、Zabbixにアクセスしたら403 Forbiddenが出る時には/etc/httpd/conf.d/zabbix.confの設定を変更します。 デフォルトでは以下の通りです。 $ sudo cat /etc/httpd/conf.d/zabbix.conf # # Zabbix monitoring system php web front…

ZabbixでMySQLから直接Itemの値を確認する方法

Zabbixでヒストリを楽に読みたい場合には直接DBでSELECTしてしまうのが便利です。以下、チートシート替わりにメモしておきます。 Zabbixで使用しているMySQLへアクセス MySQLにログインします。ユーザ名/パスワードは環境に合わせて指定してください。ここ…

ZabbixでJMXの監視を設定する方法

Zabbix Java Gatewayをインストール 今回は2.4.3を使用しました。バージョン指定が必要な場合は適宜公式から落としてくるようにしてください。 $ sudo yum info zabbix-java-gateway Installed Packages Name : zabbix-java-gateway Arch : x86_64 Version :…

Pythonで時刻の差分を計算する方法

ログのようなタイムスタンプ付きのテキストを扱う時など時刻に関する操作をメモしておきます。 Pythonで時刻を扱う 日付型および時間型が扱えるdatetimeを使用します。 以下のように日付だけ扱うクラス、時間だけ扱うクラスなどがあります。 timedeltaを使う…

Jenkinsユーザ・カンファレンス2015東京の参加情報まとめ

基調講演に参加できなかったこともあり、各セッション情報を残してくれているサイトをまとめてメモしておきました。資料もセッションに関して現時点で上がっているもののリンクを入れておきます。 公式タイムテーブル こちらを参照してください。 ブログまと…

Amazon-Web-Services-クラウドデザインパターン実装ガイドを読んでみた

写真提供:donnierayjones 設計ガイドを電子書籍で読んで、その勢いで実装ガイドも読んでみました。実装ガイドは色々なパターンを想定してEC2、Route53、S3、CloudFront、RDS、ELBについてその設定方法がスクリーンショット付きで解説してあります。 感想/所…

GitHubでPull Requestを使わないのはもったいないと思ったので簡単な使い方をメモしておく

GitHubでチーム開発なんて考えだすと、commitやpushだけではレビューをする時にもどかしさを感じることがあるかと思います。 GitHubやGitコマンドは使ったことあるけど、Pull Requestは使ったことない。という人向けに簡単に使い方をメモしておきます。 GitH…

JenkinsにGitのPluginをインストールする方法

Jenkinsをインストールした後に入れておきたいプラグインの一つであるGitです。 JenkinsにGit Pluginをインストールする 最新のバージョン情報などは公式ページで確認してください。 jenkinsの管理 Pluginの管理 git pで検索 再起動せずにインストールを選択…

「GitHub実践入門 ~Pull Requestによる開発の変革」を読んだメモ

GitHubは自分の作ったコードの管理やJenkinsなどの連携のため、masterへpushするだけの1人開発を行っていたのですが、一度体系的に学んでみたくなり「GitHub実践入門 ~Pull Requestによる開発の変革」を読んでみました。 感想としては知っていることも多か…

rbenv: no such command `install'が出てinstallできない時の対処法

rbenv: no such command `install'が出た時の対処方法です。 エラー内容の確認 エラーメッセージ確認 [komei@localhost ~]$ rbenv install --list rbenv: no such command `install' コマンド一覧確認 [komei@localhost ~]$ rbenv -h rbenv 0.4.0-129-g7e0e8…

rbenvを使ってRuby環境を簡単に切り替えできるようにしてみた

今までknife-soloを実行しているターミナルマシンが汚かったのでマシンの入れ替えを機に一層しました。rbenvの存在は知っていましたが、必要ないかなと思いつつ使用していませんでした、入れてみたら便利です。 1. rbenvとは? Rubyのバージョン切り替えを簡…

Docker on MACで「TLS-enabled daemon without TLS?」が出た時の対処法

Docker on MACのインストール中に何個かエラーが出てしまったのでメモしておきます。環境によって対処方法が違うかもしれませんが参考になればと思います。 写真提供:donnierayjones Are you trying to connect to a TLS-enabled daemon without TLS? エラ…

DockerをMAC Book Air(OS v10.9 mavericks)にインストールしてみた

いま流行りのDockerをMAC OSXにインストールした時のメモです。version0.9を入れていましたが、気づいたら1.4.1まで進んでいたので入れ替えに合わせて再構築し、ついでに簡単な使い方も書いておきます。 1. DockerをMACにインストールする まず公式ページは…

mineo(auのMVNO)が値下げ!3Gでも1,580円

最近、MVNOはニュースが多いです。特に値下げが多く発表されユーザとしては利用しやすい環境になってきました。 mineoってなに? auのLTE回線を足回りとしたMVNOです。データ通信だけでなく音声プランも存在しております。他には12/24〜新しい京セラの端末も…

AndroidでAPNが保存できない

写真提供:donnierayjones 昨日、Nexus5にSoftBankのiPhoneSIMを刺して使ってみた - ぽぽぽぽーんのネットワークとOSSというエントリーを書きましたが、Nexus5に限らずAndroid全般でAPNの設定をする際、以下のような事象が発生しました。 APNの保存をしても…

Nexus5にSoftBankのiPhoneSIMを刺して使ってみた

Nexus5のSIMフリーだから当然動くよね?と思って試してみました。 実際はとある目的がありましたがそちらはあえなく失敗。せめてナレッジだけでもと思い残します。 Nexus5でiPhone SIMを使うためにやること nano simのアダプタを用意する Nexus5にiPhoneのSI…

ChefのDatabagとは?Attributeとの違い/使い分け

Data Bagの使い方について悩むことがあったので、Attirbuteとの違いを交えながら説明します。 chefのインストールはこちらから Chef Data Bagとは Chefサーバから参照可能なjson形式のデータです。レシピ固有ではなくグローバルなデータとして扱われます。 d…

BIG-IPでFTP Passiveモードが通らない時に

写真提供:donnierayjones FTPでPassiveモードを使用するとデータポートが可変になるわけですが、LoadBalancerなどLayer4-7の機器が存在すると動作が気になるところです。 FTP Profileを使用した場合の動作確認 FTP Profileを適用したVirtual Serverを使用し…