zabbix监控的应用
Posted dezasseis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix监控的应用相关的知识,希望对你有一定的参考价值。
一、zabbix监控数据库
socket详解
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
01_mysql数据库的监控
- server端配置172.25.2.1
mysqladmin password westos
mkdir /var/lib/zabbix
vim /var/lib/zabbix/.my.cnf
[mysql]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock
- 重启zabbix-agent服务
systemctl restart zabbix-agent.service
查看是否监控成功并且有流量:
配置->主机->zabbix server->图形-> 关于mysql的监控
02_percona数据库的监控
- 安装percona
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
- 安装php及php-mysql
yum install -y php php-mysql
- 复制key文件模板
cd /var/lib/zabbix/percona/templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
- 重启agent服务
systemctl restart zabbix-agent.service
- 添加用户名及密码到percona数据库脚本
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = 'westos';
rm -fr /tmp/localhost-mysql_cacti_stats.txt
- 导入模板zbx_percona_mysql_template.xml
- 添加percona数据库模板(取消之前添加的mysql模板)
二、zabbix监控java(使用apache-tomcat)
- Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
- 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
java监控对象:server2:172.25.2.2
01_agent端配置
-
安装jdk
yum install -y java-1.8.0-openjdk.x86_64
-
安装apache-tomcat,创建软链接
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat
-
配置tomcat
cd /usr/local/tomcat/bin/
vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
- 启动tomcat
./startup.sh
netstat -antlupe | grep 8080
02_server端配置
server2:172.25.2.1
- 安装zabbix-java-gateway**
yum install -y zabbix-java-gateway
- 修改配置
vim /etc/zabbix/zabbix_java_gateway.conf
9 LISTEN_IP="0.0.0.0"#默认
17 LISTEN_PORT=10052#默认端口
35 START_POLLERS=10
- 开启zabbix-java-gateway服务
systemctl enable --now zabbix-java-gateway.service
netstat -antlupe | grep 10052
- 配置java网关
vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.17.1
JavaGatewayPort=10052
StartJavaPollers=10
- 重启 zabbix-server服务
systemctl restart zabbix-server
03_添加JMX接口及模板进行监控
- 添加JMX接口
- 添加JMX模板
- 查看监控是否正常
三、主动式监控
客户端主动向server端发送数据
- 全克隆模板
- 修改克隆好的模板为主动式:选择模板Template OS Linux–Active,全选模板的监控项,进行批量更新
- 在agent端取消克隆之前的模板,添加主动式模板
四、分布式监控(proxy)
关于proxy概述及配置
关于proxy安装
zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。
- zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix
server,并且在一定程度上分担了zabbix server 的压力. - 此外,当所有agents和proxies报告给一个Zabbix
server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。
01_实验环境
proxy主机:172.25.2.3(主机有限,将agent主机变为proxy主机)
- 停止agent服务
systemctl disable --now zabbix-agent.service
- 停止nginx服务
nginx -s stop
- 修改主机名为proxy
hostnamectl set-hostname proxy
- 将agent主机server3删除
- 所有节点加解析
02_ 增加proxy代理服务器
- 创建agent代理,agent代理程序名称必须与主机名相同
- 设置agent主机server2由代理程序监测
03_proxy端配置
- 安装数据库及proxy
yum install -y zabbix-proxy-mysql
yum install -y mariadb-server
- 开启并创建数据库
systemctl enable --now mariadb
mysql
create database zabbix_proxy character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified by 'westos';
grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
- 修改配置
vim /etc/zabbix/zabbix_proxy.conf
30 Server=192.168.17.1
49 Hostname=proxy
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=westos
#由于server2主机配置了java,所以也要修改java网关,否则监测JMX会失败
329 JavaGateway=192.168.17.1
337 JavaGatewayPort=10052
345 StartJavaPollers=10
- 导入数据
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.31/schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy
- 开启proxy服务
systemctl enable --now zabbix-proxy
04_agent端配置
server2:172.25.2.2
- 修改server为代理服务器IP
vim /etc/zabbix/zabbix_agentd.conf
98 Server=192.168.17.3
139 ServerActive=192.168.17.3
- 重启服务
systemctl restart zabbix-agent.service
05_server端配置
server1:172.25.2.1
-
重新读取zabbix配置文件
zabbix_server -R config_cache_reload
-
在proxy端重启服务
systemctl restart zabbix-proxy.service
-
server端查看日志
cat /var/log/zabbix/zabbix_server.log
-
proxy端查看日志
cat /var/log/zabbix/zabbix_proxy.log
06_查看监测结果
五、云告警
01_告警平台配置
- 创建zabbix应用,获取key
- 创建通知策略,选择通知方式为微信(提前绑定微信)
02_安装CA探针
server端:172.25.2.1
- 下载包
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-2.1.0.tar.gz
- 解压到指定位置
tar zxf ca_zabbix_release-2.1.0.tar.gz -C /usr/lib/zabbix/alertscripts/
- 安装到指定位置
cd /usr/lib/zabbix/alertscripts/cloudalert/bin/
./install.sh 获取的key
- 发现在前端自动添加了告警媒介、用户、触发器等等
03_测试
agent段:172.25.2.2
- 关闭agent端的服务
systemctl stop zabbix-agent
- 前端查看
- 打开agent服务,前端查看问题得到解决
以上是关于zabbix监控的应用的主要内容,如果未能解决你的问题,请参考以下文章