blob: e50cd45d5b95ebf9ecb4d8ce611758dc7ba4a2d8 [file] [log] [blame]
{% from "glusterfs/map.jinja" import client with context %}
{% from "glusterfs/map.jinja" import server with context %}
{% set server_enabled = server.get('enabled', False) %}
{% set client_enabled = client.get('enabled', False) %}
{%- if server_enabled or client_enabled %}
log_collector:
decoder:
glusterfs:
engine: sandbox
module_file: /usr/share/lma_collector/decoders/glusterfs.lua
module_dir: /usr/share/lma_collector/common;/usr/share/heka/lua_modules
adjust_timezone: true
input:
{%- if server_enabled %}
glusterd:
engine: logstreamer
log_directory: "/var/log"
file_match: 'glusterfs/etc-glusterfs-glusterd.vol\.log$'
differentiator: ["glusterfs.glusterd"]
decoder: "glusterfs_decoder"
splitter: "glusterfs_splitter"
glustershd:
engine: logstreamer
log_directory: "/var/log"
file_match: 'glusterfs/glustershd\.log$'
differentiator: ["glusterfs.glustershd"]
decoder: "glusterfs_decoder"
splitter: "glusterfs_splitter"
glusterfsd:
engine: logstreamer
log_directory: "/var/log"
file_match: 'glusterfs/bricks/srv-glusterfs-(?P<Brick>[^.]+)\.log$'
differentiator: ["glusterfs.glusterfsd.","Brick"]
decoder: "glusterfs_decoder"
splitter: "glusterfs_splitter"
{%- endif %}
{%- if client_enabled %}
{%- for name, volume in client.get('volumes', {}).iteritems() %}
gluster_volume_{{name}}:
engine: logstreamer
log_directory: "/var/log"
file_match: 'glusterfs/(?P<MountPoint>{{ volume.path|replace('/', '', 1)|replace('/', '-') }})\.log$'
differentiator: ["glusterfs.","MountPoint"]
decoder: "glusterfs_decoder"
splitter: "glusterfs_splitter"
{%- endfor %}
{%- endif %}
splitter:
glusterfs:
engine: regex
delimiter: '\n(\\[[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{6}\\])'
delimiter_eol: false
{%- endif %}
{%- if server_enabled %}
metric_collector:
trigger:
glusterfs_check:
description: 'GlusterFS service cannot be checked'
severity: down
rules:
- metric: glusterfs_check
relational_operator: '=='
threshold: 0
window: 60
periods: 0
function: last
alarm:
glusterfs_check:
alerting: enabled
triggers:
- glusterfs_check
dimension:
service: glusterfs-check
aggregator:
alarm_cluster:
glusterfs_check:
policy: availability_of_members
alerting: enabled
match:
service: glusterfs-check
group_by: hostname
members:
- glusterfs_check
dimension:
service: glusterfs
nagios_host: 01-service-clusters
glusterfs:
policy: highest_severity
alerting: enabled_with_notification
match:
service: glusterfs
members:
- glusterfs_check
dimension:
cluster_name: glusterfs
nagios_host: 00-top-clusters
{%- endif %}