docker-compose.yml 2.8 KB

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