文章目录
1. 监控数据库
1.2 种类1:mysql
- server端配置
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
- 添加模板
1.2 种类2: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模板)
2. 监控java(使用apache-tomcat)
java监控对象:server2:192.168.17.2
2.1 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'
./startup.sh
netstat -antlupe | grep 8080
netstat -antlupe | grep :8888
2.2 server端配置
server1:192.168.17.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
2.3 添加JMX接口及模板进行监控
- 添加JMX接口
- 添加JMX模板
- 查看是否正常监控
3. 主动式监控
客户端主动发送数据
- 全克隆模板(因为新建太麻烦)
- 修改克隆好的模板为主动式:选择模板Template OS Linux–Active,全选模板的监控项,进行批量更新
- 在agent端取消克隆之前的模板,添加主动式模板
4. 分布式监控(proxy)
- Zabbix通过Zabbix proxies为IT基础设施提供有效和可用的分布式监控
- 代理(proxies)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器。
4.1 实验环境
proxy主机:proxy:192.168.17.3(主机有限,将agent主机变为proxy主机)
- 修改主机名为proxy,从agent主机中删除
- 给所有主机添加解析
vim /etc/hosts
192.168.17.3 proxy
4.2 定义proxy代理服务器
- 创建agent代理
- 设置agent主机server2由代理程序监测
4.3 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.27/schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy
- 开启proxy服务
systemctl enable --now zabbix-proxy
4.4 agent端配置
server2:192.168.17.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
4.5 server端配置
- 重新读取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
4.6 查看监测结果
5. 云告警
智能告警平台:http://onealert.com/
智能告警平台 CA,能快速接入各类告警信息,通过自动去重、规则压缩、算法降噪,实现告警降噪,帮助运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,帮助运维团队更快响应告警,恢复告警,提升告警管理能力
5.1 告警平台配置
- 创建zabbix应用,获取key
- 创建通知策略,选择通知方式为微信(提前绑定微信)
5.2 server端安装CA探针
- 下载包
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
- 发现在前端自动添加了告警媒介、用户、触发器等等
5.3 测试
- 关闭agent端的服务
- 前端查看
- 打开agent服务,前端查看问题得到解决
- 微信显示告警
- 告警平台显示