An open API service indexing awesome lists of open source software.

https://github.com/a5sys/monitorbundle


https://github.com/a5sys/monitorbundle

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Monitor Bundle #

This bundle gives some statistics about the application usage.

You can easily know, day per day:

* how many requests did not end
* the slow requests
* the requests that kills you app performance

# Installation #

## Download ##
Download the bundle using composer:

composer require 'a5sys/monitor-bundle'

## Enable bundle ##
Enable the bundle in your /app/AppKernel.php:

new A5sys\MonitorBundle\MonitorBundle(),

Note that you also need to enable the jms-translation bundle:

new JMS\TranslationBundle\JMSTranslationBundle(),

## Add channel ##
Configure the logger:

monolog:
channels: ['monitor']
handlers:
monitor:
type: rotating_file
max_files: 60
path: "%kernel.logs_dir%/monitor.log"
channels: ['monitor']
formatter: monitor.monolog.formatter

Do not forget to remove the channel monitor from your main log if you do not want to spam it.

Example:

monolog:
handlers:
main:
type: rotating_file
max_files: 60
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [!'monitor']

## Routing ##
Set up routing, in your app/config/routing.yml

monitor_controller:
resource: "@MonitorBundle/Controller/"
type: annotation
prefix: /monitor

## Security ##

Set up security, in your app/config/security.yml

security:
access_control:
- { path: ^/monitor/, roles: ROLE_SUPER_ADMIN }

## Configuration ##

These are the available configurations with their default value:

monitor:
enable: true #enable or disable the logs
slow_threshold:
warning: 1000 #the requests that needs more than X ms is a slow one
error: 3000 #the requests that needs more than X ms is an error, it takes too much time
types:
start: true #is the start time for the request log required
stop: true #is the stop time for the request log required
duration: true #is the duration for the request log required
memory: true #is the memory for the request log required
url: true #is the url for the request log required
user: true #is the user for the request log required
# Usage #

The monitor logs are in your app/logs folder.

The statistics can be viewed at the url (depending of your configuration)

http://yourapp/monitor