OWL 是TalkingData公司推出的一款开源分布式监控系统 . 目前使用OWL监控了二十几台服务器,便捷很多 Go语言开发,部署维护简单
测试环境为:
腾讯云centos 7.2 64位。
具体操作步骤如下:
https://pan.baidu.com/s/1UTYOOB8YE8nng0guXOXkmg#list/path=%2Fowl
将网盘内容全部上传到
/usr/local/src/tools下。
方便统一管理
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装:
rpm -ivh jdk-8u161-linux-x64.rpm
kairosdb可以基于内存、cassandra、hbse等,演示建议使用内存存储,生产建议使用cassandra,安装部署请参考官方文档。
cassandra:http://cassandra.apache.org/doc/latest/getting_started/installing.html#installation-from-binary-tarball-files
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
安装
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!';
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;
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
#安装
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
#安装
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
#安装
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
#安装
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
#安装
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
#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
#登录以后进入管理页面即可创建产品线并分配主机和人员
至此部署环节完成。
URL:http://真实IP
admin admin
最开始设置产品所以需要手工设置一下
操作流程如下 :
点击【进入管理员页面】-》【创建产品线】=》【添加主机】 & 并添加相关人员包含用户里面的【添加用户】
点击【进入管理员页面】-》左侧菜单【脚本列表】=》【添加脚本】
我这里测试企业微信发送
成员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
CORP_ID = ""
SECRET = ""
AGENT_ID = 0
替换保存即可。
点击右上角【个人中心】-》跳转到主画面点击刚刚添加的产品线名称
点击【设备管理】-》【主机组列表】-》【添加主机组】,并【添加主机】
点击【人员设置】-》【用户组列表】-》【添加用户组】,并【添加用户】
点击【预警告警】-》【策略列表】-》【创建策略】
填写策略名称,选择metirc,计算规则
选择主机组 ,就是我们前面添加的。在此处也可以排除不需要监控的主机
选择告警人员,这个地方就是选择前面添加的人员组。(注意人员组里一定要有人,另外个人中心编辑自己的微信号就是前面提到的企业微信里的成员ID)
至此简单操作环节完成,我们也可以添加一些看板,来查看里面的数据
备注一些命令:
查找日志:
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 删除。