deploy-tmp-logstash.yaml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. ---
  2. kind: ConfigMap
  3. apiVersion: v1
  4. metadata:
  5. name: logstash-config
  6. namespace: qa
  7. data:
  8. logstash-config-named-k8s: |
  9. input {
  10. beats {
  11. port => 5044
  12. host => "0.0.0.0"
  13. }
  14. }
  15. filter {
  16. grok {
  17. match => ["message", "(?<timestamp>%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME}) queries: client %{IPV4:c_ip}#%{NUMBER:c_port}: query: %{NOTSPACE:queryrec} %{NOTSPACE:dnsclass} %{NOTSPACE:dnstype} \+ \(%{IPV4:dnsbind}\)"]
  18. }
  19. }
  20. output {
  21. #stdout { codec => rubydebug }
  22. elasticsearch {
  23. hosts => ["elasticsearch:9200"]
  24. index => "logstash-filebeat-%{+YYYY.MM.dd}"
  25. }
  26. }
  27. logstash_yml: |
  28. http.host: "0.0.0.0"
  29. ---
  30. kind: Deployment
  31. apiVersion: apps/v1
  32. metadata:
  33. name: logstash-k8s-named
  34. namespace: qa
  35. labels:
  36. app: logstash-k8s-named
  37. spec:
  38. replicas: 1
  39. selector:
  40. matchLabels:
  41. app: logstash-k8s-named
  42. template:
  43. metadata:
  44. labels:
  45. app: logstash-k8s-named
  46. spec:
  47. containers:
  48. - name: logstash-k8s-named
  49. image: logstash:7.6.2
  50. command: ["/bin/sh","-c"]
  51. args: ["/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/logstash.conf"]
  52. ports:
  53. - containerPort: 5044
  54. name: client
  55. protocol: TCP
  56. volumeMounts:
  57. - name: vm-config
  58. mountPath: /usr/share/logstash/config
  59. volumes:
  60. - name: vm-config
  61. configMap:
  62. name: logstash-config
  63. items:
  64. - key: logstash-config-named-k8s
  65. path: logstash.conf
  66. - key: logstash_yml
  67. path: logstash.yml
  68. ---
  69. kind: Service
  70. apiVersion: v1
  71. metadata:
  72. labels:
  73. app: logstash
  74. name: logstash
  75. namespace: qa
  76. spec:
  77. ports:
  78. - port: 5044
  79. name: client1
  80. nodePort: 30005
  81. selector:
  82. app: logstash
  83. type: NodePort