企业运维之 zabbix 监控--报警平台与分布式
Posted 123坤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业运维之 zabbix 监控--报警平台与分布式相关的知识,希望对你有一定的参考价值。
企业运维之 zabbix 监控--报警平台与分布式
1. 报警平台的使用
此处选择和睿象云结合来实现报警平台的搭建;
- 注册
链接: link 进行注册;
注册完成之后,点击左侧的CA进入告警平台进行配置,结合zabbix;
点击需要结合的监控zabbix
;然后出现如下所示的界面:
输入应用名称,然后点击保存并获取应用key;然后会获得一个key,如下所示;
接下来根据提示信息来开始配置;
根据主配置文件找到告警路径:
- 配置
在该路径下用命令wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-3.0.1.tar.gz
下载所需要的探针;
[root@server1 zabbix]# cd /usr/lib/zabbix/alertscripts
[root@server1 alertscripts]# ls
[root@server1 alertscripts]# ls
ca_zabbix_release-3.0.1.tar.gz
[root@server1 alertscripts]# tar zxf ca_zabbix_release-3.0.1.tar.gz
[root@server1 alertscripts]# ls
ca_zabbix_release-3.0.1.tar.gz cloudalert
[root@server1 alertscripts]# cd cloudalert/
[root@server1 cloudalert]# ls
bin
[root@server1 cloudalert]# cd bin/
[root@server1 bin]# ls
alert.sh funcs install.sh uninstall.sh
#下面的key为生成的key,此处要确保能上网
[root@server1 bin]# ./install.sh 61b042f952ba4da4aa03e7e05f0b03e3
请输入Zabbix管理地址:http://172.25.25.1/zabbix
Check connection success!
请输入Zabbix管理员账号:Admin
请输入Zabbix管理员密码: % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 170 100 70 100 100 1119 1599 --:--:-- --:--:-- --:--:-- 1612
Authentication success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 108 100 41 100 67 1003 1640 --:--:-- --:--:-- --:--:-- 1634
Check api version success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 313 100 56 100 257 992 4555 --:--:-- --:--:-- --:--:-- 4589
Create new media type success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 192 100 54 100 138 932 2383 --:--:-- --:--:-- --:--:-- 2421
Create new group success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 397 100 51 100 346 895 6078 --:--:-- --:--:-- --:--:-- 6178
Create new user success!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1572 100 51 100 1521 778 23214 --:--:-- --:--:-- --:--:-- 23400
Create new action success!
Install zabbix agent success!
- 报警媒介的设定:
在该页面将其他三个自带的禁用,来确保当前的媒介测试成功;
报警用户:
默认是通过所有介质,所以前面才会禁用其他介质;
- 通知策略设定
- 模拟错误
systemctl stp zabbix-agent
等待时间到达之后便会发送信息,但是还没有处理;
在告警平台可以和接收端可以看到告警信息,要是结合app还可以在app端做认领和解决;
问题解决:systemctl start zabbix-agent
还可以看到谁认领,谁解决,通过那些方式解决了问题。
2. Agent 主动模式
默认情况下, 是Server端周期性的连接Agent端手机自己想要的监控信息。
不难想象,在Agent端数量增大时,Server端的压力也在增大。
如果数量级庞大,这也会成为业务的一个热点;Agent端能主动向Server提交信息就再好不过了。
点击模板, 进行全克隆 , 重命名新模板为模板 Active:
此时已经科隆完成,然后在修改监控项:全选之后点击批量更新;
更改模式,然后点击更新,此时批量更新完成:
然后将server3上的模板改为新的克隆更改的模板,此时便为主动发送;
等待一定时间后能看到新的数据出现:
以上就是agent端主动向server端发送数据的过成,可以减小server端的负载;当这样可以时就不需要添加分布式消耗资源。
入骨是在是满足不了需求再考虑分布式。
3. proxy 分布式
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
简化分布式监控的维护
此处可以再开一台主机来做代理;此处选择将server2用来做代理。
首先删除监控页面的server2主机,然后停掉不需要的服务,安装需要的软件包,并修改配置文件;
- 停掉不需要的服务
[root@server2 bin]# ./shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@server2 bin]# systemctl stop httpd
[root@server2 bin]# systemctl disable --now zabbix-agent
- 安装并配置proxy
由于此proxy开启的端口也为10051所以一定要停掉agent;proxy 中的数据库的信息,要和新建的数据库对应起来;
[root@server2 ~]# yum install -y zabbix-proxy
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_proxy.conf
30 Server=172.25.25.1
49 Hostname=proxy
196 DBPassword=westos
#数据库密码
[root@server2 zabbix]# hostnamectl set-hostname proxy
[root@server2 zabbix]# vim /etc/hosts #在所有节点都加上解析
[root@proxy zabbix]# yum install -y mariadb-server
[root@proxy zabbix]# systemctl start mariadb.service
[root@proxy zabbix]# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'westos';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
#登陆数据库测试
[root@proxy zabbix]# mysql -u zabbix -p zabbix_proxy
Enter password:
MariaDB [zabbix_proxy]>
[root@proxy zabbix-proxy-mysql-4.0.5]# pwd
/usr/share/doc/zabbix-proxy-mysql-4.0.5
[root@proxy zabbix-proxy-mysql-4.0.5]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | wc -l
1967
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy
[root@proxy zabbix-proxy-mysql-4.0.5]# systemctl enable --now zabbix-proxy
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-proxy.service to /usr/lib/systemd/system/zabbix-proxy.service.
[root@proxy zabbix-proxy-mysql-4.0.5]# netstat -antlp | grep :10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 24455/zabbix_proxy
tcp6 0 0 :::10051 :::* LISTEN 24455/zabbix_proxy
[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log
24461:20210726:085331.141 cannot send heartbeat message to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085331.536 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085332.537 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085333.539 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085334.541 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085335.542 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085336.544 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085337.545 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085338.547 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085339.548 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085340.550 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085341.552 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085342.554 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
24462:20210726:085343.555 cannot send proxy data to server at "172.25.25.1": proxy "proxy" not found
此时通过日志可以看到并不能连接到server,此时需要做代理设置:
完成之后此时再次重启zabbix-proxy然后再次查看日志就已经好了;
[root@proxy ~]# systemctl restart zabbix-proxy.service
[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log
24455:20210726:090009.604 Zabbix Proxy stopped. Zabbix 4.0.5 (revision 90164).
24601:20210726:090009.644 Starting Zabbix Proxy (active) [proxy]. Zabbix 4.0.5 (revision 90164).
24601:20210726:090009.644 **** Enabled features ****
24601:20210726:090009.644 SNMP monitoring: YES
24601:20210726:090009.644 IPMI monitoring: YES
24601:20210726:090009.644 Web monitoring: YES
24601:20210726:090009.644 VMware monitoring: YES
24601:20210726:090009.644 ODBC: YES
24601:20210726:090009.644 SSH2 support: YES
24601:20210726:090009.644 IPv6 support: YES
24601:20210726:090009.644 TLS support: YES
此时需要更改agent
的指向,应该将其指向proxy,而不是直接指向server;此时的访问流程为 server <- proxy -> agent
;
[root@server3 zabbix]# vim zabbix_agentd.conf
98 Server=172.25.25.2
139 ServerActive=172.25.25.2
[root@server3 zabbix]# systemctl restart zabbix-agent
[root@server3 zabbix]# cat /var/log/zabbix/zabbix_agentd.log
此时在查看日志时会提示server端(172.25.25.2)没有发现,需要配置代理;
需要在server端(172.25.25.2)将proxy重启一次,然后再次重启agent 来观察效果;
[root@proxy ~]# systemctl restart zabbix-proxy.service
[root@server3 zabbix]# systemctl restart zabbix-agent
[root@server3 zabbix]# cat /var/log/zabbix/zabbix_agentd.log
23967:20210726:091404.964 Starting Zabbix Agent [server3]. Zabbix 4.0.5 (revision 90164).
23967:20210726:091404.964 **** Enabled features ****
23967:20210726:091404.964 IPv6 support: YES
23967:20210726:091404.964 TLS support: YES
23967:20210726:091404.964 **************************
23967:20210726:091404.964 using configuration file: /etc/zabbix/zabbix_agentd.conf
23967:20210726:091404.965 agent #0 started [main process]
23968:20210726:091404.967 agent #1 started [collector]
23970:20210726:091404.967 agent #3 started [listener #2]
23969:20210726:091404.968 agent #2 started [listener #1]
23971:20210726:091404.970 agent #4 started [listener #3]
23972:20210726:091404.971 agent #5 started [active checks #1]
可以看到在转换为 proxy 时会有一个间断的时间,但是会自动继续开启;
次过程也接受到了告警信息:
和前面一样,在监控java时,也可以设置网关和进程:
[root@proxy zabbix]# vim zabbix_proxy.conf
330 JavaGateway=172.25.25.1
345 StartJavaPollers=5
[root@proxy zabbix]# systemctl restart zabbix-proxy.service
以上是关于企业运维之 zabbix 监控--报警平台与分布式的主要内容,如果未能解决你的问题,请参考以下文章