docker-compose.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. version: '2'
  2. services:
  3. #################
  4. # Log producers #
  5. #################
  6. apache_log_generator:
  7. image: febbweiss/apache-log-generator
  8. volumes:
  9. - ./logs/apache:/var/log/apache
  10. - ./config/timezone:/etc/timezone
  11. - ./config/timezone:/etc/localtime
  12. random_log_generator: # Star Wars quote generator
  13. image: davidmccormick/random_log_generator
  14. command: python log_generator.py --logFile /var/log/random/random.log
  15. volumes:
  16. - ./logs/random:/var/log/random
  17. #############
  18. # Log agent #
  19. #############
  20. filebeat:
  21. image: nguoianphu/docker-filebeat
  22. volumes:
  23. - ./filebeat/filebeat.yml:/filebeat.yml
  24. - ./logs/random:/var/log/random
  25. - ./logs/apache:/var/log/apache
  26. links:
  27. - shipper
  28. ####################
  29. # Logstash shipper #
  30. ####################
  31. shipper:
  32. image: docker.elastic.co/logstash/logstash:5.2.2
  33. ports:
  34. - "5400:5400"
  35. links:
  36. - kafka
  37. volumes:
  38. - ./logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
  39. - ./logstash/shipper/pipeline/:/usr/share/logstash/pipeline/
  40. ########################
  41. # Kafka infrastructure #
  42. ########################
  43. zookeeper:
  44. image: wurstmeister/zookeeper
  45. ports:
  46. - "2181:2181"
  47. kafka:
  48. image: wurstmeister/kafka
  49. ports:
  50. - "9092:9092"
  51. links:
  52. - zookeeper:zk
  53. environment:
  54. KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100
  55. KAFKA_ADVERTISED_PORT: 9092
  56. KAFKA_ZOOKEEPER_CONNECT: zk:2181
  57. #################
  58. # Elasticsearch #
  59. #################
  60. elasticsearch:
  61. image: docker.elastic.co/elasticsearch/elasticsearch:5.2.2
  62. volumes:
  63. - ./elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  64. ports:
  65. - "9200:9200"
  66. - "9300:9300"
  67. ####################
  68. # Logstash indexer #
  69. ####################
  70. indexer:
  71. image: docker.elastic.co/logstash/logstash:5.2.2
  72. ports:
  73. - "5401:5400"
  74. volumes:
  75. - ./logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
  76. - ./logstash/indexer/pipeline/:/usr/share/logstash/pipeline/
  77. links:
  78. - kafka
  79. - elasticsearch
  80. ###########
  81. # Tooling #
  82. ###########
  83. kibana:
  84. image: docker.elastic.co/kibana/kibana:5.2.2
  85. ports:
  86. - "5601:5601"
  87. volumes:
  88. - ./kibana/kibana.yml:/etc/kibana/kibana.yml
  89. links:
  90. - elasticsearch
  91. kafka-manager:
  92. image: sheepkiller/kafka-manager
  93. ports:
  94. - "9000:9000"
  95. links:
  96. - zookeeper
  97. - kafka
  98. environment:
  99. ZK_HOSTS: "zookeeper:2181"