Fluentd + Elastichsearch + Kibana(1)CentOS7で環境構築する

Fluentdで収集したログをElastichsearch + Kibanaに入れて可視化する。ここを参考にしながら、まずはCentOS7に環境構築してみる。

Elastichsearch

OpenJDKのインストール

Elasticsearchは、インストールにJAVA7以降(Java8 Update 20以降、もしくはJava7 Update 55以降)のJDKを必要とする。Oracle JavaもしくはOpen JDKがサポートされているようなので、今回はOpenJDK8をインストールする。

sudo yum -y install java-1.8.0-openjdk

Elastichsearch のインストール

RPMからElastichsearchをインストールする。

sudo rpm -ivh https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.5/elasticsearch-2.3.5.rpm

インストールが終わると以下のように忠告されるので、

### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service

言われた通りにコマンドを実行し、Elastichsearchを起動。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Fluentd

Fluentdをインストール

自動インストールスクリプトが用意されているので、これを実行する。現在、Fluentdは2.X系で開発が進められているので、td-agent2を指定してインストールを行う。

sudo curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

FluentdとElastichsearchとの連携

FluentdからElastichsearchへデータを受け渡すためのプラグインをインストールする。

sudo yum -y install gcc libcurl-devel
sudo td-agent-gem install fluent-plugin-elasticsearch

Fluentdを起動

sudo systemctl enable td-agent
sudo systemctl start td-agent

Kibana

Kibanaのインストール

Elastichsearchのリポジトリを追加する。

sudo vi /etc/yum.repos.d/elastic.repo

[kibana-4.4]
name=Kibana repository for 4.4.x packages
baseurl=http://packages.elastic.co/kibana/4.4/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

yumからインストールする。

sudo yum install kibana -y

Kibanaを起動

sudo systemctl enable kibana
sudo systemctl start kibana

Kibanaを起動

これでインストール作業が全て完了。
インストールしたサーバの5601ポートにアクセスするとこんなページが見れるはず。

http://XXX.XXX.XXX.XXX:5601

Kibana

CentOS7(1)アレイコントローラの認識

HP Dynamic Smart Array B140i Controller

CentOS7をインストールするサーバに、アレイコントローラが搭載されている場合、アレイコントローラのドライバを指定した上でインストールを実行しないと、論理ドライブが認識されずに物理ドライブがそのまま見えてしまう場合がある。HP ProLiantに搭載されているHP Dynamic Smart Array B140i Controllerを認識させる場合は、デバイスドライバの入ったUSBメモリを作成し、このUSBメモリを使ってCentOSインストールと同時にドライバの組み込みも行う。デバイスドライバは、HPのサポートページからダウンロードすることが可能である。

デバイスドライバ(ドライバディスケット)のダウンロード

HPのサポートページから「.gz」形式のドライバーをダウンロードする。

デバイスドライバのダウンロード

デバイスドライバー(ドライバディスケット)の解凍

解凍すると「.dd」形式のファイルとなる。

デバイスドライバの解凍

USBメモリへの書き込み

FAT形式にフォーマットしたUSBメモリにddコマンドを用いてドライバを書き込む。「.dd」形式のファイルをファインダー上でドラッグアンドドロップするだけでは、正常に読み込むことができない

FAT形式にフォーマット

Macの場合は、ディスクユーティリティを使ってFAT形式にフォーマットする。このとき、名前をUNTITLEDと命名すると、通常は/Volumes/UNTITLEDでマウントされる。また、装置欄に記述されている名称(disk2)がデバイス名称(/dev/disk2)となる。

USBメモリのフォーマット

ddコマンドによる書き込み

USBメモリがマウントされている状態では、ddコマンドを実行することができない。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
Password:
dd: /dev/disk2: Resource busy

そこで、ddコマンドを実行する前に、USBメモリをアンマウントしておく。

$ sudo umount -fv /Volumes/UNTITLED

改めて、ddコマンドを実行する。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
2584+0 records in
2584+0 records out
1323008 bytes transferred in 0.654908 secs (2020143 bytes/sec)

CentOSをインストール

CentOSをインストールする際にGRUBエントリーの編集を行い、デバイスドライバーのインストールとAHCIの無効化を行う。

GRUB選択画面

eコマンド”で編集画面に遷移し、”inst.dd modprobe.blacklist=ahci“を追記した上で起動を行う。この時点では、まだUSBメモリを挿入しない

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CENTOS\X207\X20\X86_64 quit inst.dd modprobe.blacklist=ahci

すると、どのデバイスからドライバをインストールするかを問うプロンプトが表示されるので、この時点で初めてUSBメモリを挿入し、”rコマンド“によりデバイス一覧の再スキャンを行う。

DD: starting interactive mode

(Page 1 of 0) Driver disk device selection
    /DEVICE TYPE      LABEL
# to select, 'r'-reflesh, or 'c'-continue:

USBメモリが認識されるので、どのデバイスにある、どのドライバを組み込むのかを対話形式で入力する。

(Page 1 of 1) Driver disk device selection
	/DEVICE	TYPE	LABEL
1)	sda1	vfat	VID	XXXXX
2)	sda2	ext4	OEMDRV	XXXXX
# to select, 'r'-reflesh, or 'c'-continue: 2
DD: Examining /dev/sda2

(Page 1 of 1) Select drivers to install
1)	[]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: 1

(Page 1 of 1) Select drivers to install
1)	[x]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: c
DD: Extracting: kmod-hpdsa

これでドライバの組み込みが終了したので、この時点で必ずUSBメモリを抜いておく。USBメモリを挿したままインストール作業を実行すると、USBメモリからOSインストールを行おうとしてエラーが発生する。

HP Smart Array P440 FBWC Controller

SAS HDDのアレイコントローラであるP440は、何もしなくてもCentOSから認識された。違いはなんなんだ。