Elastic Stackを6.3.2に更新する

Elastic Stack

FreeBSDのportsでElastic Stackを6.2系から6.3系に更新してみた。それなりに変わっているので油断せずに更新した方が良い筈。

更新

# service kibana stop    #Kibanaは必ず停める
# service logstash stop  #Logstash はここで停めずに最後に再起動でも良いかも
# service elasticsearch  #elasticsearch はここで停めずに最後に再起動でも良いかも

# portupgrade elasticsearch
# portupgrade logstash
# pkg delete kibana6     #Kibanaはデータを持ってないので削除するのは躊躇不要
# pkg delete node6       #Kibana6.3は Node.js 8を使うのでNode.js 6を削除
# cd /usr/ports/www/node8 
# make install
    たとえばLibreSSLなどを利用している場合はconfigオプションでBUNDLED_SSLにチェックすること
# cd /usr/ports/textproc/kibana6
# make install

# 以下3行はやった方がよさ気
# cd /usr/local/lib/elasticsearch/config
# mv jvm.options jvm.options.BAK
# cp jvm.options.sample jvm.options   #必要に応じて修正 (-Xmsや-Xmxなど)

# 以下3行は不要かな
# cd /usr/local/etc/logstash
# mv jvm.options jvm.options.BAK
# cp jvm.options.sample jvm.options   #必要に応じて修正

# portupgrade beats     #このホストでBeatsを利用しているなら合わせて更新

X-Packの更新

Elasticsearch 6.3.2からX-Packのインストールは不要になったらしい。ただし、elasticsearchを更新した場合は旧バージョンのX-Packが残ったままになっているのでそれを削除してやる必要があるみたい。
LogstashとKibanaはおそらく旧X-Packを削除しなくて良さそう。
これまでElastic Stackの更新を行おうとするとそれぞれのX-Packの更新で時間を取られて大きなダウンタイムが発生していたけど今後は簡単に素早く更新出来そう。

# /usr/local/lib/elasticsearch/bin/elasticsearch-plugin list           #インストール済みのプラグインを確認する
# /usr/local/lib/elasticsearch/bin/elasticsearch-plugin remove x-pack    #X-Packを削除する

# /usr/local/lib/elasticsearch/bin/elasticsearch-plugin install x-pack      #仮にX-Packをインストールしようとしても弾かれる
ERROR: this distribution of Elasticsearch contains X-Pack by default

# /usr/local/logstash/bin/logstash-plugin install x-pack      #仮にX-Packをインストールしようとしても弾かれる
Logstash now contains X-Pack by default, there is no longer any need to install
it as it is already present.
ERROR: Invalid pack for: x-pack, reason: x-pack not an installable plugin, message: x-pack not an installable plugin

# /usr/local/www/kibana6/bin/kibana-plugin install x-pack      #仮にX-Packをインストールしようとしても弾かれる
Plugin installation was unsuccessful due to error "Kibana now contains X-Pack by default, there is no longer any need to install it as it is already present."

他のプラグインを利用している場合はそれらも必要に応じて更新する。

設定ファイルの変更

/usr/local/etc/logstash/logstash.yml (1行変更)
xpack.monitoring.elasticsearch.url: ["http://es1:9200", "http://es2:9200"]

行頭の#を取るのとelasticsearchが動いているホスト名に変更。これはやっておかないとKibanaのモニタリングにLogstashが表示されない筈。

サービスの再起動・起動

# service elasticsearch restart    #再起動
# service logstash restart         #再起動
# service kibana start             #起動
# service metricbeat restart       #再起動  以下2行はbeatsを更新した場合且つ稼働しているとする
# service filebeat restart         #再起動

それぞれログを見てエラーが出ていないこと、勝手に停止しないことを確認する。
しばらく監視してメモリを食い尽くされないことも確認しておかないと怖いよ。

Kibana モニタリング
KibanaのMonitoringにLogstashが表示されることも確認しておく。

Beats

6.2系から6.3系に変更したところ、hostの出力がhost:hogeではなくhost: { name: hoge } という嫌らしい構造に変わっている。KibanaのVisualizerのGUIによるFilter追加でひっかからなくて困るのでbeat.hostnameに切り替えた方が良さげ。ただし、beatsの出力やLogstashのFilterでbeat.hogeをdropしていないこと。dropしているなら要修正。
なお、beats7.0-alphaではhost:hogeに戻ってるような・・・(自分でビルドした分で確認)

関連記事:

Manjaro Linuxを触ってみた

Manjaro Linux

最近人気のあるらしいManjaro Linuxを触ってみた。
DistroWatch.comのページヒットランキングではここ暫く1位となっている。この1位というのはその前数年間はLinux Mintの定位置だった筈。ページヒットランキング=人気かというと疑問だし、狂信的Manjaro崇拝者が無理やり何度もページを表示させている可能性もないわけではないけど、DistroWatch.com以外でもその名前をちょくちょく目にするので注目はされてそう。

そのManjaroはArchベースのディストリビューション。CUI(CLI)が当然というArchの取っ付きにくさをできるだけ排除してGUIでやるというマイルドなものを目指しているらしい。それでも初心者とかライトユーザーには優しくはないように思うけど。

ManjaroのWikiによると最小構成は1GHzのCPU、1GBメモリ、30GBのストレージとなっている。利用するデスクトップ環境にもよるだろうが必要スペックを見た限りでは軽快な予感。

公式サイトから貰えるのは大きく3つCurrent Releases, Community Release, Development Releasesで、それぞれに複数のデスクトップ環境・エディションがあるらしい。

  • Current Releases :   Manjaro XFCE Edition, Manjaro KDE Edition, Manjaro GNOME Edition, CLI用のManjaro-Architect ISO
  • Community Release :   Awesome, Bspwm, Budgie, Cinnamon, Deepin, i3, LXDE / LXQT, Mate, Openbox
  • Development Releases :   Manjaro XFCE Edition, Manjaro KDE Edition, Manjaro GNOME Edition

今回はCurrent ReleasesのManjaro KDE Editionを触ることにした。なんでKDEエディションというと日頃からKDE Plasmaデスクトップに慣れ親しんでいるから。(常用PCはここ数年ほどKDE Plasmaばかり openSUSE→Gecko→KDE Neon)

ダウンロードしたISOファイルはDVD-Rに焼くなど。仮想環境で試すだけならそのままで。

インストール

DVD-Rなどから起動する。
「タイムゾーン」、「キーボードレイアウト」、「言語」をそれぞれ[↑][↓]で選んで[Enter]で選択モードに入り、[↑][↓]で適切な値を選んで[Enter]。いずれもインストール時に再度指定することになるが、言語だけはここで日本語を選択しておくのが良いかと。
上の3つを選び終わったら [Manjaro.x86_64 kde] に合わせて [Enter]

しばらくCLI画面 放置。
デスクトップが起動して「Manjaroへようこそ!」の画面が表示される。その前にネットに接続されていないというメッセージが出た場合は単にOK。
デスクトップ左上の隅の「Install Manjaro Linux」、または「Manjaroへようこそ!」の窓の中央下段の「インストーラーを起動」をクリックする。
言語設定画面「日本語」が選択されている筈なのでそのまま右下の[次へ]
タイムゾーンの設定で世界地図の日本列島をクリック。地域: Asia、 ゾーン: Tokyoになることを確認。右下の[次へ]
キーボードレイアウトの指定で左列から 「Japanese」 を選択(日本語配列キーボードの場合)。 右列から「デフォルト」を選択。右下の[次へ]
パーティション(ストレージの使い方)の指定。基本的には「ディスクの消去」を選べばディスク全体を使用することになる。スワップは「普通の使用」を想定した適切な容量が確保される筈。右下の[次へ]
ユーザー情報の登録。適切にユーザー名、ホスト名、パスワードを入力する。一人で使うということであれば一番下の「管理者アカウントと同じパスワードを使用する。」にチェックする。 右下の[次へ]
これまで指定した内容が表示されるので確認して[インストール]
しばらく放置すると画面が消えるので[Shift]かマウスを動かすか。
「すべて完了しました」が表示されたら「今すぐ再起動」にチェックして右下の[実行]

初起動後の設定

Manjaro Linux 1
初起動直後の画面。「Manjaroへようこそ!」には用はないので右下の「システム開始時に起動させる」のスイッチをオフにして閉じる。

Manjaro Linux 2
デスクトップ左下のアプリケーションランチャー(WIndowsのスタートボタン相当)をクリックするとおそらくそこに「ソフトウエアの追加と削除(Octopi)」が存在するはずなのでクリック。
日本語を入力できるようにしたいので上部のテキストボックスに「fcitx」と入力。(上の画像の①)
その下のリストにfcitx関連のパッケージが表示されるのでfcitx-mozc, fcitx-qt4, fcitx-qt5, fcitx-configtoolを探してそれぞれ右クリックしてインストール指定する。(上の画像の②) なお、ManjaroのWikiにはfcitx-gtk2, fcitx-gtk3もインストールするように書いてある。
インストール指定したら下部にそれが表示される。(上の画像の③)
すべてインストール指定したら左上の方にある適用ボタンをクリック。(上の画像の④)

~/.xprofile (新規作成)
1
2
3
4
5
6
export LANG="ja_JP.UTF-8"
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx

~/.bashrc (3行追記)
1
2
3
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx

再ログインするかシステムを再起動。
Fcitxの設定はこちらを参照、Mozcの設定についてはこちらを参照。

Manjaro Linux 3
Manjaroでは標準ブラウザとしてFirefoxが入っているが、Chromeを使いたい場合は上のOctopiではインストールできなかった。ネットで見たらAUR(Arch User Repository )ではできるということであったが、候補に出てこなかった。
そこで、ターミナルを開いて以下を実行。なお、一般ユーザー権限でコマンド実行のこと。管理者になっちゃダメ。

[foobar@manjaro ~]$ yaourt google-chrome
1 aur/chromedriver-dev 2.41-1 (0) (0.00)
    Standalone server which implements WebDriver's wire protocol (for 
    google-chrome-dev)
2 aur/google-chrome 68.0.3440.106-1 (1743) (24.65)
    The popular and trusted web browser by Google (Stable Channel)
3 aur/google-chrome-beta 69.0.3497.57-1 (344) (1.62)
    The popular and trusted web browser by Google (Beta Channel)
4 aur/google-chrome-dev 70.0.3528.4-1 (621) (2.01)
    The popular and trusted web browser by Google (Dev Channel)
==> インストールするパッケージの番号を入力してください (例: 1 2 3 or 1-3)
==> -------------------------------------------
==> 3   ←Chrome Betaを選択


==> AUR から google-chrome-beta の PKGBUILD をダウンロード...
x .SRCINFO
x PKGBUILD
x eula_text.html
x google-chrome-beta.install
x google-chrome-beta.sh
Brottweiler commented on 2018-03-25 08:47                        

FadeMind commented on 2018-04-13 08:29                   

Det commented on 2018-04-13 09:57                        

merothh commented on 2018-08-24 07:20                    

Det commented on 2018-08-24 15:11                        

google-chrome-beta 69.0.3497.57-1  (2018-08-24 15:18)
( サポートがないパッケージ: 潜在的に危険です ! )
==> PKGBUILD を編集しますか ? [Y/n] ("A" で中止)
==> ----------------------------------
==> n

==> google-chrome-beta の依存パッケージ:
 - alsa-lib (既にインストールされています)
 - gtk3 (既にインストールされています)
 - libcups (既にインストールされています)
 - libxss (既にインストールされています)
 - libxtst (既にインストールされています)
 - nss (既にインストールされています)


==> google-chrome-beta.install を編集しますか ? [Y/n] ("A" で中止)
==> ----------------------------------------------------
==> n

==> google-chrome-beta のビルドを続行しますか ? [Y/n]
==> --------------------------------------
==> y

==> パッケージのビルドとインストール
==> パッケージを作成: google-chrome-beta 69.0.3497.57-1 (2018年08月28日 09時02分54秒)
==> ランタイムの依存関係を確認...
==> ビルドタイムの依存関係を確認...
==> ソースを取得...
  -> ダウンロード google-chrome-beta_69.0.3497.57_amd64.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--       0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--       7 53.3M    7 4128k    0     0  3946k      0  0:00:13  0:00:01  0:00:12 3942 26 53.3M   26 14.2M    0     0  7136k      0  0:00:07  0:00:02  0:00:05 7132 42 53.3M   42 22.4M    0     0  7551k      0  0:00:07  0:00:03  0:00:04 7548 62 53.3M   62 33.2M    0     0  8419k      0  0:00:06  0:00:04  0:00:02 8419 82 53.3M   82 43.9M    0     0  8916k      0  0:00:06  0:00:05  0:00:01 9011100 53.3M  100 53.3M    0     0  9196k      0  0:00:05  0:00:05 --:--:-- 10.0M
  -> eula_text.html を見つけました
  -> google-chrome-beta.sh を見つけました
==> source で md5sums ファイルを検証...
    google-chrome-beta_69.0.3497.57_amd64.deb ... 成功
    eula_text.html ... 成功
    google-chrome-beta.sh ... 成功
==> ソースを展開...
  -> google-chrome-beta_69.0.3497.57_amd64.deb を bsdtar で展開
==> fakeroot 環境を開始します...
==> package() を開始...
  -> Extracting the data.tar.xz...
  -> Moving stuff in place...
  -> Fixing Chrome icon resolution...
  -> Removing Debian Cron job and duplicate product logos...
==> インストールを整理...
  -> 空のディレクトリを削除...
  -> libtool ファイルを削除...
  -> 不要なファイルを削除...
  -> スタティックライブラリファイルを削除しています...
  -> man と info ページを圧縮...
==> パッケージの問題をチェック...
==> パッケージを作成 "google-chrome-beta"...
  -> .PKGINFO ファイルを生成...
  -> .BUILDINFO ファイルを生成...
  -> install ファイルを追加...
  -> .MTREE ファイルを生成...
  -> パッケージの圧縮...
==> fakeroot 環境を終了。
==> 作成完了: google-chrome-beta 69.0.3497.57-1 (2018年08月28日 09時05分47秒)
==> Cleaning up...
==> google-chrome-beta を /var/cache/pacman/pkg/ ディレクトリにエクスポート
'/tmp/yaourt-tmp-gato/PKGDEST.3Gy/google-chrome-beta-69.0.3497.57-1-x86_64.pkg.tar.xz' -> '/var/cache/pacman/pkg/google-chrome-beta-69.0.3497.57-1-x86_64.pkg.tar.xz'

==> google-chrome-beta のインストールを続行しますか ? [Y/n]
==> [v]パッケージの中身確認 [c][/c]パッケージを namcap でチェック
==> ------------------------------------
==> y

パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) google-chrome-beta-69.0.3497.57-1

合計インストール容量:  192.13 MiB

:: インストールを行いますか? [Y/n] y
(1/1) キーリングのキーを確認                       [###################] 100%
(1/1) パッケージの整合性をチェック                 [###################] 100%
(1/1) パッケージファイルのロード                   [###################] 100%
(1/1) ファイルの衝突をチェック                     [###################] 100%
(1/1) 空き容量を確認                               [###################] 100%
:: パッケージの変更を処理しています...
(1/1) インストール google-chrome-beta              [###################] 100%
==> NOTE: Custom flags should be put directly in: ~/.config/chrome-beta-flags.conf
==> NOTE: The launcher is called: 'google-chrome-beta'
google-chrome-beta の提案パッケージ
    kdialog: for file dialogs in KDE [インストール済み]
    gnome-keyring: for storing passwords in GNOME keyring
    kwallet: for storing passwords in KWallet [インストール済み]
    gtk3-print-backends: for printing [インストール済み]
    libunity: for download progress on KDE
    ttf-liberation: fix fonts for some PDFs (CRBug #369991)
    [インストール済み]
    xdg-utils [インストール済み]
:: トランザクション後のフックを実行...
(1/3) Updating icon theme caches...
(2/3) Arming ConditionNeedsUpdate...
(3/3) Updating the desktop file MIME type cache...
データベースにエラーは見つかりませんでした!

インストールすると自動的に アプリケーションランチャー→アプリケーション→インターネット にアイコンが登録される。そこから起動。
上の画面のようにChromeが起動した。

Manjaro Linux 4
ところで、日本語を入力しようとすると上の画像のように入力したいところに変換確定までは表示されず、変換候補だけが別の四角の枠に表示されるという使いづらい状態となる。対応は以下。

Manjaro Linux 5
デスクトップ最下段のパネルの(キーボード)アイコンを右クリック。
[設定]をクリック。
「入力メソッドの設定」窓が開くので最上段の[アドオン]タブを選択。(上の画像の①)
左下のAdvancedにチェックする。(上の画像の②)
下段のテキストボックスに XIM と入力する。(上の画像の③)
リストにFcitx XIM Frontend Providers XIM supportが表示されるので、それをダブルクリックする。

Manjaro Linux 6
「XIMで On The Spot スタイルを使う(起動中は変更できません)」にチェックして右下の[OK]を押す。

Manjaro Linux 7
デスクトップ最下段のパネルの(キーボード)アイコンを右クリック。
[再起動]をクリック。これはFcitxの再起動。見た目としてはキーボードアイコンが一瞬消えるだけ。

これで、入力しようとしたところに直接入力が可能。(変換候補は変わらず別に表示される)

Manjaro Linux 8
Manjaroで非常に気になるのは違和感のある変な漢字が表示されるいわゆる中華フォント。これは是非直したい。

デスクトップ左下のアプリケーションランチャー(WIndowsのスタートボタン相当)をクリックするとおそらくそこに「ソフトウエアの追加と削除(Octopi)」が存在するはずなのでクリック。
上部のテキストボックスに「font」と入力。(上の画像の①)
その下のリストにフォント等のパッケージがズラリと表示されるので noto-fonts-cjk を探して右クリックでインストール指定する。(上の画像の②)
左上の方にある適用ボタンをクリック。(上の画像の③)
Octopiで大きなファイルのインストールは時間がかかるかも。進捗が下部に表示されるので100%になって「コマンドが無事に完了!」が表示されるまで気長に待つ。

Manjaro Linux 9
デスクトップ左下のアプリケーションランチャー(WIndowsのスタートボタン相当)をクリックするとおそらくそこに「システム設定(KDEシステム設定)」が存在するはずなのでクリック。
左列の「Fonts」を選択。(上の画像の窓が開く)
「Adjust All Fonts」でも良いし個別にフォントの[Choose]でも良いが、フォントだけを変更する。Font StyleやSizeは基本的には触らないのが無難。上の画像ではすべてのフォルトで先にインストールしたNoto Sans CJKを選択している。「システム設定(KDEシステム設定))」では何か変更したら必ず右下の[適用]を押す。

Manjaro Linux 10
日本語表示の例としてデスクトップ右上のボタンを押してみた。中華フォントの表示ではなく日本語として見慣れた漢字が表示されるようになった。

感想

Linuxに慣れているなら難しくはない筈だが、多くの部分でGUIでの設定が可能になっているとはいえやはりArch系なので知識のある人以外を寄せ付けない部分があるかも。とくにパッケージインストール周り。この記事ではpacmanのミラーリスト変更は書いてないけど、フォントのインストールのところで書いたように遅くて時間がかかるのでググって速そうなミラーに変更した方が良さそう。あと、この記事ではChromeをインストールするのに使ったAURに接続するためのYaourtも何がどうなってるかわかりにくいよね。

Archベースなので軽快なのを期待したんだけど意外と遅い。とくにシャットダウンに40~50秒かかるのは遅すぎ。何をやってるのかしら?
システム起動もBIOS関連表示時間を除いて1分半程度かかるのでまったく速くないというか、むしろ遅い部類。
ただし、サスペンドは普通かな。ノートPCでは画面を閉じて持ち運んで、開いてすぐに再開という使い方をするかと思うが、それについては不満に思わなかった。画面を閉じてHDDランプの点滅が停まるまで5秒、スイッチオンでロック画面が出るまで1秒以下、ロック解除からデスクトップ表示まで1秒以下。(いずれの時間も6年前に新品23000円で購入した非力なCeleron B820を搭載したAcer Aspire E1-531-H82Cでの実測。)

デスクトップを操作していて重いと感じることは殆どなくて、重いPlasmaデスクトップで不満を感じないのはなかなか良いなと思った。腰を据えて環境を整えて使っていきたいというのであればManjaroはなかなか良さ気に思う。でも、「がとらぼ」の中の人のようなライトユーザーだとそういう心境にたどり着く前に投げ出しちゃうかも。

Up