ChronografでInfluxDBに格納したNginxログを可視化

対象ホスト: dmz-bastion

可視化ツール Chronografを以下の手順でインストールする. https://docs.influxdata.com/chronograf/v1.8/introduction/installation/

wget https://dl.influxdata.com/chronograf/releases/chronograf_1.8.4_amd64.deb
sudo dpkg -i chronograf_1.8.4_amd64.deb

以下をもとにNginxをインストールしてリバースプロキシをする.

sudo apt install nginx

Nginxの設定

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;

        location / {
                proxy_pass http://127.0.0.1:8888/;
        }
}

Nginxに設定を適用させる.

sudo nginx -t
sudo systemctl reload nginx
sudo systemctl enable nginx

curlで設定を確認する.

curl http://localhost/

Webブラウザからアクセスする.

Explorerから以下のクエリを実行してみる.

select * from nginx_access_log.autogen."cdsl-vm-1" order by time DESC limit 50

画面の中央部にクエリを入力すると,画面上部に結果が表示される.

InfluxDBの SELECT 文の構文は,以下を参考にする.

SELECT_clause INTO <measurement_name> FROM_clause [WHERE_clause] [GROUP_BY_clause] Explore data using InfluxQL | InfluxData Documentation

InfluxDBのQuery LanguageのFROM句には,RDBと異なり retention_policy_name が必要になる.

FROM <database_name>.<retention_policy_name>.<measurement_name> Explore data using InfluxQL | InfluxData Documentation

retention_policy_name は以下のクエリで確認できる.自動生成された autogen が確認できる.

SHOW RETENTION POLICIES on "nginx_access_log"

クエリを自分で作成するのが面倒な場合は,Web UIを操作するだけでも簡単なクエリは生成できる.