IT Notebook

ITについての備忘録的なブログです

ELB配下でのApacheのIPアドレス制限方法

こんにちは。マサルです。 AWSのELB配下のEC2のApacheで送信元IPアドレス制限をかけるにはちょっとした工夫が必要です。 通常のApacheのIP制限 例えばApacheで「/wp-admin」に「999.999.999.999」からのアクセスのみ許可する場合、次のような設定になります…

ElastiCacheのRedisのrdbファイルのバックアップ方法

こんにちは。マサルです。 今度システムリプレースでElastiCacheのRedisのデータを移行しなくてはならず、ElastiCacheのRedisのrdbファイルをどのように取得するのか調査しました。サーバ上であればbgslaveで一発なのですが。。。 EC2上にRedisをインストー…

Nginx - Tomcatと連携させた時にハマった件

先日Tomcatで直接受け付けていたサーバをNginxで受け付けるようにして リバースプロキシでTomcatへ渡す設定した時にハマったので、その時の備忘録となります。 ハマったこと リパースプロキシ設定は特に問題なかったが、ログインするとなぜか「 127.0.0.1 で…

Nginx - CSSファイルが更新されない時の対応について

以前CSSファイルが更新されないという減少が発生した時の対応となります。 原因 Nginxで「sendfile on;」というパラメータが有効になっていた。 このパラメータを有効にしていると、kernelのシステムコール「sendfile」を使用して、kernel内にファイルを複写…

Linux - プロンプトにホスト名を表示する方法

Amazon Linuxのデフォルトのプロンプトはこんな感じです [ec2-user@ip-10-10-10-10 ~]$ このサーバのホスト名を「test1」とした場合、以下のようなコマンドでとりあえず実行すると変更されるのですが [ec2-user@ip-10-10-10-10 ~]$ sudo hostname test1 [ec2…

sysbench - sysbenchコマンドサンプル

sysbenchのコマンドサンプル。自分用にメモ。 CPU処理性能 sysbench --test=cpu --cpu-max-prime=20000 --num-threads=16 run > sysbench_cpu_16.txt sysbench --test=cpu --cpu-max-prime=20000 --num-threads=128 run > sysbench_cpu_128.txt Disk処理性能…

roadworker - [ERROR] ArgumentError: invalid configuration option `:credential_provider' の対応方法

roadworkerのバッチ処理を別サーバに移行した時にエラーにハマったのでメモ このバッチ処理は複数のAWSアカウントに対応するため「--profile」を使用している その辺りでエラーがでているようす 環境 OS:Ubuntu 14.04.1 LTS 対応 roadworkerのバージョンを比…

VMware - VMwareの仮想マシンをAWSに移行する

プライベートクラウドのVMWareの仮想マシンをパブリッククラウドのAWSに移行したときのメモ 環境 Hypervisor : VMwareESXi5 OS : Ubuntu 12.04 LTS 手順 1.VMware上の仮想マシンをova形式でエクスポート 移行対象の仮想マシンは複数ディスクなのでova形式…

td-agent - ログ出力レベルを変更する方法

使い続けて3年以上。ログはerrorとwarningしか出力されないと思い込んでしまっていた ついに詳細なログを確認しないと解決出来そうにない問題にぶち当たり調べた時のメモ 環境 OS:Ubuntu 14.04.2 LTS td-agent:0.12.12 修正箇所 「/etc/init.d/td-agent」の…

git - 「git archive」ソースをアーカイブする方法

git

gitに格納したあるソースのみを取得した時のメモ 環境 OS:Ubuntu 14.04.2 LTS git clone 特定のブランチのソースを取得したかったので、ブランチ指定でクローン git clone -b <Branch> <Repository> git archive リポジトリに移動してアーカイブコマンド実行 cd <Branch> git archive HEA</branch></repository></branch>…

Apache - Apache2.4でエラー「Unknown Authn provider: ldap」が出たときの対応手順

Apache2.4でOpenLdapと連携させる時に以下のエラーがでて結構苦労したのでメモ 環境 OS:Ubuntu 14.04.1 LTS エラーメッセージ AH00526: Syntax error on line 8 of /etc/apache2/mods-enabled/FILENAME: Unknown Authn provider: ldap Action 'configtest' f…

Subversion - Subversion1.8.8 + Apache2.4.7 + OpenLDAP連携した環境構築

SubversionをAWS上に構築した時のメモ 今更ながらですが... 環境 OS:Ubuntu 14.04.2 LTS 手順 1.パッケージインストール sudo apt-get update sudo apt-get install subversion subversion-tools libapache2-svn apache2-utils apache2 libapache2-modsecuri…

GitLab - GitLab7.4.3から7.14.3へのアップグレード

GitLab7.4.3のslack連携がうまくできなかったので GitLab7の最新版である7.14.3へアップグレードした時のメモ 環境 OS:Ubuntu 14.04.1 LTS 手順 1.アップグレードするパッケージの確認 この確認方法ですがを探すの結構苦労しました ここでは「7.14.3-ce1 ubu…

piculet - piculetを使ってみてはまったところ

Security Groupを別のAWSアカウントに移行する時に、piculetを使用した時のメモ ruby2.0以上が必須など、インストールなどに戸惑ったので念のため 環境 OS:Ubuntu 14.04.1 LTS インストール ruby2.0以上が必要なので事前にrubyをインストール sudo add-apt-r…

roadworker - roadworkerを使ってみてはまったところ

Route53に登録してあるドメインを別のAWSアカウントに移行する時に、roadworkerを使用した時のメモ ruby2.0以上が必須など、インストールなどに戸惑ったので念のため 環境 OS:Ubuntu 14.04.1 LTS インストール ruby2.0以上が必要なので事前にrubyをインスト…

OpenLDAP - 「bdb_equality_candidates」エラーの対応方法

環境 OS:Ubuntu 14.04.1 LTS OpenLDAP:2.4.31 出力ログ Jan 6 01:47:06 localhost slapd[28974]: <= bdb_equality_candidates: (uid) not indexed 原因 インデックスが見つからないため 対応 インデックス作成 対応手順 1.OpenLdapサービス停止 service slap…

OpenLDAP - SSH公開鍵を登録してログインするまでの手順

やりたいこと SSH公開鍵をLDAPに登録して一元管理したいため調査しました。OpenSSHをソースからコンパイルしてとかいろいろ情報がありましたが、Ubuntu 14.04.1 LTSではOpenSSH 6.6.1p1がapt-getで入手できるのでスキーマファイルをダウンロードしてinclude…

PostgreSQL - Ubuntu14.04にPostgreSQL9.4をインストールしてとりあえず使えるようにするまでの手順

今までDBといったらOracle/MySQLしか扱ったことがなかった 今回はじめてPostgreSQL環境構築で結構戸惑ってしまったので纏めておきました 1.PostgreSQL9.4インストール Ubuntu14.04(2015/11時点)だとデフォルトで9.3がインストールされていしまうので、リポジ…

Pagerduty事始め - Pagerdutyとは

Pagerdutyについて調査・検証したので、これから纏めていこうと思います Pagerdutyとは 監視システムからのアラートをインシデントとして管理する「インシデントマネジメントシステム」 www.pagerduty.com Pagerdutyのイメージ 監視システム(AWSのCloudWatc…

Memcached - Memcachedのバックアップとリストアする方法

AWSのElastiCacheのNode Replace Event対応で、Memcachedのバックアップする必要があったのでその時の手順をメモ 1.memcached-toolのインストール Githubで公開されているMemcachedのバックアップを取得したり、ステータスを確認したりできるツール # cd /us…

MySQL - csvデータをデータベースに格納する方法

mysqlにcsv形式のデータを格納する方法を調査した時のメモ 「mysqlimport」の場合、格納するテーブルはcsvファイル名に依存しているようなので、「LOAD DATA」のほうが柔軟性が良さそう [例]ローカルにあるcsvファイル先頭1行読み飛ばして格納するコマンド…

Linux - n日前・n分前のファイルを削除する方法

今更ながらfindコマンドでn日前・n分前のファイルを削除する方法をメモ 1.findコマンドのフォーマット find [path..] [expression] 2.日時を指定するオプション -atime +n 最終アクセス日時がn日以前のfile(or directory)を検索 -atime -n 最終アクセス日時…

MariaDB - Ubuntu14.04にapt-getでMariaDB Serverをインストールする方法

MariaDB Serverをインストールした時のメモ 環境 OS: Ubuntu14.04 インストールコマンド sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repos…

Ubuntu - apt-getでインストールされるパッケージの確認方法

apt-getでインストールされるパッケージの確認方法を調査したのでメモ 確認コマンド apt-cache policy <パッケージ名> 今度からはパッケージインストール手順はこんな感じにする予定 apt-get update apt-cache policy <パッケージ名> apt-get install <パッ…

Percona - Ubuntu14.04にapt-getでPercona Serverをインストールする方法

Percona Serverをインストールした時のメモ 環境 OS: Ubuntu14.04 インストールコマンド sudo su - sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A echo "deb http://repo.percona.com/apt "$(lsb_release -sc)" main" | sudo t…

PHP - Ubuntu14.04にapt-getでphp5.6をインストールする方法

PHP

php5.6をインストールした時のメモ 環境 OS: Ubuntu14.04 インストールコマンド sudo su - curl http://www.dotdeb.org/dotdeb.gpg | apt-key add - echo "deb http://mirrors.teraren.com/dotdeb/ wheezy all" >> /etc/apt/sources.list echo "deb http://p…

Redis - 設定をオンラインで変更する方法

Redisの設定をオンラインで変更する方法を調査したのでメモ 設定の確認 $ redis-cli CONFIG GET save 1) "save" 2) "900 1 300 10 60 10000" 設定の変更 $ redis-cli CONFIG GET save "" OK

Python - Ubuntu12.04にPython3.4をインストールする方法

Ubuntu12.04にpython3をインストールしてバージョンを確認したところ「python3.2.3」だったのでpython3.4系のインストール方法を調査したのでメモ インストールコマンド sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get upgrade sudo apt-get i…

PostgreSQL - psqlコマンド

PostgreSQLに接続するために使用するpsqlコマンドについてのメモ データベース接続 psql --host <HOST> --port <PORT> --user <USER> データベース一覧 testdb=> \l データベース切り替え testdb=> \c <DB> テーブル一覧 testdb=> \d スクリプトファイル実行 testdb=> \i sample.sql</db></user></port></host>

Python - Ubuntu14.04にpsycopg2をインストールする手順

Pythonからpostgresに接続するためにpsycopg2をインストールしようとした時につまずいたのでメモ 環境 OS... Ubuntu14.04 Python... Python 3.2.3 インストールコマンド sudo pip install psycopg2 エラーメッセージ Command "python setup.py egg_info" fai…

MongoDB - シャード/レプリカセット構成のスナップショットを取得して検証環境で構築する方法

AWSのEC2上にある本番環境のMongoDBのバックアップをスナップショットで取得しており、そのスナップショットからボリュームを作成して検証環境でシャード/レプリカセット構成を構築したときのメモ 環境 OS... Ubuntu14.04 MongoDB... 3.0.6 StorageEngine..…

Python - オブジェクトのアトリビュートの確認方法

botoのオブジェクトのアトリビュートがわからなくて調べた時のメモ オブジェクトのアトリビュートの確認方法 print (dir(obj)) 実際にはこんな感じで使用しました snaps = connec2.get_all_snapshots(filters={'description': info['date']+'*', 'volume-id'…

Python - psycopg2のインストール

Pythonからpostgresに接続するためにpsycopg2をインストールしようとした時につまずいたのでメモ 環境 OS... Ubuntu14.04 Python... Python 3.2.3 インストールコマンド sudo pip install psycopg2 エラーメッセージ Command "python setup.py egg_info" fai…

Linux - topコマンドでCPU使用率をコア単位で表示する方法

今までは「sar -P ALL 1」とかでリアルタイムに表示させていたけど、topコマンドでも表示できるのでメモ topコマンドでCPU使用率をコア単位で表示する topを叩いて「1」を入力 するとこんな感じで表示される top - 11:01:33 up 90 days, 23:09, 2 users, loa…

MongoDB - シャード+レプリカセット構成でのユーザ作成について

シャード+レプリカセット構成でユーザ作成をする場合は、順番は多少前後してもよさそうだけど、まずレプリカセットでユーザを作成したあと、シャードでユーザを作成するのがよさそう 前提条件 レプリカセットは構築済み シャード構成は構築済み mongosのポ…

MongoDB - ユーザ権限(Privilege Actions)について

MongoDBのユーザを作成する時ロールを付与するだけでなく、細かくユーザ権限を指定して付与することも可能。 ユーザ権限について纏めたのでメモ Query and Write Actions ドキュメント操作についての権限 find insert remove update Database Management Act…

MongoDB - デフォルトで提供されているロール(Built-In Roles)について

MongoDBのユーザを作成する時にデフォルトでどのようなロールが付与できるか調べたのでメモ Database User Roles ユーザDB操作用ロール read ユーザDBの読み取り専用ロール readWrite ユーザDBの読み書き用ロール Database Administration Roles システムDB…

MongoDB - dbコマンドでログ出力レベルを変える方法

ログ出力レベルを変更する時に使用するコマンド MongoDBの再起動なしに反映できるので便利 環境 OS: Ubuntu14.04 MongoDB: 3.0.5 設定について verbosity levelは「0-5」 値が「-1」の場合はdefaultの設定を引き継ぐ 現在の設定の確認方法 > db.getLogCompon…

MongoDB - bashスクリプトから簡単にMongoシェルを操作する方法

bashスクリプトでmongoシェルを実行させたくていろいろ方法を模索。 javascriptファイルをリダイレクトで読み込ませるとかの方法もあるようだけど 「eval」オプションを使ってprintjson()関数の中に実行したいmongoシェルコマンドを書いてあげるのが個人的に…

AWS-VPC - EC2インスタンスをスケールアップするとsarファイルが破損してしまう件

EC2インスタンスをスケールアップするとなぜかsarファイルを読み込もうとすると 「ファイル形式が正しくありません」的なメッセージが出力されて それ以降はスケールアップしたときに一旦sarファイルをリセットする運用に。 最近原因が判明したのでメモ。 原…

MongoDB - Mongoシェルで使うことのできるdbコマンド一覧を簡単に習得する方法

Mongoシェルでできる操作を調べるたびにいろいろ検索していたのでメモ dbコマンド一覧取得方法 $ mongo > db.help() dbコマンド一覧取得結果 ※mongodb3.0.5の実行結果 DB methods: db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs comm…

Linux - sarコマンドについて

sarコマンドを使用するたびに検索していたので、障害調査や性能試験でよく使うコマンドを纏めてみました。 環境 OS........ Ubuntu14.04 sysstat... 10.2. インストール インストールコマンド sudo apt-get install sysstat ファイル指定 sysstatで取得して…

Nginx - 特定のUserAgentを転送する設定

Nginxの特定のUserAgentを転送する設定をしたのでメモ 設定ファイルをif文で記述できるのでいろいろと応用ができそう Nginxの設定 location / { if ($http_user_agent ~ <UserAgent>) { proxy_pass http://172.30.10.101; } }</useragent>

MongoDB - エラー「RS102」の対処方法について

MongoDBのレプリカセットにmongorestoreのような大量のデータを流し込むとたまに出るのでメモ エラーメッセージ 2015-07-23T21:50:20.688+0900 I REPL [rsBackgroundSync] replSet error RS102 too stale to catch up 原因 レプリカセットの同期元が同期先の…

MongoDB - YAMLフォーマットの設定ファイルのサンプル

MongoDB2.6からYAMLフォーマットの設定ファイルファイルが使用できるようになったので、サンプルを作成しました。 サンプル サンプルはMongoDB3.0のものになります。 マニュアルのサンプルをつなぎ合わせて、デフォルト値を記載したのもとなります。 適宜コ…

MongoDB - データ型(BSON Type)を確認する方法

MongoDBの特定のフィールドのBSON Typeを確認したかったので調べた時のメモ 動作確認環境 OS: Ubuntu14.04 MongoDB: 3.0.4 BSON Type一覧 Type Number Notes Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 Deprecated. Object id 7 Boolean…

Linux - 標準出力で先頭指定行飛ばしたり、後ろ指定行読み飛ばしたりする方法

tailコマンドやheadコマンドを使って標準出力の行を制御。これは便利! 先頭5行飛ばして6行目から出力する tail -n +6 test.txt 後ろ5行出力しない head -n -5 test.txt 参考 http://d.hatena.ne.jp/iww/20130623/tail

Linux - dfコマンドについて

dfコマンドのオプションなどについて纏めていこうと思います Disk使用量を確認するコマンド(KB表示) コマンド df -k サンプル $ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 8125880 4231856 3458212 56% / none 4 0 4 0% /sys…

HAProxy - reloadコマンド

HAProxyの設定を変更したあとreloadするコマンドのメモ 新しいプロセスが生成されて、新規コネクションは新しいプロセスで受け付ける 古いプロセスはそれまでのコネクションがすべて切断されたタイミングで終了する HAProxyのreloadコマンド haproxy -f /etc…

MongoDB - エラー「code: 13298」の対処方法について

shard構築後の動作確認をするために、insert・findした時にエラーが発生したのでメモ 環境 OS: Ubuntu14.04 MongoDB: 3.0.4 shard構成 mongos> sh.status() --- Sharding Status --- sharding version: { "_id" : 1, "minCompatibleVersion" : 5, "currentVe…