ネットワークエンジニアのアレ

技術情報メインの備忘系ブログです

ElasticsearchのデフォルトMapping Typeを定義する

f:id:naitwo2:20180916201247j:plain

ElasticsearchはスキーマレスなDBなので、各フィールドの型を明示的に指定する必要がありません。
とはいえ、確実に型を指定したい場合も多く、その場合はindex templateを使って指定します。

今回の記事は、少し古いバージョンのElasticsearch 2.4系をもとに書いています。


例えば、何も設定せずに以下のようにindexを作成した場合、field01は文字列(string)、field02は数値(integer)として判断されます。

curl -XPOST localhost:9200/test_index/hoge -d '{"field01":"100","field02":100}'


明示的にType を指定する

timeフィールドは”data type”、statusフィールドは”string type”と指定するには以下のように設定します。

curl -XPUT localhost:9200/_template/template -d '
{
  "template" : "log_*",
  "settings" : {
    "number_of_shards" : 1,
    "number_of_replicas" : 0
  },
  "mappings" : {
    "_default_" : {
     "properties": {
      "time": {"type":"date","format":"strict_date_optional_time||epoch_second"},
      "status" : {"type":"string","index":"not_analyzed"}
       }
    }
  }
}'


格納されるフィールドが事前に全て分かっている場合は、上記のように1つ1つ定義することで、明示的にTypeを設定できます。
しかし、格納される全てのフィールドが事前に分からない場合は定義することができません。

そのような時は、Dynamic templatesを使用することで対処できます。

ダイナミックテンプレート(Dynamic Templates)

ダイナミックテンプレート(Dynamic Templates)は、フィールド名を対象にしたルールを定義し、インデックス作成時に動的にマッピングを行う機能です。

フィールド名がhogehogeだったら、このマッピングルールを適用するーーーみたいな感じです。

続きを読む

Palo AltoのUTM機能をテストする

パロアルトネットワークス社の次世代ファイアウォールを構築する際に、UTM系のテストを行う場合があります。

 

今回は「Vulnerability Protection(脆弱性防御)※」機能のテストを簡単に行う方法について書きたいと思います。

※「Threat Prevention」ライセンスを購入すると利用可能になる機能です

 

ここで説明するテストは、「Vulnerability Protection」の機能が有効に動作しているか(プロファイルが適切に適応されているか)を確認することを対象にしています。

続きを読む

サーバ上のファイルを直接編集できるVisual Studio Codeプラグイン「ftp-simple」が便利

f:id:naitwo2:20180707012804j:plain

エディタは何を使っていますか?

自分は「Visual Studio Code」をメインで使っています。

「Visual Studio Code」は軽いのがいいですよね〜。

 

今回は「Visual Studio Code」のおすすめプラグインを紹介したいと思います。

code.visualstudio.com

 

ftp-simple 

リモートのサーバ上でプログラムを書いているときに、ローカルPCのお気に入りエディタで書いてサーバにアップロード・・・が手間だと感じることはありませんか?

リモートサーバ上で直接編集する場合はお気に入りエディタ使えないし。

 

今回紹介する「ftp-simple」は、そんな手間を削減してくれるプラグイン。

 

ftp-simpleは、リモートのサーバにsftp(ftp)接続を行い、サーバ上のファイルを直接開いたり、サーバとローカル環境とファイルの同期を行うことができるプラグインです。

 

インストールは下記から行います。

*アプリ上からも行えます

marketplace.visualstudio.com

 

続きを読む

Fluentd+Elasticsearchでindex作成タイミングをJST0時にする

Fluentd →(ログ等)→ Elasticsearchの構成で、Fluentd側の設定を特に意識しないと、デフォルトでJST9時(UTC0時)に新しいindexが作成されます。

これだと、管理上不都合が起きることがあります。

イメージ

※以下のイメージは、アクセスログ等、時系列ログをElasticsearchに登録しているようなケースを想定して書いています

f:id:naitwo2:20171206005352p:plain:w400

続きを読む