• ganglia监控redis和mongodb


    由于ganglia是默认安装,打开了python插件功能,就不需要设置了

    https://github.com/ganglia/gmond_python_modules获取插件的代码

    redis的插件是redis-gmond文件夹

    mongodb的插件是mongodb文件夹

    使用whereis命令查看ganglia的安装路径,安装有gmetad服务的机器上

    redis的插件redis-gmond.py文件中默认的redis地址127.0.0.1,端口是6379,如果redis的master不是这个服务器地址和端口的需要修改下。

    同时不要忘记将redis-gmond.pyconf中的地址和端口也修改了。

    mongodb的插件中代码问题大一些。

    首先,mongodb.py中

    PARAMS = {
        'server_status' : '~/mongodb-osx-x86_64-1.8.1/bin/mongo --host mongodb04.example.com --port 27018 --quiet --eval "printjson(db.serverStatus())"',
        'rs_status'     : '~/mongodb-osx-x86_64-1.8.1/bin/mongo --host mongodb04.example.com --port 27018 --quiet --eval "printjson(rs.status())"'
    }

    这里的mongodb的安装路径,host地址,服务端口,默认情况下压根都不能用的,需要根据自己的情况修改为你的mongodb安装路径,houst地址,端口为27017(即默认端口,如果修改了则是你修改后的mongodb端口)

    PARAMS = {
        'server_status' : '安装路径/bin/mongo --host 服务器ip或name --port 端口 --quiet --eval "printjson(db.serverStatus())"',
        'rs_status'     : '安装路径/bin/mongo --host 服务器ip或name --port 端口 --quiet --eval "printjson(rs.status())"'
    }

    其次,配置文件mongodb.conf中的地址、端口,甚至使用的mongodb命令都是不可用的

     param server_status {
                value = "mongo --quiet --eval 'printjson(db.serverStatus())'"
            }
            param rs_status {
                value = "mongo --quiet --eval 'printjson(rs.status())'"
            }

    上面的代码是错的,如果没有设置mongodb的环境变量,设置了也是错的,语法不对

    下面是正确的

     param server_status {
                value = "/安装路径/bin/mongo --host 服务器ip或name --port 端口 --quiet --eval 'printjson(db.serverStatus())'"
            }
            param rs_status {
                value = "/安装路径/bin/mongo --host 服务器ip或name --port 端口 --quiet --eval 'printjson(rs.status())'"
            }
    将redis-gmond.py和mongodb.py复制到ganglia安装目下的python_modules目录下

    将redis-gmond.pyconf和mongodb.conf复制到ganglia配置文件夹下的conf.d目录下

    重新ganglia服务即可

  • 相关阅读:
    洛谷1462 通往奥格瑞玛的道路 二分+spfa
    NumPy 排序、条件刷选函数
    NumPy 统计函数
    2019-3-10——生成对抗网络GAN---生成mnist手写数字图像
    python if __name__ == 'main' 的作用和原理()
    Python os.getcwd()
    numpy.random.uniform()
    tf.trainable_variables()
    tf.layers.dense()
    彻底弄懂tf.Variable、tf.get_variable、tf.variable_scope以及tf.name_scope异同
  • 原文地址:https://www.cnblogs.com/AI001/p/3996916.html
Copyright © 2020-2023  润新知