togatttiのエンジニアメモ

過度な期待はしないでください.

2016-01-01から1年間の記事一覧

FreeBSD10のHTTP/2設定手順

FreeBSD10で、HTTP/2の検証をしようと思ったので、設定手順を残す。 Webサーバは、Apacheを使う。 環境 OS FreeBSD10.3 必要なソフトのインストール クリーンインストール後からの作業を想定しているので、 すでに稼動しているサーバとは手順が異なるかもし…

ファイルの各行にUUIDを付加するスニペット

ログ収集ツールのfluentdのuuid_keyを使う場合、ログにUUIDを振る必要がある。 こんなときシェルスクリプトで、whileやfor、uuidgenを組み合わせて、追記していたが、 行が膨大な場合、処理の遅延が気になったので、C言語で処理するプログラムを書いた。 プ…

プレミアリーグを得点時間帯ごとにクラスタリングする

概要 スポーツの結果予想のために、最近、少しずつ機械学習に取り組んでいる。 今日は、機械学習 k-means(k平均法)を用いたクラスタリングを試してみる。 素材は、サッカーの時間帯別の得点率で、これを使いチームをクラスタリングする。 テスト用に作成し…

Kibana5.0.0に、認証、認可を実装する

概要 Kibanaを管理者以外の誰かに使わせる場合、そのユーザを認証し、閲覧できるインデックスを限定したいことがある。 Shieldという有償プラグインで認証、認可が可能らしいが、お金をかけずに実現したかった。 dev.classmethod.jp 今回は、OpenRestyを使い…

KibanaをNginxのリバースプロキシで動かす

環境 Ubuntu 16.04 Elasticsearch 5.0.0 GA Kibana 5.0.0 使用するIPは、192.168.0.2とする。 メモ 試行錯誤した結果、設定ファイルのLocationディレクティブをこうすると動作した。 location ~ (/app/kibana|/bundles/|/status|/elasticsearch|/plugins|/ti…

Elasticsearchクラスタの共有リポジトリ設定

Snapshot機能で、使用する共有リポジトリの設定方法を示す。 概要 クラスタに、共有リポジトリを設定するためには、どのノードからもアクセスできるようにファイルシステムを共有する必要がある。 今回は、NFSで、共有ファイルサーバを構築し、共有リポジト…

Elasticsearchのデータをバックアップして、別ノードにリストアする

Elasticsearchを運用していて、あるノードのデータをバックアップして、それを別のノードにリストアする方法を探した。 以前は、elasticsearch-knapsackやesclientといった方法があったらしい。 Elasticsearchのデータを簡単にimport/exportする - (゚∀゚)o彡 …

IPアドレスから、都道府県庁の緯度、経度を取得するスクリプト

Kibana4のグラフ描写で、緯度、経度が必要だったので取得するスクリプトを書いた。 書いたスクリプトはこれ。 IPアドレスから、緯度、経度を取得するスクリプト · GitHub 準備 $ gem install geoip $ wget http://geolite.maxmind.com/download/geoip/databa…

GitLab8.6.1にアップグレードで出たエラーの対処

運用しているGitLab (8.0.2)のバージョンが古かったので、 8.6.1にアップグレードしたところ、エラーが出たのでメモを残す。 環境 OS Ubuntu 14.04 GitLab アップデート前 8.0.2 アップデート後 8.6.1 インストールは、 gitlab/gitlab-ce - Packages - packa…

sedで、範囲指定してから、文字列置換を使う

sed

sedで、範囲指定してから、文字列置換する方法を備忘録として残しておく。 例えば、以下のようなファイルがあるとする。 $ cat sample_http.conf <VirtualHost example.com:80> User www Group www Port 80 SSLDisable ServerAdmin admin@example.com ServerName example.com </VirtualHost> <VirtualHost example.com:443> User www </virtualhost>…

Docker Machine にコマンドを追加する

MacOSで使う、 Docker Machine に、gcc、makeコマンド等を入れる方法を調べたので残す。 docker machineで、使われているOSは、TinyCoreLinuxというものらしい。 TinyCoreLinuxでは、tce-loadを使いパッケージをダウンロード、インストールすることができる…

SeleniumサーバをDockerで構築する

SeleniumサーバをDockerコンテナとして構築する。 すでにGitHubにdocker-seleniumというプロジェクトが出ているが、 今回は日本語環境で利用したかったので、ゼロから作り直した。 github.com 使い方 $ git@github.com:kentatogashi/docker-selenium-ja.git …

作業用Bashスクリプトのテンプレート

よく自分で書く作業用Bashスクリプトのテンプレートを残す。 気にかけていることは、 -e オプションで、エラー時点で処理終了 エラー時は、$LINENOで、該当行数出力 -x オプションで、デバッグ あたりは、必ずできるようにしてる。 余裕がある時は、 出力を…

JenkinsをDocker環境にリプレイスする

JenkinsサーバをDockerコンテナとしてリプレイスする手順を示す。 前提 Jenkinsのバックアップは、ThinBackUpプラグインを使用して取得 thinBackup - Jenkins - Jenkins Wiki Jenkinsのプラグインは、ThinBackupではバックアップされないので、手動で取得 Do…

2分でWordPressをセットアップする(Docker編)

Dockerで、WordPressのセットアップが2分でできた。 Apache、MySQL、PHP等のミドルウェアも、Docker コンテナで完結する。 コンテナは、Docker Hub にある、WordPressとMySQLの公式版を使う。 準備 $ docker-machine ssh dev $ cat setup_wp.sh #!/bin/sh do…

Ansibleで、クライアントPCのファイルの存在チェック

Ansibleを使うとき、クライアント側の実行結果をトリガーにして何かする場合、 local_actionとregisterモジュールを組み合わせれば良い。 クライアントPC側で、あるファイルの存在を確認するためには、statモジュールを使う。 使用例 一般的なAnsibleのディ…

Designate の413エラーの対処

OpenStack Designate で、ゾーン登録時に、エラーが出たので対応方法を残しておく。 下記の作業は、designateが置いてあるホストで、行う。 事象 ゾーン登録時に、下記のエラーが出た。 413 Request Entity Too Large ソースコードを調べると、どうやら、Des…

OpenStack Keystoneで、Designateを認証する

Designateは、既にインストールされていることを前提とする。 OpenStack Designate を試す : あかぎメモ ちなみに、これで、Designate の仮装環境を用意した。 ここで紹介すること KeyStone セットアップ テナント登録 DesignateへのKeystone設定 Keystoneを…