Home

Awesome

CakePHP + Grafana Loki demo application

A demo application to send CakePHP docker container logs to Grafana Loki via Fluentd.

Default page screenshot

Here, I've used CakePHP application but any containerized application logging to stderr/stdout can work.

Requirements

Installation

  1. Clone project into your local system:

    git clone git@github.com:ishanvyas22/cakephp-loki-demo.git
    cd cakephp-loki-demo
    
  2. Copy fluentd config file:

    cp fluentd/conf/fluent.conf.example fluentd/conf/fluent.conf
    

    Once copied, replace __GRAFANA_URL__, __GRAFANA_USERNAME__, and __GRAFANA_PASSWORD__ values in <match> section with your grafana instance details.

  3. Start fluentd server:

    docker build -t cakephp-loki-fluentd ./fluentd
    docker run -it -p 24224:24224 -v $(pwd)/fluentd/conf:/fluentd/etc cakephp-loki-fluentd
    

    If above commands run successfully, then fluentd agent is ready to accept logs. Make sure to keep this command running in background so it can gather and send logs to Loki.

  4. Finally, start the application using below command:

    docker compose up -d --remove-orphans
    

Now navigate to http://localhost:8765/ to generate logs from your CakePHP app. All the logs will be seen in your Grafana Loki dashboard after 10-15 seconds.