zabbix运维告警平台zbxtable


随着数据业务的日渐庞大,我们需要在开源监控产品中选出适合自己公司业务的产品cacti、nagios、普罗米修斯、zabbix等。。。
目前我仅用到以下三款产品
cacti 监控网络设备、95计费 首选
zabbix 综合性监控
普罗米修斯 容器型监控
本文选用zabbix 5.0 LTS、nginx1.16.1 后端数据库同web放入zabbix宿主机中.
zbxtable 张哥用go语言写的项目地址附下
https://blog.cactifans.com/
zbxtable运维管理平台 最方便的就是将图形和指标批量导出
yum源

7.x x86_64
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 alertscripts
AlertScriptsPath=/usr/local/zabbix/lib/zabbix/alertscripts

upload successful

配置文件

/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

Author: Thomas
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Thomas !
  TOC