使用した環境
- Oracle Cloud Infrastructure環境にElasticsearchとSudachiプラグインをインストール
-
Elasticsearch+Logstash+Kibanaで作るTwitter分析ダッシュボード 作成手順まとめ
- 手順2:Logstashの設定ファイルを作成->起動する
上の1つ目の手順でセットアップした環境に、2つ目の「手順2:Logstashの設定ファイルを作成->起動する」部分の手順で、Logstashの設定と起動を実施。
Elasticsearchのテンプレート
Tweet情報から、以下のFieldに対し指定したtypeで扱うよう指定。
- field名:coordinates を geo_point に
- field名:created_at を date に (日付フォーマット指定も)
参考:Index twitter data with coordinates geo_point parse exception
環境セットアップ時の情報に記載の、dynamic templateでsudachi_analyzerが利用できるようにする設定も合わせて行う。
テンプレートの設定ファイル
mytweet.json
{
"template": "mytweet*",
"settings":{
"index": {
"analysis": {
"tokenizer": {
"sudachi_tokenizer": {
"type": "sudachi_tokenizer",
"mode": "search",
"discard_punctuation": true
}
},
"analyzer": {
"sudachi_analyzer": {
"filter": [
],
"tokenizer": "sudachi_tokenizer",
"type": "custom"
}
}
}
}
},
"mappings": {
"_default_": {
"dynamic_templates":[
{
"texts": {
"match_mapping_type": "string",
"match": "text",
"mapping": {
"type": "text",
"analyzer": "sudachi_analyzer",
"fielddata": true
}
}
}
],
"properties": {
"coordinates":{
"properties": {
"coordinates": {
"type": "geo_point"
},
"type":{
"type": "text",
"fields": {
"keyword":{
"type":"keyword",
"ignore_above": 256
}
}
}
}
},
"created_at": {
"type": "date",
"format": "EEE MMM dd HH:mm:ss Z YYYY"
}
}
}
}
}
Indexにテンプレートを適用する
上のmytweet.jsonを使って以下を実行。
$ curl -X PUT -H "Content-Type: application/json" http://localhost:9200/_template/mytweet -d "@mytweet.json"
追記(備忘録)
冒頭の Elasticsearch+Logstash+Kibanaで作るTwitter分析ダッシュボード 作成手順まとめ
「手順2:Logstashの設定ファイルを作成->起動する」部分の手順で、Logstashの設定と起動を実施。
のところの作業ログ。
##Logstashの設定ファイルを準備
/usr/share/logstash/kibana_twitter.conf を準備
kibana_twitter.conf
input {
twitter {
# TwittrAPIの認証情報を入力
consumer_key => "xxx"
consumer_secret => "yyy"
oauth_token => "zzz"
oauth_token_secret => "aaa"
# つぶやきの検索対象に含めるキーワードを配列で指定する
keywords => ["#紅葉"]
full_tweet => true
}
}
output {
elasticsearch {
# ElasticSearchのホストパス
hosts => ["http://public_ip_address:9200/"]
# インデックス名
index => "koyotweet"
}
}
##起動とログ監視
# /usr/share/logstash/bin/logstash --path.settings=/etc/logstash --path.data /tmp -f /usr/share/logstash/kibana_twitter.conf
$ tail -f /var/log/logstash/logstash-plain.log
停止は kill -9