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

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)營
亚洲精品一区二区三区三州| 欧美一区二区三区东京热| 亚洲经典日韩欧美一区| 九九热精品视频美谷朱里| 伊在人天堂亚洲香蕉精品区| 中文字幕在线成人影院| 日韩中文字幕一区二区不卡| 日本高清一区二区高清| 欧美激情性国产精品潮| 国产高清在线a视频大全| 国产精品盗摄一区二区三区| 午夜18禁毛片免费看| 婷婷五激情五月激情片| 91久久精品人妻一区二区| 国产丝袜美女一区二区| 免费观看黄片视频在线播放| 又黄又爽又刺激的性视频| 久久久之久亚州精品露出| 欧美国产精品一区二区免费| 精品亚洲综合一区二区| 国产大学生露脸在线视频| 亚洲av乱码专区国产乱码| 丰满人妻毛片一区二区三区| 乡村丰满的大屁股熟妇| 成人av久久一区二区三区| 日产一区二区三区网站| 亚洲欧美午夜激情啪啪视频 | 欧美日韩一区中文字幕| av天天堂网在线播放| 神马免费午夜福利剧场| 欧美一区二区精品网站| av成人资源一区久久| 国产精品久久久天美传媒| 亚洲午夜经典一区二区日韩| 97免费观看在线观看| 亚洲天堂一区二区av| 凹凸国产精品熟女视频| 亚洲丰满熟女乱一区二区三区 | 亚洲综合日韩精品在线| 亚洲精品影视一区二区| 亚洲精品国产av一区|