`

转:ganglia监控mysql

 
阅读更多

ganglia监控mysql

转:http://blog.csdn.net/dy_252/article/details/6821684

 

1下载mySQL监控脚本 http://www.javabloger.com/att/gmetric-mysql.sh ,进行chmod ,让该脚本可执行。

2修改脚本中的MySQL 用户名和密码

3该脚本54行机器不同需要进行修改(未查明原因),可以在$[ ]和$(())间替换。

4在crond执行该脚本

5重启gmetad

 

附gmetric-mysql.sh

#! /bin/bash
#
# Get statistics from MySQL and feed them into Ganglia for monitoring.
#
# To use, simply adjust the path to gmetric and mysql credentials as appropriate.
#
# Author: David Winterbottom (david.winterbottom@gmail.com)
# Site:   http://codeinthehole.com

# Config
declare -r GMETRIC=/usr/bin/gmetric
declare -r NEW_DATA_FILE=/tmp/mysql-stats.new
declare -r OLD_DATA_FILE=/tmp/mysql-stats.old
declare -r MYSQL_USER="root"
declare -r MYSQL_PASSWORD="123456"

# Sanity checks
if test -z "$GMETRIC" ; then
    printf "The command $GMETRIC is not available";
    exit 192
fi

# Function for submiting metrics
function record_value
{
    if [ $# -lt 1 ]; then
        printf "You must specify a look-up value\n"
        exit 192
    fi
    LOOKUP_VAR=$1
    GANGLIA_NAME=${2-unspecified}
    GANGLIA_TYPE=${3-float}
    GANGLIA_UNITS=${4-units}
    GANGLIA_VALUE=`grep "$LOOKUP_VAR[^_]" "$NEW_DATA_FILE" | awk '{print $2}'`
    printf " * $GANGLIA_NAME: $GANGLIA_VALUE\n"
    $GMETRIC --type "$GANGLIA_TYPE" --name "$GANGLIA_NAME" --value $GANGLIA_VALUE --unit "$GANGLIA_UNITS"
}

# Function for submitting delta metrics
function record_value_rate
{
    if [ $# -lt 1 ]; then
        printf "You must specify a look-up value\n"
        exit 192
    fi
    MYSQL_VAR=$1
    GANGLIA_NAME=${2-unspecified}
    GANGLIA_TYPE=${3-float}
    GANGLIA_UNITS=${4-"per second"}

    # Get values from old and new files
    PREVIOUS_VALUE=`grep "$MYSQL_VAR[^_]" "$OLD_DATA_FILE" | awk '{print $2}'`
    NEW_VALUE=`grep "$MYSQL_VAR[^_]" "$NEW_DATA_FILE" | awk '{print $2}'`
    DELTA_VALUE=$[ $NEW_VALUE-$PREVIOUS_VALUE ]
    PREVIOUS_TIMESTAMP=`date -r "$OLD_DATA_FILE" +%s`
    NEW_TIMESTAMP=`date -r "$NEW_DATA_FILE" +%s`
    DELTA_TIMESTAMP=$[ $NEW_TIMESTAMP-$PREVIOUS_TIMESTAMP ]
    if [ $DELTA_VALUE -lt 0 ] || [ $DELTA_TIMESTAMP -lt 0 ]; then
        # Something strange here - MYSQL may just have started.  Ignore for now
        printf "Weird data value - skipping\n"
    else
        # Need to pipe to bc to perform floating point operations
        DELTA_RATE=`echo "scale=4; $DELTA_VALUE/$DELTA_TIMESTAMP" | bc -l`
        printf " * $GANGLIA_NAME -- Previous value: $PREVIOUS_VALUE, new value: $NEW_VALUE, delta: $DELTA_VALUE, previous timestamp: $PREVIOUS_TIMESTAMP, new timestamp: $NEW_TIMESTAMP, delta: $DELTA_TIMESTAMP, $DELTA_RATE per second\n"
        $GMETRIC --type "$GANGLIA_TYPE" --name "$GANGLIA_NAME" --value $DELTA_VALUE --unit "$GANGLIA_UNITS"
    fi
}

# Read MySQL statistics into a temporary file
mysql --user=$MYSQL_USER --password=$MYSQL_PASSWORD --execute "SHOW GLOBAL STATUS" > "$NEW_DATA_FILE"

# Submit metrics
record_value_rate "Connections" "MYSQL_CONNECTIONS" "float" "Connections/sec"
record_value_rate "Com_update" "MYSQL_UPDATE_QUERIES" "float" "Queries/sec"
record_value_rate "Com_select" "MYSQL_SELECT_QUERIES" "float" "Queries/sec"
record_value_rate "Com_insert" "MYSQL_INSERT_QUERIES" "float" "Queries/sec"
record_value_rate "Com_delete" "MYSQL_DELETE_QUERIES" "float" "Queries/sec"
record_value_rate "Created_tmp_tables" "MYSQL_CREATED_TMP_TABLES" "float" "Tables created/sec"
record_value_rate "Slow_queries" "MYSQL_SLOW_QUERIES" "float" "Queries/sec" 
record_value_rate "Qcache_hits" "MYSQL_QUERY_CACHE_HITS" "float" "Hits/sec"
record_value "Qcache_queries_in_cache" "MYSQL_QUERIES_IN_CACHE" "float" "Queries"
record_value_rate "Questions" "MYSQL_QUESTIONS" "float" "Questions/sec"
record_value_rate "Threads_connected" "MYSQL_THREADS_CONNECTED" "float" "Threads connected/sec"
record_value "Threads_running" "MYSQL_THREADS_RUNNING" "float" "Threads running"

# Copy data
cp "$NEW_DATA_FILE" "$OLD_DATA_FILE"

 

分享到:
评论

相关推荐

    monitor-core:Ganglia监控核心

    《Ganglia监控核心——掌握系统监控的利器》 Ganglia是一款开源的分布式监控系统,主要用于监控Linux和Unix环境下的高性能计算集群。其核心组件是"monitor-core",它是整个Ganglia监控架构的基础,负责收集、聚合、...

    Ganglia监控MySQL

    3、该脚本54和58号行机器...* * * * * /root/gmetric-mysql.sh * * * * * sleep 15; /root/gmetric-mysql.sh * * * * * sleep 30; /root/gmetric-mysql.sh * * * * * sleep 45; /root/gmetric-mysql.sh 5、重启gmetad

    linux下ganglia安装包

    这个“linux下ganglia安装包”中的“iMonitor”可能是一个图形化的监控界面或附加的管理工具,安装后可以提供更加友好的用户界面来查看和管理Ganglia监控数据。 总之,Ganglia是Linux环境下监控系统性能的强大工具...

    集群级监控工具ganglia

    Ganglia是一款强大的集群级监控工具,专门设计用于收集、聚合和展示分布式计算环境中各节点的性能数据。它能够提供详尽的系统资源监控,包括CPU利用率、内存使用情况、磁盘I/O以及网络流量等关键指标,帮助管理员...

    ganglia的linux安装包

    例如,对于MySQL: ``` sudo mysql -u root -p CREATE DATABASE ganglia; GRANT ALL PRIVILEGES ON ganglia.* TO 'ganglia'@'localhost' IDENTIFIED BY 'password'; EXIT; cp contrib/mysql/gmetad.sql /tmp ...

    ganglia-3.2.0.tar.zip

    《Ganglia监控系统详解与应用》 Ganglia,作为一个开源的分布式监控系统,是IT领域的必备工具之一。其核心在于提供实时的性能数据监控,帮助管理员掌握系统的运行状态,及时发现并解决潜在问题。Ganglia 3.2.0版本...

    ubuntu系统上安装Ganglia

    Ganglia是一种分布式监控系统,主要用于性能监控,尤其是在大规模集群环境中。它通过收集主机的CPU负载、内存使用情况等信息来帮助管理员了解整个系统的健康状况。本文将详细介绍如何在Ubuntu系统上安装Ganglia,并...

    ganglia安装文件

    Ganglia是一款开源的分布式监控系统,用于集群和网格环境,可以实时监控网络中的大量主机和应用程序的性能数据。在Linux环境中,Ganglia通过收集并聚合来自各个节点的CPU使用率、内存使用情况、磁盘I/O、网络流量等...

    ganglia-3.7.2

    《Ganglia-3.7.2:集群监控与可视化利器》 Ganglia是一款开源的分布式监控系统,主要用于实时监控Linux和Unix集群的资源使用情况,包括CPU、内存、磁盘I/O、网络流量等关键性能指标。Ganglia-3.7.2是其在2015年发布...

    基于ganglia的集群监控软件的设计与实现大学本科毕业论文.doc

    - Gmond:Gmond是Ganglia监控代理,运行在集群的每个节点上,收集本地资源使用情况,并通过UDP发送到其他节点或Gmetad。 - Gmetad:Gmetad负责收集Gmond发送的数据,进行聚合和整理,形成全局的集群状态视图。 - ...

    运维监控汇报材料.pptx

    2. 数据存储:常用存储方式有RRD(如Nagios、collectd、Ganglia)、关系型数据库(如Oracle、MySQL)以及NoSQL(如HBase、ES)。RRD受限于单机磁盘,而NoSQL在扩展性和大数据存储方面表现更好。 3. 数据展示:需具备...

    运维监控口碑排行榜.pdf

    4. **Ganglia**:Ganglia是一个用于集群监控的开源项目,最初在伯克利分校启动。它是一个跨平台系统,适应性强,适用于大规模服务器集群的监控,能实时监控大量网络节点的性能。 5. **Grafana**:Grafana是一个数据...

    运维监控口碑排行榜.docx

    4. **Ganglia**:Ganglia是一个用于大规模集群监控的开源项目,最初由加州大学伯克利分校发起。它支持跨平台,能监控数千个网络节点,尤其适合大型服务器集群用户。 5. **Grafana**:Grafana是一个数据可视化工具,...

    gmond_python_modules-master.zip

    《gmond_python_modules:Python模块在Ganglia监控系统中的应用》 Ganglia是一款开源的分布式监控系统,用于收集、聚合、展示和存储各种计算节点的性能数据,包括CPU利用率、内存使用、网络流量等。它在大规模集群...

    Prometheus监控系统.pdf

    在项目选型时,有很多监控系统可供选择,包括但不限于mrtg、cacti、ntop、Nagios、Centreon、Ganglia、Open-Falcon和Zabbix。这些系统各有特点,适用于不同场景和需求。在这些选项中,Prometheus由于其高效的时间...

    运维工作分享

    - **应用监控工具**:针对数据库(MySQL/SQL Server/Oracle)、缓存系统(Memcached)、代理服务器(Squid)等进行监控。 #### 五、业务监控平台 - **分布式监控系统**:例如Nagios,通过分布式架构实现对大型系统...

    Hadoop集群监控与Hive高可用.rar

    2. **监控工具**:Zabbix、Ganglia、Ambari和Nagios是常用的Hadoop集群监控工具。它们能实时显示集群的健康状况,并提供警报机制以在出现问题时及时通知管理员。 3. **日志分析**:通过收集和分析Hadoop的日志文件...

    HBase视频教程下载|基于微博数据应用的HBase实战开发

    课时6:使用Ganglia监控HBase 课时7:过滤器实战之比较过滤器 课时8:过滤器实战之专用过滤器与FilterList 课时9:过滤器实战之自定义过滤器 课时10:Observer协处理器实战之Master级别原理剖析 课时11:Observer协...

    Hadoop 管理

    #### 使用Ganglia监控Hadoop Ganglia是一个开源的集群监控系统,主要用来监控系统的性能指标,如CPU利用率、内存使用情况、磁盘I/O负载等。它采用图形化的方式展示每个节点的状态信息,这对于优化系统资源配置、...

Global site tag (gtag.js) - Google Analytics