Grafana & WildFly Logs auslesen

internet

Top Contributor
Hallo,

hat schon Mal jemand Grafana benutzt um die Logs von WildFly auszulesen?
Ich komme hier bei der Config nicht weiter.

Ich erhalte in Grafana bei der Anbindung zu Elastic Search immer die Fehlermeldung:
1724089479883.png

Ich habe elasticsearch und filebeat zusätzlich im Docker Container.

Mein Docker compise file:

Java:
version: '3.7'

services:
 
  ########################################################################################################################
  prometheus:
    image: prom/prometheus:v2.42.0
    container_name: prometheus
    volumes:
      - ${ROOT_DIR}/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yaml
      - prometheus_data:/prometheus
    # ports:
    #   - "9090:9090"
    networks:
      - app-network
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.prometheus.rule=Host(`${PROMOTHEUS_HOSTNAME}`)"
      - "traefik.http.routers.prometheus.entrypoints=web"
      - "traefik.http.services.prometheus.loadbalancer.server.port=${PROMOTHEUS_PORT}"
      - "traefik.http.services.prometheus.loadbalancer.passhostheader=true"
      - "traefik.http.routers.prometheus.middlewares=compresstraefik"
      - "traefik.http.middlewares.compresstraefik.compress=true"
      - "traefik.docker.network=app-network"

  ########################################################################################################################
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
      - "ELASTIC_PASSWORD=${ELASTICSEARCH_PASSWORD}"             # Setzt das Passwort für den `elastic`-Benutzer
      - "xpack.security.enabled=false"                           # Stellt sicher, dass die Sicherheit aktiviert ist-> später aktivieren
     # - "xpack.security.transport.ssl.enabled=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elasticsearch_data:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.elasticsearch.rule=Host(`${ELASTICSEARCH_HOSTNAME}`)"
      - "traefik.http.routers.elasticsearch.entrypoints=web"
      - "traefik.http.services.elasticsearch.loadbalancer.server.port=${ELASTICSEARCH_PORT}"
      - "traefik.http.services.elasticsearch.loadbalancer.passhostheader=true"
      - "traefik.http.routers.elasticsearch.middlewares=compresstraefik"
      - "traefik.http.middlewares.compresstraefik.compress=true"
      - "traefik.docker.network=app-network"
    networks:
      - app-network
 
 
  ########################################################################################################################
  filebeat:
    image: docker.elastic.co/beats/filebeat:8.15.0
    container_name: filebeat
    volumes:
      - ${ROOT_DIR}/filebeat/filebeat.yaml:/usr/share/filebeat/filebeat.yaml
      - ${ROOT_DIR}/wildfly_gixxshare/logs:/var/log/wildfly
    networks:
      - app-network
    depends_on:
      - elasticsearch
 
 
  ########################################################################################################################
  grafana:
    image: grafana/grafana-enterprise:11.1.4
    container_name: grafana
    volumes:
      - grafana_data:/grafana
      - ${ROOT_DIR}/grafana/datasources.yaml:/etc/grafana_data/datasources.yaml
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
    # ports:
    #   - "3000:3000"
    networks:
      - app-network
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.grafana.rule=Host(`${GRAFANA_HOSTNAME}`)"
      - "traefik.http.routers.grafana.entrypoints=web"
      - "traefik.http.services.grafana.loadbalancer.server.port=${GRAFANA_PORT}"
      - "traefik.http.services.grafana.loadbalancer.passhostheader=true"
      - "traefik.http.routers.grafana.middlewares=compresstraefik"
      - "traefik.http.middlewares.compresstraefik.compress=true"
      - "traefik.docker.network=app-network"
    extra_hosts:
      - "prometheus.localhost:192.168.178.93"
      - "elasticsearch.localhost:192.168.178.93"
    depends_on:
      - prometheus
      - elasticsearch

volumes:
  prometheus_data:
  grafana_data:
  elasticsearch_data:

networks:
  app-network:
    external: true

Filebeat.yaml:

Code:
filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/wildfly/*.log
    fields:
      service: wildfly_gixxshare
    fields_under_root: true

processors:
  - timestamp:
      field: log_timestamp  # Das tatsächliche Feld in Ihren Logs, das den Zeitstempel enthält
      layouts:
        - '2006-01-02 15:04:05'  # Das Datumsformat, das in Ihren Logs verwendet wird

output.elasticsearch:
  hosts: ["http://${ELASTICSEARCH_HOSTNAME}"]
  username: "elastic"
  password: "${ELASTICSEARCH_PASSWORD}"
  index: "wildfly-logs-%{[fields.service]}-%{+yyyy.MM.dd}"

#setup.kibana:
#  host: "http://${GRAFANA_HOSTNAME}"
 

Oben