当前位置: 首页 > news >正文

Zabbix监控平台:从部署到告警的指南

一、zabbix部署

浏览器访问Download and install Zabbix

1.1部署配置

配置仓库

[root@server1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm

安装zabbix server、web前端、agent

[root@server1 ~]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

安装mysql数据库

[root@server1 ~]# dnf install -y mysql-server

[root@server1 ~]# systemctl enable --now mysqld.service

[root@server1 ~]# mysql

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;

mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;

mysql> set global log_bin_trust_function_creators = 1;

mysql> quit;

导入zabbix初始架构和数据

[root@server1 ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix 等待命令行出现

[root@server1 ~]# mysql -uroot -p 注意密码为空

mysql> set global log_bin_trust_function_creators = 0;

mysql> quit;

修改zabbix server 连接数据库的密码

[root@server1 ~]# vim /etc/zabbix/zabbix_server.con

[root@server1 ~]# systemctl enable --now zabbix-server zabbix-agent httpd php-fpm

1.2zabbix前端初始化

使用浏览器访问前端:http://192.168.164.160/zabbix

检查环境

填写前端连接数据库使用的用户和密码

填写zabbix server的信息

初始化完成,进入zabbix

前端界面汉化

安装中文locale支持

[root@server1 ~]# dnf install glibc-langpack-zh -y

生成/刷新locale

[root@server1 ~]# localectl list-locales | grep zh_CN

[root@server1 ~]# cp simkai.ttf /usr/share/zabbix/assets/fonts

[root@server1 ~]# cd /usr/share/zabbix/assets/fonts

重做软连接

[root@server1 fonts]# rm -f graphfont.ttf

[root@server1 fonts]# ln -s simkai.ttf graphfont.ttf

二、添加zabbix-agent

2.1server2配置

设置yum源

[root@server2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm

[root@server2 ~]# dnf install -y zabbix-agent

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf

[root@server2 ~]# systemctl enable --now zabbix-agent

查看监听端口

[root@server2 ~]# netstat -antlp|grep :10050

2.2server3配置

[root@server3 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-latest-6.0.el7.noarch.rpm

[root@server3 ~]# yum install -y zabbix-agent

[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf

[root@server3 ~]# systemctl enable --now zabbix-agent

前端zabbix需要手动添加

[root@server3 ~]# cat /var/log/zabbix/zabbix_agentd.log

手动测试连通性,key值也可以先手动测试是否有返回值

server1上

[root@server1 ~]# yum install -y zabbix-get

[root@server1 ~]#zabbix_get -s 192.168.36.162-p 10050 -k 'agent.ping'

[root@server1 ~]# zabbix_get -s 192.168.164.161 -p 10050 -k 'system.hostname'

三、zabbix前端服务

3.1创建监控项

(1)监控CPU负载

检测

server2上

[root@server2 ~]# md5sum /dev/zero &

[root@server2 ~]# fg 记住退出,否则一直消耗内存

(2)监控根分区使用量

(3)监控根分区空闲百分比

测试消耗磁盘空间

[root@server2 ~]# dd if=/dev/zero of=/bigfile bs=1G count=30

[root@server2 ~]# df -h /

3.2创建触发器

(1)检测cpu负载情况

[root@server2 ~]# md5sum /dev/zero &

[root@server2 ~]# fg

(2)检测根分区空闲空间

[root@server2 ~]# df -h /

告警及处理、确认

3.3创建图形

主机创建图形

以图表的形式展现

3.4媒介

邮件Email

使用网易邮箱测试

发送邮件

接收邮件

报警媒介

禁用email以外所有媒介

用户添加报警媒介

启用触发器动作

server2上进行测试

[root@server2 ~]# md5sum /dev/zero &

收到问题邮件

[root@server2 ~]# fg

收到解决问题邮件

3.5用户群组

添加用户群组

添加权限

创建用户

添加报警媒介

添加权限

添加触发器动作

3.6模板,自动注册动作,自动发现

创建模板

复制server2的配置给创建的模板

删除server2

启用发现动作

先发现动作,在自动发现,发现server2

关闭发现动作、自动发现

创建自动注册动作

设置发现后的操作

启用自动注册动作

修改server2配置文件

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf

[root@server2 ~]# systemctl restart zabbix-agent.service

查看主机,发现server2,server2自动配置

四、服务监控

4.1nginx

agent安装软件,server2上

[root@server2 ~]# yum install -y nginx

修改配置文件

[root@server2 ~]# vim /etc/nginx/nginx.conf

[root@server2 ~]# systemctl enable --now nginx

测试

[root@server2 ~]# curl localhost/basic_status

主机关联服务监控模板

4.2mysql

安装mysql服务

[root@server2 ~]# yum install -y mysql-server

[root@server2 ~]# systemctl enable --now mysqld

[root@server2 ~]# cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server2 ~]# systemctl restart zabbix-agent

配置数据库监控用户

[root@server2 ~]# mysql

mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'westos';

mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

mysql> quit

创建mysql客户端配置

[root@server2 ~]# mkdir /var/lib/zabbix

[root@server2 ~]# vim /var/lib/zabbix/.my.cnf

[root@server2 ~]# systemctl restart zabbix-agent

主机关联服务监控模板

percona数据库监控模板

serfer3上

[root@server3 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

[root@server3 ~]# cd /var/lib/zabbix/percona/templates

拷贝模板

[root@server3 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

[root@server3 templates]# systemctl restart zabbix-agent

[root@server3 templates]# yum search mysql

[root@server3 templates]# yum install -y mariadb-server.x86_64

[root@server3 templates]# yum install -y php php-mysql

[root@server3 templates]# systemctl enable --now mariadb.service

[root@server3 templates]# mysql

MariaDB [(none)]> grant all on *.* to root@'localhost' identified by 'westos';

[root@server3 templates]# mysql -pwestos

[root@server3 templates]# cd /var/lib/zabbix/percona/scripts

[root@server3 scripts]# vim ss_get_mysql_stats.php

测试

[root@server3 scripts]# su -s /bin/sh -c "/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg" zabbix 不能使用超户

4.3tomcat

安装jmx

[root@server1 ~]# yum install zabbix-java-gateway.x86_64

[root@server1 ~]# systemctl enable --now zabbix-java-gateway

查看端口

[root@server1 ~]# netstat -antlp|grep :10052

配置zabbix server,server1上

[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf

[root@server1 ~]# systemctl restart zabbix-server

agent上部署tomcat服务,server3上

[root@server3 ~]# yum install java-1.8.0-openjdk.x86_64

[root@server3 ~]# tar zxf apache-tomcat-9.0.120.tar.gz -C /usr/local/

[root@server3 ~]# cd /usr/local/

[root@server3 local]# ln -s apache-tomcat-9.0.120/ tomcat

[root@server3 local]# cd tomcat/

修改配置

[root@server3 tomcat]# vim bin/catalina.sh

tomcat9

启动服务

[root@server3 tomcat]# /usr/local/tomcat/bin/shutdown.sh

[root@server3 tomcat]# /usr/local/tomcat/bin/startup.sh

[root@server3 tomcat]# netstat -antlp|grep :8888

前端添加jmx接口

JMX开启

五、集成外部告警

使用睿象云智能告警平台,绑定微信、邮箱等可以通知告警

通知策略

分派策略

六、zabbix api

使用api可以进行大量机器的配置操作

登录获取认证token

[root@server1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '

{

"jsonrpc": "2.0",

"method": "user.login",

"params": {

"user": "Admin",

"password": "zabbix"

},

"id": 1,

"auth": null

}' http://192.168.164.160/zabbix/api_jsonrpc.php | python -m json.tool

返回

{
"jsonrpc": "2.0",
"result": "8b989509fa36d7fd7d3ade7ce6a3cf3c",
"id": 1
}

result内字符串就是auth token ,复制保存用于后续接口

查询主机列表

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '

{

"jsonrpc": "2.0",

"method": "host.get",

"params": {

"output": [

"hostid",

"host"

],

"selectInterfaces": [

"interfaceid",

"ip"

]

},

"id": 2,

"auth": "8b989509fa36d7fd7d3ade7ce6a3cf3c"

}' http://192.168.164.160/zabbix/api_jsonrpc.php | python -m json.tool

[root@server1 ~]# chmod +x zabbix-api.sh

[root@server1 ~]# ./zabbix-api.sh

得到hostid

删除主机

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '

{

"jsonrpc": "2.0",

"method": "host.delete",

"params": [

"10444"

],

"auth": "8b989509fa36d7fd7d3ade7ce6a3cf3c",

"id": 1

}' http://192.168.164.160/zabbix/api_jsonrpc.php | python -m json.tool

添加主机

[root@server1 ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '

{

"jsonrpc": "2.0",

"method": "host.create",

"params": {

"host": "server2", agent名称

"interfaces": [

{

"type": 1,

"main": 1,

"useip": 1,

"ip": "192.168.164.161",agent主机IP

"dns": "",

"port": "10050"

}

],

"groups": [

{

"groupid": "2"主机组ID

}

],

"tags": [

{

"tag": "Host name",

"value": "Linux server"

}

],

"templates": [

{

"templateid": "10001"模板ID

}

]

},

"id": 1,

"auth": "8b989509fa36d7fd7d3ade7ce6a3cf3c"

}' http://192.168.164.160/zabbix/api_jsonrpc.php | python -m json.tool

http://www.jsqmd.com/news/1351833/

相关文章:

  • Element UI表格横向滚动条固定底部实现方案
  • Rocky操作系统的安装
  • 德旭仓库直击:夏季高温期防锈剂备货与物流保障
  • HoRain云--Git Flow
  • 深蓝词库转换:终极输入法词库兼容解决方案
  • Java与Python中特殊字符处理实战:编码、存储与传输
  • 华为B6手环耳机换屏维修全攻略:从技术难点到寄修避坑指南
  • Java笔记:绘制简易图形,鼠标监听器,窗口坐标系与标志位
  • Rocky 9.6上部署Zabbix
  • 大模型后训练实战指南:从数据准备到模型部署的完整流程解析
  • LCEL工程化实战:从LangChain原型到生产级AI应用的四种核心模式
  • 专业级AI快速开发工具选购指南多模态Agent框架搭建推荐
  • 成都除四害、灭白蚁哪家好?2026年专业机构选择指南与白蚁预防方案解析 - 优质品牌商家
  • HarmonyOS 7 / API 26 权限弹窗审核自检:申请前说明、拒绝态和二次引导怎么写
  • Excel跨表匹配工具|多表批量查找、提取与汇总
  • Windows下VSCode搭建Scala开发环境:从JDK、sbt到Metals插件全攻略
  • SpringBoot+Vue构建汽车销售管理系统的技术实践
  • 2026年克拉玛依办公家具供应厂家怎么选,实测居易风家具 - 热点品牌推荐
  • 免费macOS鼠标指针终极指南:3分钟让你的Windows焕然一新
  • XSS实战:绕过过滤的payload变形技巧与防御策略
  • SCI期刊被标记On Hold的原因分析与应对策略
  • 【节点】[Keyword节点]原理解析与实际应用
  • Transformer可视化实战:从注意力热力图到词向量空间,直观理解模型内部机制
  • 计算机毕业设计之二手电脑配件商城设计与实现平台
  • 基于COMSOL的储能电池冷板拓扑优化实战:从原理到建模复现
  • 铝管、美妆蛋、木板植绒加工选哪家专业?2026年常州地区厂商综合参考指南 - 优质品牌商家
  • 3分钟玩转Unity游戏汉化:XUnity自动翻译器终极指南
  • 《深圳搬家行业合规化发展趋势:正规签约机制的行业标准与本地服务商参考》 - 深圳家顺兴搬家
  • 系统提示词为什么会被提取,以及分层防护如何落地
  • 若依框架Redis配置加载机制与优化实践