Add monasca agent plugin to monitor cassandra health
Adds detection plugin to monitor cassandra service, including the process, and the data directory through the args. Change-Id: Ic2c20bc878527f607c0eb871e98a79c1521c0507 Story: 2001499 task: 6289
This commit is contained in:
@@ -319,6 +319,7 @@ These are the detection plugins included with the Monasca Agent. See [Customiza
|
|||||||
| apache | Plugin |
|
| apache | Plugin |
|
||||||
| barbican | ServicePlugin |
|
| barbican | ServicePlugin |
|
||||||
| bind | Plugin |
|
| bind | Plugin |
|
||||||
|
| cassandra | ServicePlugin |
|
||||||
| ceilometer | ServicePlugin |
|
| ceilometer | ServicePlugin |
|
||||||
| ceph | Plugin |
|
| ceph | Plugin |
|
||||||
| cert_check | ArgsPlugin |
|
| cert_check | ArgsPlugin |
|
||||||
@@ -608,6 +609,28 @@ The cAdvisor host check returns the following metrics:
|
|||||||
| net.out_packets | hostname, interface, unit | Total network packets sent by all interfaces
|
| net.out_packets | hostname, interface, unit | Total network packets sent by all interfaces
|
||||||
| net.out_packets_sec | hostname, interface, unit | Total number of network packets sent by all interfaces per second
|
| net.out_packets_sec | hostname, interface, unit | Total number of network packets sent by all interfaces per second
|
||||||
|
|
||||||
|
## Cassandra Checks
|
||||||
|
This section documents a sampling of the metrics generated by the checks setup
|
||||||
|
automatically by the monasca-setup script for the Cassandra service. Please
|
||||||
|
note that no directories are monitored per default. `directory_names` argument
|
||||||
|
can be passed to monasca-setup to change this behaviour.
|
||||||
|
|
||||||
|
The following Cassandra processes are monitored, if they exist when the
|
||||||
|
monasca-setup script is run:
|
||||||
|
|
||||||
|
##### Cassandra Processes Monitored
|
||||||
|
* cassandra
|
||||||
|
|
||||||
|
##### Example Cassandra Metrics
|
||||||
|
|
||||||
|
| Component | Metric Name | Metric Type | Check Type | Dimensions | Plugin | Description |
|
||||||
|
| --------- | ----------- | ----------- | ---------- | ---- | ------ | ----------- | ----- |
|
||||||
|
| cassandra | process_pid_count | Gauge | Passive | service=cassandra, component=cassandra, process_user=cassandra | process | cassandra process pid count |
|
||||||
|
| cassandra | directory.files_count | Gauge | Active | service=cassandra, component=cassandra, path=/var/cassandra/data | cassandra data directory file count |
|
||||||
|
| cassandra | directory.size_bytes | Gauge | Active | service=cassandra, component=cassandra, path=/var/cassandra/data | cassandra data directory size |
|
||||||
|
| cassandra | directory.files_count | Gauge | Active | service=cassandra, component=cassandra, path=/var/cassandra/commitlog | cassandra commit log directory file count |
|
||||||
|
| cassandra | directory.size_bytes | Gauge | Active | service=cassandra, component=cassandra, path=/var/cassandra/commitlog | cassandra commit log directory size |
|
||||||
|
|
||||||
## Check_MK_Local
|
## Check_MK_Local
|
||||||
The [Check_MK](http://mathias-kettner.com/check_mk.html) [Agent](http://mathias-kettner.com/checkmk_linuxagent.html) can be extended through a series of [local checks](http://mathias-kettner.com/checkmk_localchecks.html). This plugin parses the `<<<local>>>` output of `check_mk_agent` and converts them into Monasca metrics. It is installed by `monasca-setup` automatically when the `check_mk_agent` script is found to be installed on the system.
|
The [Check_MK](http://mathias-kettner.com/check_mk.html) [Agent](http://mathias-kettner.com/checkmk_linuxagent.html) can be extended through a series of [local checks](http://mathias-kettner.com/checkmk_localchecks.html). This plugin parses the `<<<local>>>` output of `check_mk_agent` and converts them into Monasca metrics. It is installed by `monasca-setup` automatically when the `check_mk_agent` script is found to be installed on the system.
|
||||||
|
|
||||||
|
42
monasca_setup/detection/plugins/cassandra.py
Normal file
42
monasca_setup/detection/plugins/cassandra.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
# Copyright 2018 SUSE LLC
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
import monasca_setup.detection
|
||||||
|
|
||||||
|
|
||||||
|
class Cassandra(monasca_setup.detection.ServicePlugin):
|
||||||
|
|
||||||
|
"""Detect Cassandra daemons and setup configuration to monitor them.
|
||||||
|
Cassandra directories can be checked by passing in a directory_names
|
||||||
|
list. example: 'directory_names': [('/var/cassasndra/data',
|
||||||
|
'/var/cassasndra/commitlog', '/var/log/cassandra')]
|
||||||
|
Cassandra process user name can be overwritten by passing in
|
||||||
|
process_username.
|
||||||
|
See ServicePlugin for details.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, template_dir, overwrite=True, args=None):
|
||||||
|
service_params = {
|
||||||
|
'args': args,
|
||||||
|
'template_dir': template_dir,
|
||||||
|
'overwrite': overwrite,
|
||||||
|
'service_name': 'cassandra',
|
||||||
|
'component_name': 'cassandra',
|
||||||
|
'process_username': 'cassandra',
|
||||||
|
'service_api_url': '',
|
||||||
|
'search_pattern': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
super(Cassandra, self).__init__(service_params)
|
Reference in New Issue
Block a user