You are here
Home > IT > nginxのアクセスログを解析してみる(metabase編)

nginxのアクセスログを解析してみる(metabase編)

なにはともあれまずは公式よ。

metabase

https://www.metabase.com/

無料版の Host It myselfをGet Startしてやるぜ!

dockerとjarがある。ローカルにjava入ってるし(java 15)、dockerは重そうだからjarで行ってみよう!

java -version

openjdk version "15.0.1" 2020-10-20
OpenJDK Runtime Environment Corretto-15.0.1.9.1 (build 15.0.1+9)
OpenJDK 64-Bit Server VM Corretto-15.0.1.9.1 (build 15.0.1+9, mixed mode, sharing)

cd ~/Downloads/
java -jar metabase.jar
Warning: environ value /usr/local/Cellar/openjdk/14.0.1 for key :java-home has been overwritten with /Library/Java/JavaVirtualMachines/amazon-corretto-15.jdk/Contents/Home
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2021-04-01 16:35:03,347 INFO metabase.util :: Maximum memory available to JVM: 4.0 GB
2021-04-01 16:35:11,257 INFO util.encryption :: Saved credentials encryption is DISABLED for this Metabase instance. 🔓
 For more information, see https://metabase.com/docs/latest/operations-guide/encrypting-database-details-at-rest.html
Exception in thread "main" java.lang.ExceptionInInitializerError

うひょー、いきなりメッセージ吐きおった。起動せんじゃないか!ここ見ろってログに書いてある。

Encrypting your database connection details at rest

https://metabase.com/docs/latest/operations-guide/encrypting-database-details-at-rest.html

へんな奴にデータ見られないように鍵設定してくださいってことらしい。

openssl rand -base64 32
xxxxxxx

 MB_ENCRYPTION_SECRET_KEY="xxxxxxx"  java -jar metabase.jar

鍵を設定して実行すると、今度はClassNotFoundExceptionだ。javapで見つからないぞ。16入れても見つからない。。。

Caused by: java.lang.ClassNotFoundException: jdk.nashorn.api.scripting.JSObject

javap  jdk.nashorn.api.scripting.JSObject
エラー: クラスが見つかりません: jdk.nashorn.api.scripting.JSObject
仕方がないからOracle社から8をダウンロードする。
(Metabase requires that you have Java 8 or higher available on your system. We have run Metabase with both the OpenJDK and Oracle JDK, so feel free to use either.)を信じた私がアホやった。。。

Java SE Development Kit 8 Downloads

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

javap  jdk.nashorn.api.scripting.JSObject
Compiled from "JSObject.java"
public interface jdk.nashorn.api.scripting.JSObject {
  public abstract java.lang.Object call(java.lang.Object, java.lang.Object...);
  public abstract java.lang.Object newObject(java.lang.Object...);
  public abstract java.lang.Object eval(java.lang.String);
  public abstract java.lang.Object getMember(java.lang.String);
  public abstract java.lang.Object getSlot(int);
  public abstract boolean hasMember(java.lang.String);
  public abstract boolean hasSlot(int);
  public abstract void removeMember(java.lang.String);
  public abstract void setMember(java.lang.String, java.lang.Object);
  public abstract void setSlot(int, java.lang.Object);
  public abstract java.util.Set<java.lang.String> keySet();
  public abstract java.util.Collection<java.lang.Object> values();
  public abstract boolean isInstance(java.lang.Object);
  public abstract boolean isInstanceOf(java.lang.Object);
  public abstract java.lang.String getClassName();
  public abstract boolean isFunction();
  public abstract boolean isStrictFunction();
  public abstract boolean isArray();
  public abstract double toNumber();
}

よしっ、起動したぞ!。

Top