deploy-tmp-logstash.yaml 2.0 KB

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