1、启动步骤:
启动redis后台运行,redis-server &
cd open-falcon//移动到工作目录
./open-falcon start//启动后端
./open-falcon check//检查启动情况
cd dashboard//移动到工作目录
bash control start//以生产环境启动前端,127.0.0.1:8081
bash control tail//查看日志
2、钉钉发送组件:
1.1、复制webhook:
1.2、修改mysql中uic库中的user表,把im字段的大小改为4000(防止钉钉token溢出截断)
alter table user modify column im varchar(4000);
1.3、go环境安装准备:
一、源码安装
1.设置Go的环境变量
GOROOT_BOOTSTRAP 这个目录在安装 Go 1.5 版本及之后的版本时需要设置。由于在 1.4 版本后,Go 编译器实现了自举,即通过 1.4 版本来编译安装之后版本的编译器。如果不设置该环境变量的话,会产生这样一个错误“Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.”。
2.下载源码包
3.安装Go
4.设置环境变量
5.设置工作目录
至此,我们的Golang已经安装好了
6.工作目录介绍
GOPATH允许多个目录,当有多个目录时,默认会将go get的内容放在第一个目录下。
$GOPATH 目录约定有三个子目录:
src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)
3、排查思路:
问题:alarm已经产生告警日志,并且dashboard未恢复告警已展示,但是alarm模块不发送
解决:在确保alarm模块的配置无误后,查看judge模块是否成功把event写到redis里,alarm能否从redis中读取event,查看钉钉/微信或邮件的告警通道是否有问题
4、同步:curl -s "hostname:1988/plugin/update"
V0.2更新内容:
全新的前端
统一的后端
过去那些等待已久的bugfix
全新的 RESTful API:让 open-falcon 没有难自动化的操作
func BuildCommonIMContent(event *model.Event) string {
return fmt.Sprintf(
"[告警级别:P%d][采集项状态:%s][服务器信息:%s][采集项问题信息:%s 告警最大次数:%s 采集项:%s 采集值:%s %s%s%s][告警次数:%d 时间:%s]",
event.Priority(),
event.Status,
event.Endpoint,
event.Note(),
event.Func(),
event.Metric(),
utils.SortedTags(event.PushedTags),
utils.ReadableFloat(event.LeftValue),
event.Operator(),
utils.ReadableFloat(event.RightValue()),
event.CurrentStep,
event.FormattedTime(),
)
}
select metric,count(*) from history where created_time >= unix_timestamp(now())-43200 AND created_time <= unix_timestamp(now()) and metric not regexp ('system|attack|listenqueue|table_locks_waited|disk.io|container|jucloud|swap|cpu|net|smarthome|mq|historage') group by metric;