随着数据业务的日渐庞大,我们需要在开源监控产品中选出适合自己公司业务的产品cacti、nagios、普罗米修斯、zabbix等。。。
目前我仅用到以下三款产品
cacti 监控网络设备、95计费 首选
zabbix 综合性监控
普罗米修斯 容器型监控
本文选用zabbix 5.0 LTS、nginx1.16.1 后端数据库同web放入zabbix宿主机中.
zbxtable 张哥用go语言写的项目地址附下https://blog.cactifans.com/
zbxtable运维管理平台 最方便的就是将图形和指标批量导出
yum源
rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm
yum clean all
2 安装组件
如果已安装旧的组件则会进行更新。更新前务必备份配置文件
安装 Zbxtable
yum install zbxtable -y
安装 Zbxtable-Web
yum install zbxtable-web -y
安装 ms-agent
yum install ms-agent -y
监控告警
数据库初始化
按照以下命令创建数据库及用户
在你想作为后端数据库的位置
mysql -uroot -p
password
mysql> create database zbxtable character set utf8 collate utf8_bin;
mysql> create user zbxtable@localhost identified by 'zbxtablepwd123';
mysql> grant all privileges on zbxtable.* to zbxtable@localhost;
mysql> quit;
修改配置文件
配置文件在 /usr/local/zbxtable/conf/app.conf zbxtable主配置文件
#zbxtable
appname = zbxtable
httpport = 8084
runmode = prod
autorender = false
copyrequestbody = true
EnableDocs = true
#session过期时间,单位为小时,默认12小时。如需大屏自动刷新,建议配置较大配置时间
session_timeout = 12
#database #数据库的地址
hostname = localhost #数据库的地址
username = zbxtable #放入后端数据库中database的name
dbpsword = zbxtablepwd123 #放入后端数据库中database的password
database = zbxtable #放入后端数据库中库名
port = 3306 #放入后端数据库的端口
dbprefix = zbxtable_
#zabbix web info #zabbix前端的信息
zabbix_server = http://192.168.10.12 #zabbix-server主机地址 #zabbix_server = http://192.168.100.14/zabbix #根据实际地址来填写填写错误将会报错
zabbix_user = Admin #zabbix ui前端的登录用户名 以实际为主
zabbix_pass = zabbix #zabbix ui前端的密码 以实际为主
#alarm send token #告警token 同后面ms-agent 里面的token一致才可告警 否则报错
token = ec573cf7388da56916f75ba9bbe46a69
修改好配置后,使用以下命令启动
systemctl enable --now zbxtable
重启
systemctl restart zbxtable
查看服务状态
systemctl status zbxtable
一定要确保zbxtable服务是Active: active (running) 状态,如不是正常状态,建议查看日志/usr/local/zbxtable/logs/zbxtable.log
常见报错json
安装好之后文件位于/usr/local/zbxtable/web 前端为纯静态文件,需使用 nginx,如机器未安装 nginx,使用以下命令安装 nginx
yum install nginx -y
拷贝 nginx 配置文件
cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/
重启 nginx
systemctl restart nginx
配置开机启动
systemctl enable nginx
使用http://ip:8088 即可访问系统,系统默认账号:admin 密码:Zbxtable
server {
listen 8088;
server_name localhost;
root /usr/local/zbxtable/web;
location /v1 {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8084;
}
location / {
try_files $uri /index.html;
}
}
代理的zbxtable 8084端口
ms-agent 配置
初始化配置
ms-agent 需使用 zbxtable 命令完成在 Zabbix Server 的配置,包括创建用户,配置动作等配置。配置过程如下,确保 ZbxTable 配置文件里的 Zabbix Server 信息配置正确
cd /usr/local/zbxtable
./zbxtable install
显示如下日志
2020/07/18 23:22:16.881 [I] [install.go:43] Zabbix API Address: http://zabbix-server/api_jsonrpc.php
2020/07/18 23:22:16.881 [I] [install.go:44] Zabbix Admin User: Admin
2020/07/18 23:22:16.881 [I] [install.go:45] Zabbix Admin Password: xxxxx
2020/07/18 23:22:17.716 [I] [install.go:52] 登录zabbix平台成功!
2020/07/18 23:22:17.879 [I] [install.go:69] 创建告警媒介成功!
2020/07/18 23:22:18.027 [I] [install.go:82] 创建告警用户组成功!
2020/07/18 23:22:18.198 [I] [install.go:113] 创建告警用户成功!
2020/07/18 23:22:18.198 [I] [install.go:114] 用户名:ms-agent
2020/07/18 23:22:18.198 [I] [install.go:115] 密码:xxxx
2020/07/18 23:22:18.366 [I] [install.go:167] 创建告警动作成功!
2020/07/18 23:22:18.366 [I] [install.go:168] 插件安装完成!
表示配置成功.此步骤会在 Zabbix Server 创建 ms-agent,密码为随机,并配置相关 Action 和 Media Type,并关联到用户.
需要在zabbix alertscriptsAlertScriptsPath=/usr/local/zabbix/lib/zabbix/alertscripts
配置文件
/etc/ms-agent/app.ini 为程序配置文件,默认内容如下
[app]
Debug = 1
LogSavePath = /tmp
Host = http://192.168.10.10:8088/v1/receive
Token = ec573cf7388da56916f75ba9bbe46a69
Debug 为程序日志级别 0 是 debug,1 为 info
LogSavePath 为日志目录,默认为/tmp 目录
Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive
Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。
Debug
可修改配置文件打开 Debug 模式,查看日志文件名格式如下/tmp/ms-agent_yyyymmdd.log