欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

falcon監(jiān)控redis

falcon 結(jié)合腳本redis-monitor.py進(jìn)行監(jiān)控redis
* * * * * python  /usr/local/openfalcon-0.2/mymon/redis-monitor.py &> /usr/local/openfalcon-0.2/mymon/redis-monitor.log
cat redis-monitor.py
#注意修改配置項(xiàng):_redis_cli,def __init__,insts_list,ip
#!/bin/env python
#-*- coding:utf-8 -*-
import json
import time
import socket
import os
import re
import sys
import commands
import urllib2, base64
class RedisStats:
    # 如果你是自己編譯部署到redis,請(qǐng)將下面的值替換為你到redis-cli路徑
    _redis_cli = '/usr/local/bin/redis-cli'
    _stat_regex = re.compile(ur'(\w+):([0-9]+\.?[0-9]*)\r')
    def __init__(self,  port='6379', passwd=None, host='127.0.0.1'):
        self._cmd = '%s -h %s -p %s info' % (self._redis_cli, host, port)
        if passwd not in ['', None]:
            self._cmd = '%s -h %s -p %s -a %s info' % (self._redis_cli, host, port, passwd)
    def stats(self):
        ' Return a dict containing redis stats '
        info = commands.getoutput(self._cmd)
        #print info
        return dict(self._stat_regex.findall(info))

def main():
    ip = '192.168.1.1'
    #ip = socket.gethostname()
    timestamp = int(time.time())
    step = 60
    # inst_list中保存了redis配置文件列表,程序?qū)倪@些配置中讀取port和password,建議使用動(dòng)態(tài)發(fā)現(xiàn)的方法獲得,如:
    # inst_list = [ i for i in commands.getoutput("find  /etc/ -name 'redis*.conf'" ).split('\n') ]
    insts_list = [ '/etc/redis/redis.conf' ]
    p = []

    monit_keys = [
        ('connected_clients','GAUGE'), 
        ('blocked_clients','GAUGE'), 
        ('used_memory','GAUGE'),
        ('used_memory_rss','GAUGE'),
        ('mem_fragmentation_ratio','GAUGE'),
        ('total_commands_processed','COUNTER'),
        ('rejected_connections','COUNTER'),
        ('expired_keys','COUNTER'),
        ('evicted_keys','COUNTER'),
        ('keyspace_hits','COUNTER'),
        ('keyspace_misses','COUNTER'),
        ('keyspace_hit_ratio','GAUGE'),
    ]

    for inst in insts_list:
        port = commands.getoutput("sed -n 's/^port *\([0-9]\{4,5\}\)/\\1/p' %s" % inst)
        passwd = commands.getoutput("sed -n 's/^requirepass *\([^ ]*\)/\\1/p' %s" % inst)
        metric = "redis"
        endpoint = ip
        tags = 'port=%s' % port
        try:
            conn = RedisStats(port, passwd)
            stats = conn.stats()
        except Exception,e:
            continue
        for key,vtype in monit_keys:
            #一些老版本的redis中info輸出的信息很少,如果缺少一些我們需要采集的key就跳過
            if key not in stats.keys():
                continue
            #計(jì)算命中率
            if key == 'keyspace_hit_ratio':
                try:
                    value = float(stats['keyspace_hits'])/(int(stats['keyspace_hits']) + int(stats['keyspace_misses']))
                except ZeroDivisionError:
                    value = 0
            #碎片率是浮點(diǎn)數(shù)
            elif key == 'mem_fragmentation_ratio':
                value = float(stats[key])
            else:
                #其他的都采集成counter,int
                try:
                    value = int(stats[key])
                except:
                    continue

            i = {
                'Metric': '%s.%s' % (metric, key),
                'Endpoint': endpoint,
                'Timestamp': timestamp,
                'Step': step,
                'Value': value,
                'CounterType': vtype,
                'TAGS': tags
            }
            p.append(i)

    print json.dumps(p, sort_keys=True,indent=4)
    method = "POST"
    handler = urllib2.HTTPHandler()
    opener = urllib2.build_opener(handler)
    url = 'http://127.0.0.1:1998/v1/push'
    request = urllib2.Request(url, data=json.dumps(p) )
    request.add_header("Content-Type",'application/json')
    request.get_method = lambda: method
    try:
        connection = opener.open(request)
    except urllib2.HTTPError,e:
        connection = e
    # check. Substitute with appropriate HTTP code.
    if connection.code == 200:
        print connection.read()
    else:
        print '{"err":1,"msg":"%s"}' % connection
if __name__ == '__main__':
    proc = commands.getoutput(' ps -ef|grep %s|grep -v grep|wc -l ' % os.path.basename(sys.argv[0]))
    sys.stdout.flush()
    if int(proc) < 5:
        main()

redis 進(jìn)程監(jiān)控
falcon監(jiān)控redis

成都創(chuàng)新互聯(lián)公司是專業(yè)的永嘉網(wǎng)站建設(shè)公司,永嘉接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行永嘉網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

redis狀態(tài)監(jiān)控

falcon監(jiān)控redis

分享文章:falcon監(jiān)控redis
URL地址:http://aaarwkj.com/article48/pjdhhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、品牌網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
sedoge在线播放免费有码| 白虎亚洲福利精品一区| 久久99国产精品成人免费| 久久免费国产精品电影| 日韩欧美二区三区在线| 亚洲成在人线免费观看| 国产亚洲精品第一最新| 肥臀大屁股av在线播放| 国产精品久久久久大屁股精品性色| 国产精品国产三级国产av一区| 97超碰国产在线观看| 亚洲午夜一区二区三区精品| av剧情免费在线观看| 91午夜福利视频免费播放| 日韩在线一区中文字幕| 亚洲美女国产精选999| 亚洲区自拍偷拍一区二区 | 在线观看免费国产b片| 中文字幕在线日韩精品| 日本午夜免费在线视频| 欧美黄色一级在线免费观看| 99久久久久国产精品免费| 日本亚洲欧洲一区二区| 久久夜色一区二区三区| 亚洲人妻av一区二区三区| 国产97成人亚洲综合在线| 亚洲天堂网免费在线看| 国产精品重口调教系列| 91亚洲国产成人精品性色| 99精品国产中文字幕| 999久久久久亚洲精品| 国产饥渴熟女在线三区| 午夜男女激情在线观看| 性激烈的欧美三级男同| 大香蕉欧美视频伊在线| 日韩一区二区三级电影| 91熟女激情五月综合| 日本中文字幕不卡在线一区二区| 国产成人一区二区二区三区| 五月开心婷婷开心五月活动推荐 | 欧美亚洲成人免费电影|