Hero img
InfluxDBをインストール

REDHAT系AlmaLinuxにインストール

時系列データベースのInfluxDBをインストールしました。


目次

  • InfluxDBを使う理由
  • 目標
  • 環境
  • インストールする
  • ダウンロード
  • influxdbを実行
  • ポート開放
  • 初期設定
  • APIトークを作成
  • prometheus
  • 必要パッケージのインストール
  • Promethuesのダウンロード
  • アーキテクチャ
  • 設定の変更
  • telegraf
  • prometheus
  • influxdbでの設定
  • prometheus起動
  • データの確認
  • まとめ

InfluxDBを使う理由

サーバのリソースを監視し異常の場合通知を来るようにしたかったのと、株価、暗号資産等も統計を取って分析もしたかったので、探したところinfluxDBとGrafanaを使うと実現できる事を知った。正直新しいDBを使う事に気が進まなかったが、他に良さそうなものが無く、今回使ってみた。
使ってみた感想はそれほど難しくない。先人方のサンプルがたくさんあったので、簡単に実現でました。

目標

InfluxDBをインストール

influxdb-main

環境

  • Almalinux 9
  • Influxdv 2.7.10

インストールする

まず公式を見たところ、RedHat系がサポートしない?とかで、上手くいかなかった。ver1.7をインストールしてみたが、Ver1.7はUIが無くCUIで操作する必要があるようで...最終的に2.7.10をインストールしました。

ダウンロード

influxdbのキーをダウンロードした後に、リポジトリを追加しインストールを実行します。

  1. 1.キーのダウンロード
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key'     
  1. 2.リポジトリを追加する。
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
  1. 3.インストールを実行する
sudo yum install influxdb2 -y

influxdbを実行

systemctl start influxdb
systemctl enable influxdb

ポート開放

ブラウザーでアクセスしたいので一時的にポートを開放します。

firewall-cmd --add-port 8086/tcp

ポート閉じる場合

firewall-cmd --remove-port 8086/tcp

初期設定

GUIでinfluxdbの初期設定を行います。

influxdb-setup influxdb-setup2

ユーザー名、パスワード、組織、bucket名を入力します。
組織とbucketは覚えやすく短い文字が楽でいいです。

influxdb-quick

APIは保管しておきましょう。

influxdb-apikey

※CUIの場合はファイルをダウンロードする必要があります。

APIトークを作成

新しいAPIトークを作成します。 ここで名前を付けて、新しいトークを作成します。pythonでデータを入力する際にこのAPIを使用します。

influxdb-create-token

prometheus

Prometheusをダウンロードしサーバー情報を表示させます。 少し手間がかかり、grafanaだけでも連結できるのでしなくてもいいかも。

必要パッケージのインストール

influxdbとpromethuesをつなげるためtelegrafをインストールします。

dnf install telegraf

Promethuesのダウンロード

Promethuesはtarファイルとなっているので、OSに合ったものをダウンロードします。
また、grafanaまたはinfluxdbに連結する場合はnode_exporterも必要になります。

アーキテクチャ

公式からPromethuesをダウンロードします。

influxdb-prometheus-donwload
アーキテクチャの確認
uname -m
x86_64
だったためamd64をダウンロードします。

Prometheusとnode_exporterをダウンロードし展開。

bash
wget https://github.com/prometheus/prometheus/releases/download/v2.53.2/prometheus-2.53.2.linux-amd64.tar.gz
tar -axvf prometheus-2.53.2.linux-amd64.tar.gz
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar -axvf node_exporter-1.8.2.linux-amd64.tar.gz

設定の変更

telegrafとprometheus、node_exporterをダウンロードしたのでそれぞれ設定を変更していきます。

telegraf

telegraf.confの2行をコメントアウトします。

/etc/telegraf/telegraf.conf
[[inputs.prometheus]]
urls = ["http://localhost:9100/metrics"]

prometheus

prometheus.ymlを修正し、node_exporterと連結させます。 node_exporterは9100で起動するので、9100を追加します。

prometheus.yml
      - targets: ["localhost:9090"] #<--に
      - targets: ["localhost:9090","localhost:9100"] #<--9100を追加

influxdbでの設定

sourcesでprometheusを検索し新しく作成します。

influxdb-prometheus-search influxdb-prometheus1
influxdb-prometheus2 influxdb-prometheus3

設定が終わると以下のように接続トークが表示されます。

influxdb-prometheus-token

telegrafの起動方法も表示されています。

Telegraf Configuration

起動方法表示されているこの画面は閉じないでください

prometheus起動

用意ができたのでprometheusを起動します。パス登録や、デーモン化設定をしていないため複数起動しテストします。

prometheusの起動
./prometheus --config.file=./prometheus.yml
node_exporterの起動
./node_exporter
telegraf
telegraf --config http://ipaddress/api/v2/telegrafs/ggggggggg

3つsshで接続して起動しているのでカオス influxdb-prometheus-run

最後にTelegraf Configurationの画面でLISTEN FOR DATAをクリックすると接続テストが実行され、Connection Foundとなれば接続成功です。

influxdb-prometheus-connected

データの確認

influxdbの画面で指定のbukectを選ぶと色々な値が(_measurement)が表示され、データを選ぶとグラフが表示されます。

influxdb-prometheus-view-data

時間の指定

グラフ描写されない時よく期間の設定を間違えてしまっている

まとめ

influxdbをredhat系にインストールできました。CPUリソース確認はPrometheusを使うのが良さそうでした。事細かな情報が取得できましたが、Prometheusだけを使うのであればGrafanaだけで実装できるのでinfluxdbを使う必要は無かった。統計データ等はpythonのライブラリーが充実しているのでデータ追加は基本的APIで実装する。

関連記事

コメント

コメントを書く

質問や、間違いがありましたら、お気軽にどうぞ

※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください