Asked Apr 24th, 2:57 AM 117 0 0
  • 117 0 0
0

Không import được index với Docker Rails, Mysql, ELK

Share
  • 117 0 0

Dạ, hiện tại em đang cài đặt Elasticsearch cho project của bản thân và viết file docker này:

version: '3'
services:
  db:
    image: mysql:5.7.8
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql
    env_file:
      - .env.development

  web:
    build: .
    command: /bin/sh -c "bundle exec rails server -e production -p 3000"
    ports:
      - "3000:3000"
    volumes:
      - .:/usr/src/app
    environment:
      RAILS_ENV: development
    env_file:
      - .env.development
    depends_on:
      - db
      - elasticsearch
    restart: always

  elasticsearch:
    build:
      context: elasticsearch/
    volumes:
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk

  logstash:
    build:
      context: logstash/
    volumes:
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
      - ./logstash/pipeline:/usr/share/logstash/pipeline:ro
    ports:
      - "5000:5000"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    depends_on:
      - elasticsearch

  kibana:
    build:
      context: kibana/
    volumes:
      - ./kibana/config/:/usr/share/kibana/config:ro
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

volumes:
  db-data:

networks:
  elk:
    driver: bridge

Các container đều chạy rất ổn. Em tiếp đó làm theo hướng dẫn của tut này: https://iridakos.com/tutorials/2017/12/03/elasticsearch-and-rails-tutorial.html

Tuy nhiên khi chạy Event.import(force: true)rails c thì kết quả trả về là đây

Mọi người xem hộ em xem em sai config ở đâu với ạ. Đây là full link của commit https://github.com/BlazingRockStorm/let-us-go/commit/01f57427437c8670a3142e076aac586d9c23d320

No Naem @Naem
Apr 24th, 6:46 AM

Có thể do bạn đang chạy ngoài docker nên host ko nhận ra được, bạn bash vào docker của web container rồi exec lại lệnh trên ra xem có được ko :-?

0
| Reply
Share
Hoàng Đức Quân @devil_boom_129
Apr 24th, 7:32 AM

@Naem lệnh trên là em chạy tại web container đấy ạ

0
| Reply
Share
Hoàng Đức Quân @devil_boom_129
Apr 24th, 7:38 AM
0
| Reply
Share
No Naem @Naem
Apr 24th, 9:36 AM

@devil_boom_129 đấy giờ ra lỗi khác rồi kìa =)) xem xem là con elasticsearch này có đang running ko (docker ps)

0
| Reply
Share
Hoàng Đức Quân @devil_boom_129
Apr 24th, 12:28 PM

@Naem có run ạ

0
| Reply
Share
No Naem @Naem
Apr 25th, 2:29 AM

@devil_boom_129 bạn chụp cái docker ps cho mình xem với, sợ con elastic này đang mount sai cổng

0
| Reply
Share
Hoàng Đức Quân @devil_boom_129
Apr 25th, 4:21 AM
0
| Reply
Share
No Naem @Naem
Apr 25th, 7:23 AM

@devil_boom_129 check kĩ lại các bước làm của bạn nhé, xem có đoạn nào gọi localhost:9200 ko thì change hết về elasticsearch:9200 , chắc chắn là có 1 đoạn nào đang gọi đến localhost:9200, bạn xem lại rồi bảo mình nhé.

+1
| Reply
Share
May 8th, 7:30 AM

@Naem Em cũng đang nghĩ như bác, có lẽ code của chủ thớt đang config elasticsearch host trong rails là localhost :-?

+1
| Reply
Share
May 8th, 7:34 AM

Trong rail thì config elasticsearch host là: elasticsearch

0
| Reply
Share
No Naem @Naem
May 9th, 4:03 PM

@huukimit ko biết thanh niên hỏi câu này ntn rồi =))

+1
| Reply
Share