Ubuntuはデフォルトでbackupユーザが存在する

LDAP上の「backup」というユーザ名の一般ユーザで各CentOSサーバーにログインして回りデータをリモートバックアップしていた。ところがUbuntuサーバーに対して同様のリモートバックアップを行おうと思ったところLDAPの「backup」ユーザでログインできなかっ…

BINDのレコードでホスト名にアンダースコア(アンダーバー)は使えない

概要 Let's Encryptでdns01モードでチャレンジしようとしたところチャレンジ失敗どころかレコードが引けなくなってしまった。 _acme-challenge.example.comこういったサブドメインを設定する必要がある。 _acme-challenge IN TXT "xxxxxxxxxxxxxxxxxxx"BIND…

systemctlコマンド

自動起動確認 systemctl list-unit-files --type=serviceor systemctl -t service list-unit-files 起動スクリプトの設定表示 systemctl cat ntp.service 起動パラメータ設定表示 systemctl show ntp.service 起動パラメータを指定して個別表示 systemctl sh…

Testinfraでサーバーのテスト

概要 Python製のサーバーテストツールTestinfraを試してみました。 GitHub philpep/testinfra: Testinfra test your infrastructures インストール pip install testinfra テストファイルを用意 test_docker.pyといったファイル名で用意します。 # Docker de…

Packerの『/etc/rc.d/init.d/vboxadd: command not found』エラー

概要 PackerでCentOS7のVagrant(VirtualBox)のBoxイメージを作ろうと思ったところ以下のエラーが表示されBoxが作成出来ませんでした。 原因はVirtualBoxの仕様が変わった影響によるものでした。 修正済みPackerスクリプト packer/centos/7 at master · tsuno…

whoisコマンドで「No whois server is known for this kind of object.」が出たとき

概要 whoisコマンドでドメインを調べると以下のエラーが出る時があります。 No whois server is known for this kind of object.whoisコマンドはデフォルトのwhoisサーバーに接続してその結果を表示させていますが、 トップレベルドメインによって表示されな…

技術系Podcast

Podcast Twitterハッシュタグ Rebuild - Podcast by Tatsuhiko Miyagawa #rebuildfm riywo's Podcast #riywo Admins Bar - mozaic.fm #mozaicfm 職質テックトーク - wada.fm #wadafm rubyist.club - cloudinfra-audio - backspace.fm #backspacefm clfreaks …

Jenkinsジョブの検索

概要 Jenkinsのジョブが増えてくると例えばdockerコマンド使ってるジョブあったっけ?ということがよくあります。 ブラウザでジョブを一つ一つ確認していると時間がかかるためJenkinsサーバーの各ジョブ設定ファイルを一気に検索したときのメモです。 docker…

td-agentのプラグインインストールコマンド

インストールされているプラグイン一覧表示 /opt/td-agent/embedded/bin/fluent-gem list インストールされているプラグインのアップデート /opt/td-agent/embedded/bin/fluent-gem update fluent-plugin-xxxxx プラグインの検索方法 /opt/td-agent/embedded…

Zabbixのトリガー条件のNOTイコール

Zabbixのトリガー条件のNOTイコールの書式 2.2以前 # 2.4以降 <> 上記の通り2.4から書式が変更となっているので注意Trigger expression Zabbix Documentation 2.2 Trigger expression Zabbix Documentation 3.2

dos2unixコマンドで改行コード変換

概要 Linuxサーバーにスクリプトをアップロードしたところ改行コードが違っておりスクリプトが正常に動作しなかった。 dos2unixコマンドを使って改行コードを変換した時のメモ 改行コード確認 cat -e test.plで確認可能 改行コード 行末 改行コード OS ^M+$ …

Redisのslowlog設定

概要 Redisのスローログ出力方法と設定のメモ slowlogを5件出力する SLOWLOG GET 5 表示例 [tsunokawa@test ~]$ redis-cli 127.0.0.1:6379> SLOWLOG GET 5 1) 1) (integer) 18284101 2) (integer) 1471441352 3) (integer) 56080 4) 1) "GET" 2) "testkey1" …

Redisのログレベルをオンラインで変更する

概要 Redis稼働中に設定ファイルの書き換え&デーモンの再起動をすることなくログレベルを変更して詳細ログを吐き出す手順です。 現在のログレベル設定を確認 redis-cliで以下を実行することで設定を確認出来ます。 CONFIG GET loglevel 表示例 [tsunokawa@t…

Redis ClusterのFLUSHALL

概要 Redis Clusterのデータを全て消したい場合、各ノードでFLUSHALLを行う必要があります。どこか1台のマスターノードでFLUSHALLを実行してもクラスタ内のデータは全消去されず、 redis-cliでアクセスしたサーバーのデータのみ削除されます。また、クラスタ…

Zabbix3.0 スクリーン共有設定

Zabbix3.0でスクリーンを作成したところグラフは見られるけどスクリーンは見られないということが起きました。 スクリーンに権限設定は無かったはず。。。 と思っていたらZabbix3.0から共有設定が実装されたようです。 スクリーンを作成する画面から[共有]タ…

PKCS12ファイルから秘密鍵と証明書を取り出す

SSL

秘密鍵取り出し openssl pkcs12 -in CEDS2688886509.pfx -nocerts -nodes -out example.com.key -passin pass:pgfuwt05noWI オプションの意味 CEDS2688886509.pfx PKCS12ファイル名 example.com.key 取り出した秘密鍵のファイル名を指定 pgfuwt05noWI PKCS12…

RedisのデータをDB番号指定で一括削除

※取り扱い注意! redis-cli --raw -n 10 KEYS "*" | xargs redis-cli -n 10 DEL10はDB番号

dateコマンドのUNIX時間変換

ローカル時間(localtime)→UNIX時間(unixtime) date '+%s' 表示例 [tsunokawa@test ~]$ date '+%s' 1396278000 UNIX時間(unixtime)→ローカル時間(localtime) date -d '@1396278000' 表示例 [tsunokawa@test ~]$ date -d '@1399453765' Tue Apr 1 00:00:00 JST…

ステータスがexitedになっているDockerコンテナのみ削除

概要 ステータスが『Exited』となっているDockerコンテナのみdocker rmする場合の方法です。 ステータスが『Exited』となっているDockerコンテナのみ表示 docker ps -a -f status=exitedまたは docker ps -a -f 'exited=0'上記でSTATUSがExitedとなっている…

Dockerのイメージ削除時のエラー「Error response from daemon: Conflict, cannot delete image」対策

概要 Dockerのイメージを削除する際、イメージ名を変更しているとエラーが出て一発で消せない時があります。 [root@test ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hoge/centos latest 2064fc6b29af 8 weeks ago 214.5 MB fuga/cento…

Markdownに目次(TOC)を表示させる

概要 Markdownでこういった目次を作るメモです。 github.com こちらを利用させていただきました。 Markdownファイルを指定して実行すると簡単に指定の場所に目次を作ることが出来ます。 インストール npm install -g doctoc 表示例 npm WARN engine deep-ext…

CentOS7のキックスタートファイル(CentOS6から変わったところ)

zerombrのyesは不要 zerombr yesとしているとエラーになる。yesが不要で zerombr のみでOKエラー画面 anaconda 19.31.79-1 for CentOS 7 started. The following problem occurred on line 15 of the kickstart file: Kickstart command zerombr does not ta…

CentOS7のyum自動アップデート

概要 CentOS7のyum自動アップデート手順です。 yum-cronパッケージをインストールして設定をおこなう必要があります。 インストール yum install yum-cron.noarch 設定 自動アップデートを有効化 /etc/yum/yum-cron.conf以下のように編集することで自動アッ…

無線LAN(Wi-Fi)接続認証をパスワードからLDAP認証に切替えた話(FreeRADIUS+OpenLDAP連携)

概要 無線LANにLDAP接続出来ないかと試した備忘録です。 結果FreeRADIUS+OpenLDAPの組み合わせで実現出来ました。 無線LANパスワードの問題点と課題 無線LANのパスワード運用は以下の問題や課題があるなーと思っています。 パスワードは変更しないまま放置 …

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の値を元に物理サーバーか仮想サーバーか…