deploy-tmp-logstash.yaml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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" => "(?m)^\[%{DATA:logdate}\] \[%{WORD:thread_trace_id}*\] \[%{WORD:biz_id}*\] \[%{LOGLEVEL:level}%{SPACE}*\] \[%{DATA:threadName}\] \[%{DATA:loggerName}\] \[%{DATA:method_line}\] - %{GREEDYDATA:msg}"}
  20. }
  21. date {
  22. match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss.SSS" ]
  23. }
  24. }
  25. output {
  26. stdout { codec => rubydebug }
  27. elasticsearch {
  28. hosts => ["elasticsearch:9200"]
  29. index => "logstash-filebeat-%{+YYYY.MM}"
  30. }
  31. }
  32. logstash_yml: |
  33. http.host: "0.0.0.0"
  34. ---
  35. kind: Deployment
  36. apiVersion: apps/v1
  37. metadata:
  38. name: logstash-k8s-named
  39. namespace: qa
  40. labels:
  41. app: logstash-k8s-named
  42. spec:
  43. replicas: 1
  44. selector:
  45. matchLabels:
  46. app: logstash-k8s-named
  47. template:
  48. metadata:
  49. labels:
  50. app: logstash-k8s-named
  51. spec:
  52. containers:
  53. - name: logstash-k8s-named
  54. image: logstash:7.6.2
  55. command: ["/bin/sh","-c"]
  56. args: ["/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/logstash.conf"]
  57. ports:
  58. - containerPort: 5000
  59. name: client1
  60. - containerPort: 9600
  61. name: api
  62. volumeMounts:
  63. - name: vm-config
  64. mountPath: /usr/share/logstash/config
  65. volumes:
  66. - name: vm-config
  67. configMap:
  68. name: logstash-config
  69. items:
  70. - key: logstash-config-named-k8s
  71. path: logstash.conf
  72. ---
  73. kind: Service
  74. apiVersion: v1
  75. metadata:
  76. labels:
  77. app: logstash
  78. name: logstash
  79. namespace: qa
  80. spec:
  81. ports:
  82. - name: http
  83. port: 5000
  84. protocol: TCP
  85. targetPort: 5000
  86. selector:
  87. app: logstash