RedisにKEYとVALUEをsetするPerlスクリプト

概要 Redisに指定したキーとバリューをセットするスクリプトです。 CPANのRedisを使わせてもらってます。 使用するDB番号(dbid)の指定も可能です。 使い方 オプションでキーとバリューを指定出来ます。 redis.pl -k testkey -v testvalue ヘルプ -hでヘルプ…

SolrCloudの分散冗長構成

概要 Solrサーバーを複数台使って分散冗長構成を組んだ時のメモです。 SolrCloudという機能でこの構成を組むことが出来ました。 環境 バージョン関係 OS CentOS 7.1.1503 Solr 5.2.1 Zookeeper 3.4.6 Solrサーバー solr01.example.com solr02.example.comこ…

Jenkinsグローバルセキュリティ設定の行列による権限設定の各項目説明

概要 Jenkinsのグローバルセキュリティ設定で権限管理欄に『行列による権限設定』というものがあります。 これは各ユーザ/グループ毎に可能な操作権限を与えることが出来る設定です。 各項目の説明は上図のように項目をマウスオーバーすれば表示されるのです…

HashiCorp Vaultをバックエンド・ストレージをMySQLにして試してみた

概要 HashiCorpが提供しているVaultというツールを使ってみました。 Vault by HashiCorp VaultはパスワードやAPIキーなど機密情報を安全に読み出したり保存出来るツールです。 今回機密情報をMySQLに保存する方法を試してみました。 データをMySQLに保存する…

CentOS7の/etc/sysctl.d/以下の設定ファイルの反映方法

設定反映 /etc/sysctl.d/*.confといった/etc/sysctl.d/以下のカーネルパラメータを手動で反映させるには -pオプションではなく sysctl --systemというオプションを使う必要があります。 /etc/sysctl.conf の変更の手動適用は CentOS6以前と同じ sysctl -pで…

MySQL5.6のクエリログ出力設定

環境 MySQL-server-5.6.23-1.el7.x86_64 設定変更 /etc/my.cnf[mysqld]ディレクティブに以下を追記 general_log = 1 general_log_file = /var/log/mysql/mysql_query.log追記後MySQLデーモン再起動

SSL証明書と秘密鍵のペア確認

SSL

概要 SSL証明書と秘密鍵がたくさんあったり更新の時期や担当者の変更などでSSL証明書と秘密鍵のペアが分からなくなるときがあります。 証明書ファイル example.com.crt 秘密鍵ファイル example.com.key 上記のファイル名の証明書ファイルと秘密鍵ファイルが…

TerraformでDigitalOceanのVPSを一気に複数台起動

概要 ミドルウェアの検証でサーバーを複数台用意することがよくあります。 これまでVagrantで仮想マシンを複数台起動させたりしていたのですがPCのスペックが低いため快適に検証が出来ていませんでした。 そこでTerraformとDigitalOceanを使うことでその問題…

GratanでMySQLのアカウントと権限設定をコード管理

概要 MySQLの権限設定を行う場合、 DB担当者がDBサーバーにログインしてGRANT文を発行します。 Gratanを使うとこの権限設定をRuby構文でコードとして記述することができます。SQL文を直接発行するのではなくコードで管理できるので 開発者からのPull Request…

シングルユーザーモードでマウント済みのルートパーティションをremount

シングルユーザーモードで起動するとRead Onlyになっていて書き込みが出来ない。 /をrwでリマウントするとこれが解消する。 mount -o remount,rw /これでOK。

RedisのDB番号を増やす

概要 RedisはDB名というものがなく番号で管理されます。 このDB番号はデフォルトで0〜15を使用できます。 DB番号16以降を使用したい場合どうすればいいのかなーと思ったら 設定ファイルを修正してデーモン再起動すれば増やせるみたいでした 設定 DB番号16を…

LDAP連携しているJenkinsの匿名ユーザでリモートからジョブを実行出来ない問題をBuild Token Root Pluginで解決

概要 LDAP連携しているJenkinsでは匿名ユーザ(ログインしていない)はリモートからジョブが実行出来ません。 このように匿名ユーザにBuildとReadのチェックを入れると実行出来るようになりますが ログインしていないユーザが実行出来たりジョブ一覧やトップ画…

mysql_config_editorを使ってパスワードのベタ書きを回避

概要 MySQLのDBダンプのスクリプトなどパスワードをベタ書きしている場合があります。例えば mysqldump -u dbdump --password=dbdump testdb (オプション略)こんな感じでパスワードを書いてしまっています。そこでmysql_config_editor(MySQL5.6以上)を使って…

Perl Net::LDAPでLDAPアカウント情報を検索表示

概要 LDAPでアカウントを管理しているとuid一覧を取得したくなったりメールアドレス一覧を取得したくなったりします。ldapsearchコマンドでも実現可能ですがPerlでNet::LDAPを使ってスクリプトを書いてみました。 サンプル エントリ内のデータを全て表示 #!/…

CentOS7のシングルユーザーモード

概要 CentOS7はシングルユーザーモードに入るときにカーネルパラメータに追加する値がCentOS7以前のOSとちょっと違ったのでそのメモです。この手順はrootのパスワードが必要なのでrootパスワードリセットには使えません。 環境 CentOS 7.1.1503(KVM) 3.10.0-…

screenコマンドでログアウト後も処理を実行し続ける

概要 コマンドを実行した後、処理が終わるまでログアウト出来なかったりターミナルを閉じられなくなったりします。 そんな時はscreenコマンドを使うとターミナルを閉じたりログアウトしても処理を実行したままに出来ます。 環境 CentOS 7.1.1503 インストー…

rpmdev-vercmpコマンドでRPMパッケージのバージョン比較

概要 rpmdev-vercmpコマンドを使うとRPMパッケージのバージョン比較が出来ます。 実行例 rpmdev-vercmp "パッケージ1" "パッケージ2" 表示結果例 パッケージ1 < パッケージ2パッケージ2が新しいと確認出来ます。 インストール rpmdev-vercmpコマンドはrpmdev…

USBバーコードリーダーでMACアドレス収集

概要 サーバーやIP電話などネットワーク機器を何十何百台と購入した際、 DHCPサーバーのMACアドレス登録が大変になります。 1台1台MACアドレスを控えようとすると間違いが発生したりします。 そんな時USBバーコードリーダーを使うと便利すぎワロタでした。 U…

ethtoolを使ってLANポートを点滅させる

点滅させる 点滅させたいインターフェース名を指定します。 LANポートがたくさんあるときに便利です。 ethtool -p eth0 通常時 点滅時 動画のGIFアニメ化 iPhoneの動画モードで撮影した.movファイルを「俺のGIF - 動画からGIFを作ろう!」というiPhoneアプリ…

Varnish構文チェック

Varnishの設定ファイルの構文チェックを行う場合 varnishd -C -f /etc/varnish/default.vclでチェック可能

Linuxコマンドの実行結果を複数ファイルに追記する

コマンドの実行結果をファイルに保存する場合リダイレクトを使います。 2つのファイルに書き込むにはどうしたらいいのかなーと思っていたらteeコマンドで出来ました。 date | tee -a /tmp/a.txt /tmp/b.txtdateコマンドの結果をa.txtとb.txtに追記しています…

Atomic Host(CentOS)のバージョン履歴

概要 前回Atomic Host(CentOS)のアップデートとロールバックを試してみました。 今回も新たなバージョンリリースされていたので再度アップデートしてみました。 今回でバージョンアップは2回目です。前回は1つ前のバージョンにロールバックしてみたのですが…

Atomic Host(CentOS)のアップデート/ロールバック手順

概要 以前動作検証してみたAtomic Host(CentOS)を最新バージョンにアップデートしてみました。 アップデート手順 atomicコマンドを使うことでアップデートが可能です。 アップデート後、OS再起動を行うと最新バージョンに切り替わります。 また、rollbackで…

JenkinsのLDAP認証設定とジョブ毎の権限設定

概要 Jenkinsは認証設定を行っていないと誰でも全ての操作が出来ます。1人で使う分には全く問題ないのですが会社やチームなど複数人で使う共用Jenkinsサーバーの場合 ジョブを間違って実行してしまったり消してしまったりなど操作ミスが起きてしまう可能性が…

CentOSバージョン毎のvirt-installのextra-argsオプション

概要 virt-installコマンドのextra-argsオプションでサブネットを指定することが出来ますが、 このサブネットの指定がCentOSのバージョンによって異なります。そのメモです。 sudo virt-install \ --connect qemu:///system \ --accelerate \ --name test \ …

Ohaiの値を元にServerspecでテスト

概要 Chefで物理サーバーの場合のみ適用するレシピを作る - tsunokawaのはてなダイアリー ChefとOhaiを使って物理サーバーにのみ必要なパッケージをインストールするという手順を書きました。今回はServerspecでOhaiの値を元に物理サーバーか仮想サーバーか…

LDIFファイルを使った操作

追加 ldapaddコマンドを使う ldapadd -x -h localhost -p 389 -D "cn=Manager,dc=example,dc=com" -f /tmp/hogeuser.ldif -W 編集 ldapmodifyコマンドを使う ldapmodify -x -h localhost -p 389 -D "cn=Manager,dc=example,dc=com" -f /tmp/hogeuser.ldif -W

Slonyレプリケーション中のマスターDB停止と同期再開手順

概要 Slonyを使って同期を行っているマスターDBの停止とレプリケーション同期再開手順です。同期手順については以前ポストしたSlony同期手順を参照ください。 slonyのデータレプリケーション設定 - tsunokawaのはてなダイアリー おおまかな流れ マスターを停…

Atomic HostのcAdvisorを使ってDockerコンテナのリソース使用率表示

概要 前回Atomic Host(CentOS)を起動させました。 Atomic HostのCentOSイメージをVirtualBoxで動かしてみる - tsunokawaのはてなダイアリー今回はAtomic Hostに内包されているcAdvisorを使ってDockerコンテナのリソース使用率を表示させてみます。 表示させ…

Atomic Hostのポート番号まとめ(Kubernetesなど)

ポート番号一覧 4001 etcd 7001 etcd(peer) 4194 cAdvisor 7080 kube-apiserver(ReadOnly) 8080 kube-apiserver 9090 Cockpit 10250 kublet(Minion) 10251 kube-scheduler 10252 kube-controller-manager