Ceph collectd plugin

+ Monitor the Ceph Mon socket on Controller-0
+ Monitor 1st Ceph OSD socket on each CephStorage Node
+ Graphs for Ceph Mon are included on the General Dashboard
+ Ceph Dashboard covers Ceph Processes + Ceph Mon Metrics
+ Small adjustments and improvements to dashboards
  + Stepped lines for queues
  + Try to use 200px for information denisty

* OSD metrics are collected but not graphed yet *

Change-Id: I97d65b98b5204e924eb5167adfba53c2c754214c
This commit is contained in:
akrzos 2017-03-13 12:33:03 -04:00
parent 1270dbd293
commit ff1a88bd89
11 changed files with 3486 additions and 82 deletions

View File

@ -14,6 +14,7 @@
cloud_dashboards: true cloud_dashboards: true
overwrite_existing: true overwrite_existing: true
static_dashboards: static_dashboards:
- cloud_ceph_monitoring
- cloud_gnocchi_status - cloud_gnocchi_status
- cloud_instance_count - cloud_instance_count
- cloud_keystone_token_count - cloud_keystone_token_count

View File

@ -91,6 +91,13 @@ apache_undercloud_mod_status_port: 5001
apache_controller_collectd_plugin: false apache_controller_collectd_plugin: false
apache_controller_mod_status_port: 5001 apache_controller_mod_status_port: 5001
########################
# Ceph plugin
########################
# Overcloud Controller
ceph_controller_collectd_plugin: false
ceph_storage_collectd_plugin: false
######################## ########################
# Gnocchi backlog plugin # Gnocchi backlog plugin
######################## ########################

View File

@ -25,6 +25,7 @@
with_items: with_items:
- collectd - collectd
- collectd-apache - collectd-apache
- collectd-ceph
- collectd-mysql - collectd-mysql
- collectd-turbostat - collectd-turbostat
@ -156,6 +157,15 @@
when: "('undercloud' in group_names or '{{inventory_hostname}}' == groups['controller'][0])" when: "('undercloud' in group_names or '{{inventory_hostname}}' == groups['controller'][0])"
# End Rabbitmq monitoring # End Rabbitmq monitoring
# CephStorage OSD monitoring
# Only Monitors a single OSD on each CephStorage Node
- name: Get 1st OSD socket
shell: ls /var/run/ceph/ceph-osd.*.asok | head -n 1 | egrep -o '[0-9]+'
register: cephstorage_osd_socket
become: true
when: "('cephstorage' in group_names and {{ceph_storage_collectd_plugin}} == true)"
# End CephStorage OSD monitoring
- name: Configure collectd.conf - name: Configure collectd.conf
template: template:
src: "{{config_type}}.collectd.conf.j2" src: "{{config_type}}.collectd.conf.j2"

View File

@ -16,6 +16,9 @@ LoadPlugin "logfile"
</Plugin> </Plugin>
LoadPlugin write_graphite LoadPlugin write_graphite
{% if ceph_storage_collectd_plugin %}
LoadPlugin ceph
{% endif %}
LoadPlugin cpu LoadPlugin cpu
LoadPlugin conntrack LoadPlugin conntrack
LoadPlugin df LoadPlugin df
@ -75,6 +78,16 @@ PreCacheChain "PreCache"
</Carbon> </Carbon>
</Plugin> </Plugin>
{% if ceph_storage_collectd_plugin %}
<Plugin ceph>
LongRunAvgLatency false
ConvertSpecialMetricTypes true
<Daemon "osd.{{inventory_hostname}}.{{cephstorage_osd_socket.stdout}}">
SocketPath "/var/run/ceph/ceph-osd.{{cephstorage_osd_socket.stdout}}.asok"
</Daemon>
</Plugin>
{% endif %}
<Plugin df> <Plugin df>
ValuesPercentage true ValuesPercentage true
</Plugin> </Plugin>

View File

@ -19,6 +19,11 @@ LoadPlugin write_graphite
{% if apache_controller_collectd_plugin %} {% if apache_controller_collectd_plugin %}
LoadPlugin apache LoadPlugin apache
{% endif %} {% endif %}
{% if ceph_controller_collectd_plugin %}
{% if inventory_hostname == groups['controller'][0] %}
LoadPlugin ceph
{% endif %}
{% endif %}
LoadPlugin cpu LoadPlugin cpu
LoadPlugin conntrack LoadPlugin conntrack
{% if keystone_overcloud_collectd_plugin %} {% if keystone_overcloud_collectd_plugin %}
@ -96,6 +101,19 @@ PreCacheChain "PreCache"
</Instance> </Instance>
</Plugin> </Plugin>
{% endif %} {% endif %}
{% if ceph_controller_collectd_plugin %}
{% if inventory_hostname == groups['controller'][0] %}
<Plugin ceph>
LongRunAvgLatency false
ConvertSpecialMetricTypes true
<Daemon "mon.{{inventory_hostname}}">
SocketPath "/var/run/ceph/ceph-mon.{{inventory_hostname}}.asok"
</Daemon>
</Plugin>
{% endif %}
{% endif %}
{% if keystone_overcloud_collectd_plugin %} {% if keystone_overcloud_collectd_plugin %}
{%if inventory_hostname == groups['controller'][0] %} {%if inventory_hostname == groups['controller'][0] %}

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@
"seriesOverrides": [], "seriesOverrides": [],
"span": 12, "span": 12,
"stack": false, "stack": false,
"steppedLine": false, "steppedLine": true,
"targets": [ "targets": [
{ {
"refId": "A", "refId": "A",
@ -151,7 +151,7 @@
] ]
}, },
"time": { "time": {
"from": "now-24h", "from": "now-1h",
"to": "now" "to": "now"
}, },
"timepicker": { "timepicker": {

View File

@ -151,7 +151,7 @@
] ]
}, },
"time": { "time": {
"from": "now-24h", "from": "now-1h",
"to": "now" "to": "now"
}, },
"timepicker": { "timepicker": {

View File

@ -11,7 +11,7 @@
"links": [], "links": [],
"rows": [ "rows": [
{ {
"collapse": false, "collapse": true,
"height": "200px", "height": "200px",
"panels": [ "panels": [
{ {
@ -479,8 +479,8 @@
"titleSize": "h6" "titleSize": "h6"
}, },
{ {
"collapse": false, "collapse": true,
"height": 250, "height": "200px",
"panels": [ "panels": [
{ {
"aliasColors": {}, "aliasColors": {},
@ -596,7 +596,7 @@
"seriesOverrides": [], "seriesOverrides": [],
"span": 12, "span": 12,
"stack": false, "stack": false,
"steppedLine": false, "steppedLine": true,
"targets": [ "targets": [
{ {
"refId": "A", "refId": "A",
@ -880,7 +880,7 @@
"seriesOverrides": [], "seriesOverrides": [],
"span": 12, "span": 12,
"stack": false, "stack": false,
"steppedLine": false, "steppedLine": true,
"targets": [ "targets": [
{ {
"refId": "A", "refId": "A",
@ -932,7 +932,7 @@
"titleSize": "h6" "titleSize": "h6"
}, },
{ {
"collapse": false, "collapse": true,
"height": "200px", "height": "200px",
"panels": [ "panels": [
{ {

View File

@ -339,8 +339,8 @@ per_process_panels:
OpenStack-CephStorage: OpenStack-CephStorage:
- name: "Ceph" - name: "Ceph"
processes: processes:
- ceph-osd
- ceph-mon - ceph-mon
- ceph-osd
- name: "Open vSwitch" - name: "Open vSwitch"
processes: processes:
- ovs-vswitchd - ovs-vswitchd
@ -399,8 +399,8 @@ per_process_panels:
- ceilometer_wsgi - ceilometer_wsgi
- name: "Ceph" - name: "Ceph"
processes: processes:
- ceph-osd
- ceph-mon - ceph-mon
- ceph-osd
- name: "Cinder" - name: "Cinder"
processes: processes:
- cinder-api - cinder-api