さようならG Analytics、Hello Umami !
3 min read
こんにちは、無能です。
Google Analyticsを今まで使用しておりましたが今回OSSのアナリティクス収集としてUmamiを導入してみました。
Umami
なんで入れたの?
サイトパフォーマンスチェックでGoogle AnalyticsのJSコードロードがリモートで実行されるのですが、それがめちゃくちゃ遅く嫌だったからです。
言うて、広告入れているからそんなこと言えた口では無いのですがGoogle Analyticsが特に全体の結果のロードに悪影響を与えているようにしか思えませんでした。
他の手段としたら、ローカルにgtagのコードを設置すればその分の無駄なトラフィックが生まれることは減るのですがこの際にちょうど以下のブログ
mimoexのブログ
を見るタイミングがあり、プライバシーポリシーを眺めたらなんか
アクセス解析ツールとしてUmamiを活用しています。
と書いてあって興味から調べたことから辿り着きました。 このタイミングに見るのもなにかの縁だろうと思い導入。
ちなみに、日本語記事はマジで無いです。言ってもまだある方とは言える気がするが。
Umamiとは
OSSのアクセス解析するツールです。
クッキー不要で誰でもかんたんに立ち上げることが可能。
日本の情報が少ないですが、立ち上げて見ました。
How to Install
まずはソースコードを引っ張ってきます。
sudo git clone -b dev https://github.com/umami-software/umami.git
今回は開発者版を使ってみます。
そして、yarn install
yarn install
DBの用意
MySQLにテーブルとユーザを作っていきます。
sudo mysql
mysql> CREATE USER 'umamiuser'@'localhost' IDENTIFIED BY 'YourPassword';
mysql> CREATE DATABASE umami;
mysql> GRANT ALL PRIVILEGES ON umami.* TO 'umamiuser'@'localhost';
mysql> FLUSHPRIVILEGES;
mysql> exit
DBパスワードは、
echo -n "YourLikePharse" | sha256sum
として出力されたものを使用しました。
個人の出来る範囲内であればこの方法が一番手軽でセキュアなパスワード生成出来るかと思います。
これでDBは一旦終わりです。
.envの設定
使用ポート、DBの接続先設定を行います。
この時点で、APP_SECRET
に使う文字列を生成しておきましょう。
openssl rand -base64 30
この値をコピーしておきます。
vim .env
以下のように設定しました。
DATABASE_URL=mysql://umamiuser:YourPassword@localhost:3306/umami
APP_SECRET=openssl rand -base64 30で生成した値
PORT=8050
HOSTNAME=稼働させるIP(私はWireGuard上のIPを指定)
Run Umami
公式ではpm2
を使用することを推奨しておりますが、基本的に自分はps -ef
からプロセスが分かりやすいようにnpm start
で稼働。
npm run start-env
あとは、Nginx側でリバースプロキシを行い終了。
サイトでの設定
HTTP
上からUmamiにアクセスし、ログインは
User : admin
Password : umami
と初期設定がされているのでそれでログイン。
必ず変更しましょう。
すごい・・・・!!
あとは、Gtagのように<head>
に入れる為のコードが出てくるのでトラッキングを行いたいサイトにいれるだけ
これは・・・凄すぎますね・・・。
結果的にサイトにも優しい
他にもロードしているJSはありますがLighthouse結果が高パフォーマンスを記録しました。
まあ何度もいいますが、決してこのベンチマークが全てではありません。
でもこれで良い点数取れるのはベンチマーク厨からしたら嬉しいよねっていうだけです。
それではまた。
(本当は自鯖のTerraformがqemuでも使えること知ったからそれやる予定だったのに)
こんな感じでしたが、よろしくお願いします。
本日もありがとうございました。