前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源分布式监控系统 OWLv5.0.0 安装部署完整手册

开源分布式监控系统 OWLv5.0.0 安装部署完整手册

原创
作者头像
蔡鹏
修改2018-05-17 15:19:34
1.4K0
修改2018-05-17 15:19:34
举报
文章被收录于专栏:蔡鹏的专栏蔡鹏的专栏

OWL 是TalkingData公司推出的一款开源分布式监控系统 . 目前使用OWL监控了二十几台服务器,便捷很多 Go语言开发,部署维护简单

  • 分布式,支持多机房
  • 多维的数据模型,类opentsdb
  • 支持多种报警算法,支持多条件组合、时间范围、报警模板等
  • 灵活的插件机制,支持任意语言编写,支持传参,自动同步
  • 丰富的报警渠道,邮件、微信、短信、电话、自定义
  • 原始数据永久存储,支持发送到opentsdb、kairosdb、kafka
  • 自带web管理界面以及强大的自定义图表功能

OWL架构图
OWL架构图

测试环境为:

腾讯云centos 7.2 64位。

具体操作步骤如下:

1.0 下载网盘资源

https://pan.baidu.com/s/1UTYOOB8YE8nng0guXOXkmg#list/path=%2Fowl

将网盘内容全部上传到

/usr/local/src/tools下。

方便统一管理

1.1 JDK 1.8 下载.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装:

rpm -ivh jdk-8u161-linux-x64.rpm

1.2. Kairosdb

kairosdb可以基于内存、cassandra、hbse等,演示建议使用内存存储,生产建议使用cassandra,安装部署请参考官方文档。

代码语言:txt
复制
cassandra:http://cassandra.apache.org/doc/latest/getting_started/installing.html#installation-from-binary-tarball-files
代码语言:txt
复制
Kairosdb: https://kairosdb.github.io/docs/build/html/GettingStarted.html#using-with-cassandra

Kairosdb:

rpm -ivh kairosdb-1.2.0-1.rpm

运行:

/etc/init.d/kairosdb start

验证是否:

#检查服务端口是否监听

netstat -nltp | grep 8080

2. MySQL

安装

cd 到mysql 5.7目录下

yum localinstall mysql*

运行:

service mysqld start

安装完成初始化数据库

查密码:

冒号后面都是

root@VM_60_230_centos tools# grep 'temporary password' /var/log/mysqld.log

2018-04-13T03:48:04.206334Z 1 Note A temporary password is generated for root@localhost: )sRs0gP/lW8R

mysql -uroot -p

#输入上文过滤出来的密码,冒号后面的都是

首次修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL2OWL!';

代码语言:txt
复制
mysql> CREATE DATABASE `owl` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
#将下面的password替换成自己设置的密码
#如果cfc、api、controller都在本机,可以只授权localhost
#如果部署在其他机器请设置成对应机器的IP地址
mysql> GRANT ALL ON owl.* TO 'root'@'localhost' IDENTIFIED BY 'password';  
mysql> FLUSH PRIVILEGES;
mysql> use owl;
mysql> source /usr/local/src/tools/owl-5.0.0rpm/owl.sql;//这里是sql脚本文件路径。
mysql> INSERT INTO `user` (username, password, role, status) VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3', 1, 1);
mysql> exit;
3. cfc
代码语言:txt
复制
rpm -ivh owl-cfc-5.0.0-1.el7.centos.x86_64.rpm

vim /usr/local/owl-cfc/conf/cfc.conf
#设置数据库访问地址和账号密码
mysql_addr=127.0.0.1:3306
mysql_user=root
mysql_dbname=owl
mysql_password= 

#启动服务
/etc/init.d/owl-cfc start

#检查服务状态
netstat -nltp | grep 10020  

####4. repeater

代码语言:txt
复制
#安装
rpm -ivh owl-repeater-5.0.0-1.el7.centos.x86_64.rpm

#修改配置文件
vim /usr/local/owl-repeater/conf/repeater.conf
backend=kairosdb
opentsdb_addr=127.0.0.1:4242  #修改为kairosdb安装的主机地址

#启动服务
/etc/init.d/owl-repeater start 

#检查服务
netstat -nltp | grep repeater
5. api
代码语言:txt
复制
#安装
rpm -ivh owl-api-5.0.0-1.el7.centos.x86_64.rpm

#创建证书目录
mkdir -p /usr/local/owl-api/certs  

#生成rsa密钥对,不要设置密码,直接回车即可
a、生成私钥
openssl genrsa -out /usr/local/owl-api/certs/owl-api.key 1024

b、将原始私钥转换为pkcs8格式(复制结果替换owl-api.key)
openssl pkcs8 -topk8 -inform PEM -in /usr/local/owl-api/certs/owl-api.key -outform PEM -nocrypt

c、根据私钥生成公钥
openssl rsa -in /usr/local/owl-api/certs/owl-api.key -pubout -out /usr/local/owl-api/certs/owl-api.key.pub

#编辑配置文件
vim /usr/local/owl-api/conf/api.conf

public_key=./certs/owl-api.key.pub
private_key =./certs/owl-api.key
#修改为controller机器的IP地址
alarm_health_check_url=http://127.0.0.1:10051  

#配置数据库访问用户密码
mysql_addr=127.0.0.1:3306
mysql_user=root
mysql_dbname=owl
mysql_password=  
timeseirs_storage=kairosdb

#设置kairosdb安装地址和端口
kairosdb_addr=127.0.0.1:8080  

#保存退出


#启动服务
/etc/init.d/owl-api start 

#检查服务端口是否监听
netstat -nltp | grep api
6. controller
代码语言:txt
复制
#安装
rpm -ivh owl-controller-5.0.0-1.el7.centos.x86_64.rpm 

#修改配置文件
vim /usr/local/owl-controller/conf/controller.conf 
#配置数据库地址和用户密码
mysql_addr=127.0.0.1:3306
mysql_user=root
mysql_dbname=owl
mysql_password=

#启动服务
/etc/init.d/owl-controller start

#检查服务
netstat -nltp | grep controller
7. inspector
代码语言:txt
复制
#安装
rpm -ivh owl-inspector-5.0.0-1.el7.centos.x86_64.rpm 

#修改配置文件
vim /usr/local/owl-inspector/conf/inspector.conf 
#配置controller地址
controller_addr=127.0.0.1:10050

#配置tsdb类型和地址
backend_tsdb=kairosdb
tsdb_addr=127.0.0.1:8080

#启动服务
/etc/init.d/owl-inspector start

#检查服务,inspector没有启动端口
ps -ef | grep inspector
8. client
代码语言:txt
复制
#安装
rpm -ivh owl-client-5.0.0-1.el7.centos.x86_64.rpm

#修改配置文件
vim /usr/local/owl-client/conf/client.conf 
#配置cfc和repeater的地址
cfc_addr=127.0.0.1:10020
repeater_addr=127.0.0.1:10040

#启动服务
/etc/init.d/owl-client start

#检查服务,inspector没有启动端口 
ps -ef | grep client

#查看日志是否有错误输出
tail /usr/local/owl-client/logs/client.log  
9. frontend
代码语言:txt
复制
#frontend 为静态资源文件,需要安装web服务器,这里以nginx为例子
#安装nginx
yum install -y nginx

#编辑配置文件
vim /etc/nginx/nginx.conf
server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;  
        #此处为修改后的root路径,其他保持不变
        root         /usr/share/nginx/html/owl-frontend;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / { 
        }   

        error_page 404 /404.html;
            location = /40x.html {
        }   

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }   
    } 

#解压静态文件
tar zxvf owl-frontend-5.0.0.tar.gz -C /usr/share/nginx/html/

#编辑配置
vim /usr/share/nginx/html/owl-frontend/index.html

#修改proUrl为api的安装地址
proUrl:"http://127.0.0.1:10060"   此处IP为真实IP  我用的腾讯云 此处就把IP替换成真实的。

#启动nginx
nginx 

#打开浏览器,检查页面访问,默认用户名密码为 admin/admin
#登录以后进入管理页面即可创建产品线并分配主机和人员

至此部署环节完成。

1. 登录WEB端

URL:http://真实IP

admin admin

最开始设置产品所以需要手工设置一下

操作流程如下 :

2.添加产品线,并绑定主机和人员

点击【进入管理员页面】-》【创建产品线】=》【添加主机】 & 并添加相关人员包含用户里面的【添加用户】

3.添加企业微信脚本

点击【进入管理员页面】-》左侧菜单【脚本列表】=》【添加脚本】

我这里测试企业微信发送

3.1 登录企业版微信找到几个关键的值。

成员ID:就是我们平台上的微信号(切忌否则发不出去)。

CORP_ID: 这是公司id,在https://work.weixin.qq.com/wework_admin/frame#profile 最下面有wx开头的

下面两个是需要在 https://work.weixin.qq.com/wework_admin/frame#apps 新建一个自建应用然后点击进去可以看到

SECRET

AGENT_ID

获取到以后修改默认脚本里面的数据

controller\scripts\notifications\send_wechat.py

代码语言:txt
复制
CORP_ID = ""
SECRET = ""
AGENT_ID = 0

替换保存即可。

4 查看产品线

点击右上角【个人中心】-》跳转到主画面点击刚刚添加的产品线名称

5 设备管理

点击【设备管理】-》【主机组列表】-》【添加主机组】,并【添加主机】

6 人员设置

点击【人员设置】-》【用户组列表】-》【添加用户组】,并【添加用户】

7 预警告警

点击【预警告警】-》【策略列表】-》【创建策略】

7.1 编辑预警条件

填写策略名称,选择metirc,计算规则

7.2 选择预警设备

选择主机组 ,就是我们前面添加的。在此处也可以排除不需要监控的主机

7.3 指定告警对象

选择告警人员,这个地方就是选择前面添加的人员组。(注意人员组里一定要有人,另外个人中心编辑自己的微信号就是前面提到的企业微信里的成员ID)

8 等待触发监控然后企业微信可以收到了

至此简单操作环节完成,我们也可以添加一些看板,来查看里面的数据

备注一些命令:

查找日志:

find / -name *.logs 命令

重启Nginx服务

方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可

编译windows

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build owl/controller

root@VM_60_230_centos ~# CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build owl/client

正常编译:

godep go install owl/agent

编译插件:

godep go install

install在$gopath/bin下啊

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.0 下载网盘资源
  • 1.1 JDK 1.8 下载.
  • 1.2. Kairosdb
  • 2. MySQL
  • 3. cfc
  • 5. api
  • 6. controller
  • 7. inspector
  • 8. client
  • 9. frontend
  • 1. 登录WEB端
  • 2.添加产品线,并绑定主机和人员
  • 3.添加企业微信脚本
    • 3.1 登录企业版微信找到几个关键的值。
      • 4 查看产品线
        • 5 设备管理
          • 6 人员设置
            • 7 预警告警
              • 7.1 编辑预警条件
              • 7.2 选择预警设备
              • 7.3 指定告警对象
            • 8 等待触发监控然后企业微信可以收到了
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档