docker-compose.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. forwarder:
  29. image: apopelo/logstash-forwarder
  30. volumes:
  31. - ./logstash-forwarder/config:/etc/logstash-forwarder
  32. - ./logstash-forwarder/ssl:/etc/ssl
  33. - ./logs/random:/var/log/random
  34. - ./logs/apache:/var/log/apache
  35. links:
  36. - shipper
  37. ####################
  38. # Logstash shipper #
  39. ####################
  40. shipper:
  41. image: docker.elastic.co/logstash/logstash:5.2.2
  42. ports:
  43. - "5400:5400"
  44. links:
  45. - kafka
  46. volumes:
  47. - ./logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
  48. - ./logstash/shipper/pipeline/:/usr/share/logstash/pipeline/
  49. - ./logstash/shipper/ssl:/ssl
  50. ########################
  51. # Kafka infrastructure #
  52. ########################
  53. zookeeper:
  54. image: wurstmeister/zookeeper
  55. ports:
  56. - "2181:2181"
  57. kafka:
  58. image: wurstmeister/kafka
  59. ports:
  60. - "9092:9092"
  61. links:
  62. - zookeeper:zk
  63. environment:
  64. KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100
  65. KAFKA_ADVERTISED_PORT: 9092
  66. KAFKA_ZOOKEEPER_CONNECT: zk:2181
  67. #################
  68. # Elasticsearch #
  69. #################
  70. elasticsearch:
  71. image: docker.elastic.co/elasticsearch/elasticsearch:5.2.2
  72. volumes:
  73. - ./elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  74. ports:
  75. - "9200:9200"
  76. - "9300:9300"
  77. ####################
  78. # Logstash indexer #
  79. ####################
  80. indexer:
  81. image: docker.elastic.co/logstash/logstash:5.2.2
  82. ports:
  83. - "5401:5400"
  84. volumes:
  85. - ./logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
  86. - ./logstash/indexer/pipeline/:/usr/share/logstash/pipeline/
  87. links:
  88. - kafka
  89. - elasticsearch
  90. ###########
  91. # Tooling #
  92. ###########
  93. kibana:
  94. image: docker.elastic.co/kibana/kibana:5.2.2
  95. ports:
  96. - "5601:5601"
  97. volumes:
  98. - ./kibana/kibana.yml:/etc/kibana/kibana.yml
  99. links:
  100. - elasticsearch
  101. kafka-manager:
  102. image: sheepkiller/kafka-manager
  103. ports:
  104. - "9000:9000"
  105. links:
  106. - zookeeper
  107. - kafka
  108. environment:
  109. ZK_HOSTS: "zookeeper:2181"