tmegos blog

Web developer

Grafanaをサブディレクトリで運用する

Grafanaをアップデートしたら設定ファイルが上書きされました。
というわけでサブディレクトリでの運用方法です。
/grafanaというサブディレクトリでアクセスすることを想定しています。

環境

  • OS: Ubuntu 16.04.2 LTS
  • Grafana: 4.3.2 (apt-getでインストール)
  • nginx: 1.10.0 (apt-getでインストール)

設定

設定方法は以下の2つを参考にしました

Grafana in a subdirectory | Wiretime - Michael Pohl

serverfault.com

Grafana

  • /etc/grafana/grafana.iniroot_urlを編集
root_url = http://localhost:3000/grafana/

nginx

  • serverセクションに以下を追加
  location /grafana/ {
    proxy_pass          http://127.0.0.1:3000/;
    proxy_set_header    Host    $host;
    proxy_set_header    X-Real-IP    $remote_addr;
    proxy_set_header    X-Forwarded-Host      $host;
    proxy_set_header    X-Forwarded-Server    $host;
    proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
  }

設定の反映

  • Grafanaとnginxを再起動します。
# systemctl restart grafana-server
# systemctl restart nginx

設定がうまくいっていれば example.com/grafana のようなURLでアクセスできるようになります。
設定に失敗すると、{{alert.title}}のように表示されます。

f:id:tmegos:20170607123805p:plain

Grafanaやnginxの設定で、最後の/が抜けているとうまくリバースプロキシが働かないので注意が必要です。

ぼくがかんがえたさいきょうのMattermost実行環境

※ただしDockerは除く

公式のアップグレードの方法だとconfig.jsondataディレクトリのコピー等が発生していろいろと面倒なので、アップグレードを簡単にするためディレクトリ構成を考えてみました。

ディレクトリ構成

/usr/local/
│   ├─ mattermost (最新のシンボリックリンク)
│   │   └── config
│   │      └─── config.json (/etc/mattermost/config.jsonのシンボリックリンク)
│   ├── mattermost-3.9.0
│   └── mattermost-3.8.0
/etc/mattermost
    ├── config.json
    └── data
  • バージョンが簡単に切り替えられるよう、mattermost本体はシンボリックリンクで最新を向くようにする
  • config.jsondataディレクトリはバージョンが変わっても使い続けるので、/etc/mattermostに退避
    • config.json"Directory""/etc/mattermost/data/"と指定する

アップデートスクリプト

gist.github.com

(非公式) GitKrakenを日本語化してみた

成果物

github.com

適用方法

以下のREADME-ja.mdにも書きましたが、パッチの適用は自己責任でお願いします
GitKrakenの動作がおかしくなったり、起動しなくなったりしても責任は負いません
動作がおかしくなった場合に備え、バックアップを必ず取ってください

続きを読む

SubGitでGitLabにSubversionの歴史を持ってくる

基本的には以下のドキュメントを読んで実行すればOK
importの場合もmirrorのドキュメントの方法を取ればbranchesなどの設定ができます。
(その場合は最後にuninstallの実行が必要)

subgit.com

続きを読む

GitとSubversionを同期してくれるSubGitを全力で推したい

会社のバージョン管理ツールをSubversonからGitへと緩やかに移行中です。
会社から求められていたのは、

  • 今までの歴史はすべて引き継ぐ
  • Git移行後もSubversionと同期を取ること(徐々にGitに慣れてもらうため)

の2つでした。

続きを読む

GitLabのリストア手順について

手順

基本的には以下の公式サイトの手順通りに行えばリストアできます。

docs.gitlab.com

注意点

BACKUPオプションはバックアップファイルの日付の部分のみを指定する。

BACKUP=timestamp_of_backup (required if more than one backup exists)

例えば以下のようにファイル名を指定すると、語尾に_gitlab_backup.tarがつけられ、ファイルが見つからない旨のエラーが発生します。

# gitlab-rake gitlab:backup:restore BACKUP=1487786527_2017_02_23_gitlab_backup.tar
The backup file 1487786527_2017_02_23_gitlab_backup.tar_gitlab_backup.tar does not exist!

正しいコマンドは以下の通り。

# gitlab-rake gitlab:backup:restore BACKUP=1487786527_2017_02_23 #日付のみ指定

パスを指定する場合も_gitlab_backup.tarは不要。
/mnt/backup/1487786527_2017_02_23_gitlab_backup.tarにファイルがあるとすれば以下のように指定する。

# gitlab-rake gitlab:backup:restore BACKUP=/mnt/backup/1487786527_2017_02_23