docker-compose.yml 2.5 KB

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