| {% 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 %} |