文档章节

Cabot Alert Mysql环境搭建

cdsc
 cdsc
发布于 2017/07/22 18:56
字数 670
阅读 29
收藏 0

Cabot简介

Cabot is a free, open-source, self-hosted infrastructure monitoring platform that provides some of the best features of PagerDuty, Server Density, Pingdom and Nagios without their cost and complexity. (Nagios, I'm mainly looking at you.)

It provides a web interface that allows you to monitor services (e.g. "Stage Redis server", "Production ElasticSearch cluster") and send telephone, sms or hipchat/email alerts to your on-duty team if those services start misbehaving or go down - all without writing a line of code. Best of all, you can use data that you're already pushing to Graphite/statsd to generate alerts, rather than implementing and maintaining a whole new system of data collectors. 官网

Cabot环境搭建

初始化mysql数据库

$ mysql -u root -p -e "CREATE USER cabot@localhost IDENTIFIED BY 'cabot'";
$ mysql -u root -p -e "CREATE DATABASE cabot";
$ mysql -u root -p -e "GRANT ALL PRIVILEGES ON \`cabot\`.* TO \`cabot\`@localhost";

下载cabot

$ git clone https://github.com/arachnys/cabot.git

安装依赖软件

$ sudo yum install ruby
$ sudo gem install foreman
$ sudo pip install fabric
$ sudo yum install python-devel
$ sudo yum install openldap-devel
$ sudo pip install -r requirements.txt 
$ sudo pip install -r requirements-plugins.txt 
$ sudo pip install -r requirements-dev.txt
$ sudo pip install MySQL-python
$ sudo yum install nodejs
$ sudo npm install -g less
$ sudo npm install -g coffee-script

修改配置文件

$ cp production.env.example production.env
$ vi production.env

DEBUG=t
DATABASE_URL=mysql://cabot:cabot@localhost:3306/cabot
DJANGO_SETTINGS_MODULE=cabot.settings
LOG_FILE=log
PORT=5008

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
TIME_ZONE=Asia/Shanghai

# Django settings
CELERY_BROKER_URL=redis://localhost:6379/1
DJANGO_SECRET_KEY=2FL6ORhHwr5eX34pP9mMugnIOd3jzVuT45f7w430Mt5PnEwbcJgma0q8zUXNZ68A

# Hostname of your Graphite server instance
GRAPHITE_API=http://*.*.*.*:12346/
GRAPHITE_USER=username
GRAPHITE_PASS=password

修改启动文件

$ vi .foreman

# vi: set ft=yaml :

procfile: Procfile
env: conf/production.env


$ vi gunicorn.conf

# -*- mode: python -*-
# vi: set ft=python :

import os

bind = '0.0.0.0:%s' % os.environ['PORT']
workers = 3

$ vi Procfile

web:       gunicorn cabot.wsgi:application --config gunicorn.conf
celery:    celery worker -B -A cabot --loglevel=INFO --concurrency=16 -Ofair
beat:      celery beat -A cabot --loglevel=INFO

初始化数据库

$ sh setup_dev.sh

安装redis

$ sudo yum install redis

使用supervisor管理redis

添加redis配置文件

$ sudo vi /etc/supervisord.d/redis.conf

[program:redis]
command=/usr/bin/redis-server
autorstart=true
autorestart=true
redirect_stderr=true
stopsignal=TERM
stdout_logfile=/var/log/redis.log
directory=/usr/bin

重新加载配置文件

$ sudo supervisorctl reload
$ sudo supervisorctl status
redis                            RUNNING   pid 17493, uptime 0:04:06

启动web程序

$ foreman start web

启动celery

foreman start celery

登录管理页面(第一次登录需要设置管理员账号)

http://localhost:5008

使用supervisor管理Cabot,Celery进程

$ sudo vi /etc/supervisord.d/cabot.conf

[program:web]
command=foreman start web
autorstart=true
autorestart=true
redirect_stderr=true
stopsignal=TERM
stdout_logfile=/home/dengsc/app/cabot/log/web.log
directory=/home/dengsc/app/cabot

[program:celery]
command=foreman start celery
autorstart=true
autorestart=true
redirect_stderr=true
stopsignal=TERM
stdout_logfile=/home/dengsc/app/cabot/log/celery.log
directory=/home/dengsc/app/cabot

使用supervisor管理程序

sudo supervisorctl reload

some error

配置中设置DEBUG=False时报错,ValueError: Missing staticfiles manifest entry for 'bootstrap/css/bootstrap.css'

$ foreman run python manage.py collectstatic
$ foreman run python manage.py compress
$ sudo supervisorctl restart web

# 可能引起报错的语句
# settings.py
# if not DEBUG:
#    STATICFILES_STORAGE  = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
#
# stackoverflow: https://stackoverflow.com/questions/44160666/valueerror-missing-staticfiles-manifest-entry-for-favicon-ico

最后上一张Cabot管理页面的截图

Cabot Server

到目前位置Cabot主题已搭建完毕,后面博客会讲一下开发自定义告警模块,目前我也还在钻研中。

© 著作权归作者所有

共有 人打赏支持
cdsc
粉丝 0
博文 11
码字总数 7395
作品 0
深圳
程序员
私信 提问
docker运行cabot

docker-compose dockerfile 运行 docker-compose up打开http://192.168.99.100:8080/admin/admin summary 依赖组件太多,另外没有配置了graphite没有生效,不能在ui进行配置,比较费劲,建议...

go4it
2016/09/25
6
0
搭建大众点评 CAT 监控平台

搭建大众点评 CAT 监控平台 CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。关于CAT的具体介绍可移步到CAT官网进行查阅。 1. 环境清单...

Trek_Note
10/12
0
0
CentOS6.x 下 LNMP环境搭建(一、安装 MySQL)

CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一、安装 MySQL) CentOS6.x 下 LNMP环境搭建(二、安装 Nginx) CentOS6.x 下 LNMP环境搭建(三、安装 PHP) 1. 创建用户...

whoru
2016/09/27
117
0
Error 12154 received logging on to the standby

环境为 操作系统:AIX 6.1 oracle版本:11.2.0.3 (psu5) 本编记录了本人一次DG搭建失败的经历,只是一个小的错误,但却导致我排查了半天。记录本次经历用来警醒自己,作为一名dba任何时候我...

shaochenshuo
06/28
0
0
hive环境搭建

环境准备: hadoop环境搭建 安装mysql hive环境搭建 hadoop环境搭建参考:http://my.oschina.net/u/2311010/blog/508139 安装mysql 卸载自带的mysql rpm -qa | grep mysqlrpm -e mysql-libs...

super_yu
2016/02/28
368
0

没有更多内容

加载失败,请刷新页面

加载更多

剖析Elasticsearch的IndexSorting:一种查询性能优化利器

摘要: 前言 前两周写过一篇《基于Lucene查询原理分析Elasticsearch的性能》,在最后留了一个彩蛋,说下一篇会介绍一种可以极大的优化查询性能的技术。本文就来介绍这种技术——IndexSortin...

阿里云官方博客
26分钟前
0
0
Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
51分钟前
2
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
56分钟前
6
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
今天
1
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部