1.Java应用的监控方式
思路:server --jmx ---tomcat:8888
文档:https://tomcat.apache.org/tomcat-8.5-doc/monitoring.html
安装tomcat
[root@server7 ~]# ls
anaconda-screenshots apache-tomcat-8.5.24.tar.gz
[root@server7 ~]# tar zxf apache-tomcat-8.5.24.tar.gz
[root@server7 ~]# ls
anaconda-screenshots apache-tomcat-8.5.24 apache-tomcat-8.5.24.tar.gz
[root@server7 ~]# mv apache-tomcat-8.5.24 /usr/local/tomcat
[root@server7 ~]# cd /usr/local/tomcat
[root@server7 tomcat]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@server7 tomcat]# yum install java-1.8.0-openjdk.x86_64 ##从本机下载
?
[root@server7 tomcat]# pwd
/usr/local/tomcat
[root@server7 tomcat]# cd bin/
[root@server7 bin]# ls
[root@server7 bin]# vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
[root@server7 bin]# cd ..
[root@server7 tomcat]# bin/startup.sh ##开启
[root@server7 tomcat]# netstat -antlup ##查看8888端口是否开启
?
?server端安装zabbix-java-gateway
[root@server5 ~]# yum install -y zabbix-java-gateway.x86_64
[root@server5 ~]# cd /etc/zabbix/
[root@server5 zabbix]# ls
web zabbix_agentd.d zabbix_java_gateway_logback.xml
zabbix_agentd.conf zabbix_java_gateway.conf zabbix_server.conf
[root@server5 zabbix]# systemctl enable --now zabbix-java-gateway.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-java-gateway.service to /usr/lib/systemd/system/zabbix-java-gateway.service.
[root@server5 zabbix]# netstat -antlup
?端口10052开启?
?更改配置文件
[root@server5 zabbix]# vim zabbix_server.conf
JavaGateway=172.25.52.5
StartJavaPollers=5
[root@server5 zabbix]# systemctl restart zabbix-server.service
?在网页上给server7添加JMX
端口填写8888
?添加模板:
?等待片刻可以看到JMX可用性开启:
?? 如果将StartAgents改为0,则可用性变红
[root@server6 ~]# ls
anaconda-screenshots nginx-1.20.2 nginx-1.20.2.tar.gz
[root@server6 ~]# vim /etc/zabbix/zabbix_agentd.conf
StartAgents=0
[root@server6 ~]# systemctl restart zabbix-agent.service ###在前端可以看到JMX---红的
[root@server6 ~]# vim /etc/zabbix/zabbix_agentd.conf
#StartAgents=1
[root@server6 ~]# systemctl restart zabbix-agent.service
?
?将模板更改为agent active,由监控端主动
StartAgents=1,重新启动?
?
2.分布式监控 代理
参考文档:?j.分布式监控 代理
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据,承担一些收集数据的负担,分担了 Zabbix server 的负荷。
此外,使用proxy是实现集中式和分布式监控的最简单方法,所有 agents 和 proxies 发送给一个 Zabbix server,从而集中收集所有数据。
Zabbix proxy 使用场景:
- 监控远程区域设备
- 监控本地网络不稳定区域
- 监控上千设备时,减轻 zabbix server 的负荷
- 简化分布式监控的维护
??注意:Zabbix proxy 数据库必须和 server 数据库分开,否则 Zabbix server 数据库会被破坏。
在前端:删除server6
然后设置server6为Zabbix proxy,安装zabbix-proxy-mysql
[root@server6 ~]# systemctl stop zabbix-agent.service
[root@server6 ~]# systemctl disable zabbix-agent.service
Removed symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service.
[root@server6 ~]# nginx -s stop
[root@server6 ~]# cd /etc/yum.repos.d/
[root@server6 yum.repos.d]# ls
dvd.repo redhat.repo zabbix.repo
[root@server6 yum.repos.d]# vim zabbix.repo
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0
[root@server6 yum.repos.d]# yum install -y zabbix-proxy-mysql
root@server6 yum.repos.d]# cd
[root@server6 ~]# cd /etc/zabbix/
[root@server6 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@server6 zabbix]# vim zabbix_proxy.conf
Server=172.25.52.5
Hostname=proxy
[root@server6 zabbix]# hostnamectl set-hostname proxy
[root@server6 zabbix]# vim /etc/hosts
?
给server5,6,7三个主机都修改本地解析:
?
?
?server6中导入数据
[root@proxy ~]# cd /etc/zabbix/
[root@proxy zabbix]# vim zabbix_proxy.conf
[root@proxy zabbix]# cd /usr/share/doc/zabbix-proxy-mysql-5.0.18/
[root@proxy zabbix-proxy-mysql-5.0.18]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-5.0.18]# scp schema.sql.gz server5:
[root@proxy zabbix-proxy-mysql-5.0.18]# yum install -y mariadb
将文件传给server5:
[root@proxy zabbix-proxy-mysql-5.0.18]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-5.0.18]# zcat schema.sql.gz |mysql -h 172.25.52.5 -uzabbix -p zabbix_proxy
Enter password:
[root@proxy zabbix-proxy-mysql-5.0.18]#
server端建立数据库------->在server端可以查看到数据
[root@server5 zabbix]# vim /etc/hosts
[root@server5 zabbix]# mysql -p
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
?更改配置文件,指向server端:
[root@proxy zabbix-proxy-mysql-5.0.18]# vim /etc/zabbix/zabbix_proxy.conf
[root@proxy zabbix-proxy-mysql-5.0.18]# systemctl start zabbix-proxy.service
[root@proxy zabbix-proxy-mysql-5.0.18]# cat /var/log/zabbix/zabbix_proxy.log
?看到日志中存在问题
?缺少proxy,在网页中添加代理
?让zabbix-agent指向proxy,然后在前端可以看到成功
?
[root@server7 tomcat]# vim /etc/zabbix/zabbix_agentd.conf ####修改
[root@server7 tomcat]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |uniq
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.25.52.6
ServerActive=172.25.52.6
Hostname=server7
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@server7 tomcat]# systemctl restart zabbix-agent.service
在proxy中:
[root@proxy zabbix-proxy-mysql-5.0.18]# vim /etc/zabbix/zabbix_proxy.conf
JavaGateway=172.25.52.5
JavaGatewayPort=10052
StartJavaPollers=5
[root@proxy zabbix-proxy-mysql-5.0.18]# systemctl restart zabbix-proxy.service
?
?
3. 告警
?
?在server端:
[root@server5 zabbix]# vim /etc/zabbix/zabbix_server.conf
[root@server5 zabbix]# cd /usr/lib/zabbix/alertscripts
[root@server5 alertscripts]# ls
[root@server5 alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.0.tar.gz
[root@server5 alertscripts]# tar zxf ca_zabbix_release-4.0.0.tar.gz
[root@server5 alertscripts]# ls
ca_zabbix_release-4.0.0.tar.gz cloudalert
[root@server5 alertscripts]# cd cloudalert/
[root@server5 cloudalert]# ls
bin
[root@server5 cloudalert]# cd bin/
[root@server5 bin]# ls
alert.sh funcs install.sh uninstall.sh
[root@server5 bin]# ./install.sh 0315e5ca2c924b66898d74bd99e966d1
?
?在前端; 1.管理---报警媒介类型 除了第二个(脚本名称: "cloudalert/bin/alert.sh"),将其他禁用
配置----动作----Trigger actions
?登陆第三方告警平台,设置告警
?
在agent:
[root@server7 tomcat]# systemctl stop zabbix-agent.service
?
?
?
?
?
?
|