企业级 URL 监控 URLooker

  • 安装依赖
yum install -y redis
yum install -y mysql-server
  • 导入数据库
wget https://www.cloudelf.cn/url/schema.sql
mysql  -u root -p < schema.sql
  • 安装包
https://www.cloudelf.cn/url/urlooker.tar.gz

[root@urlooker ]# ls
agent  alarm  urlooker.sh  web
  • urlooker-web
 "debug": true,
    "salt": "have fun!",
    "admin":["admin"], #这里的用户是会变成admin用户
    "past": 30, #查看最近几分钟内的报警历史和绘图,默认为30分钟
    "http": {
        "listen": "0.0.0.0:1984",
        "secret": "secret"
    },
    "rpc": {
        "listen": "0.0.0.0:1985"
    },
    "mysql": {
        "addr": "root:123@tcp(127.0.0.1:3306)/urlooker?charset=utf8&&loc=Asia%2FShanghai",
        "idle": 10,
        "max": 20
    },
    "alarm":{
        "enable": true,
        "batch": 200,
        "replicas": 500,
        "connTimeout": 1000,
        "callTimeout": 5000,
        "maxConns": 32,
        "maxIdle": 32,
        "sleepTime":30,
        "cluster":{
            "node-1":"127.0.0.1:1986"
        }
    },
    "monitorMap": { 
        "default":["hostname.1"], #监控指标多了之后agent地址可以填多个
    },
    "falcon":{
        "enable": false, # 为true表示向falcon推送数据
        "addr":"http://falcon.transfer.addr/api/push",
        "interval": 60
    },
    "internalDns":{ #通过公司内部接口获取url对应ip所在机房
        "enable": false,
        "addr":""
    }
  • urlooker-alarm
{
    "debug": false,
    "remain":10,  #配置策略中支持的最大连续次数
    "rpc":{
        "listen":"0.0.0.0:1986"
    },
    "web": {
        "addrs": ["127.0.0.1:1985"], #可以填多个web地址
        "timeout": 300,
        "interval": 60
    },
    "alarm": {
        "enabled": true,
        "minInterval": 180,
        "queuePattern": "event",
        "redis": {
            "dsn": "127.0.0.1:6379",
            "maxIdle": 5,
            "connTimeout": 20000,
            "readTimeout": 20000,
            "writeTimeout": 20000
        }
    },
    "queue": {
        "sms": "/sms",
        "mail": "/mail"
    },
    "worker": {
        "sms": 10,
        "mail": 50
    },
    "smtp": {
        "addr": "mail.addr:25",
        "username": "mail@mail.com",
        "password": "",
        "from": "mail@mail.com"
    }
}
  • urlooker-agent
{
    "debug": false,
    "hostname": "hostname.1", #hostname.1 和 web组件配置文件中monitorMap的值对应
    "worker": 1000, # 同时访问url的并发数
    "web": {
        "addrs": ["127.0.0.1:1985"],
        "interval": 60,
        "timeout": 1000
    }
}
  • 启动脚本
#!/bin/bash
PID(){
        ps -ef |grep "urlooker-$1"  |grep -v grep |awk '{print $2}'
}
url(){
        if [ ! `PID $1` ];then
        cd $(dirname $0)/$1
        nohup  ./urlooker-$1 -c cfg.json >> $(dirname $0)urlooker.log 2>&1 &
                if [ $?=0 ];then
                        sleep 3
                        echo -e "\t\033[32murlooker-$1\033[0m_Successful_PID=\033[31m`PID $1`\033[0m"
                        cd ..
                fi
        else
        echo -e "\turlooker-$1...\033[32mrunning\033[0m..."
        fi
}
dir(){
        file=$(dirname $0)/$1/urlooker-$1
        if [ ! -f $file ];then
                echo -e "\tNo \033[31m$file\033[m file or directory"
        else
                url $1
        fi
}
state(){
        if [ ! `PID $1` ];then
        echo -e "\turlooker-$1...\033[31mnone\033[0m..."
        else
        echo -e "\turlooker-$1...\033[32mrunning\033[0m..."
        fi
}
Stoprunning(){
        if [ !  `PID $1` ];then
        echo -e "\turlooker-$1...\033[31mnone\033[0m..."
        else
        kill -15 `PID $1`
        fi
}
case $1 in
start)
        dir web
        dir alarm
        dir agent
        ;;
status)
        state web
        state alarm
        state agent
        ;;
stop)
        Stoprunning web
        Stoprunning alarm
        Stoprunning agent
        ;;
 *)
        echo ""
        echo -e $"Usage: $0 { start | status |stop | help }\n"
        ;;
esac
exit 0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容