欢迎光临
我们一直在努力

zabbix 企业级监控平台(二)——进阶实战

文章目录

  • 快速入门
    • 添加监控项
    • 添加触发器
    • 创建监控图形
    • 配置报警媒介
    • 创建用户群组
    • 创建监控模板
    • 自动发现
    • 自动注册
  • 服务监控
    • nginx服务安装
    • mysql服务监控
    • tomcat服务监控
  • 集成外部告警
  • zabbix api
    • 获取token
    • 获取主机列表
    • 删除主机
    • 添加主机

快速入门

添加监控项

加了模板的已经启用,可以查看并使用了

image-20260805225551144

此时需要给server2添加监控项

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

  • 监控CPU负载,添加完记得应用

image-20260805231525356

#消耗cpu
[root@server2 ~]# md5sum /dev/zero &
[root@server2 ~]# top

可以查看变化

image-20260805232241536

  • 监控根分区使用量

image-20260805234423728

数据已更新

image-20260805234647286

  • 监控根分区空闲百分比

image-20260805234911550 空闲96.4084 %

image-20260805235013327

添加触发器

  • cpu负载过高触发器

image-20260806092833286

验证

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

image-20260806093830645

  • 根分区空闲空间低于95%

image-20260806093545740

验证

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

可以看到上一个问题被解决,空闲百分比告警

image-20260806094221453

创建监控图形

为了方便查看,监控cpu负载添加了3个

image-20260806095358196

查看监控图形

image-20260806095527938

配置报警媒介

用网易邮箱配置,QQ邮箱不能配置,密码是授权码

image-20260806115313952

配置完成后测试,成功

image-20260806115455065

这是邮箱收到的邮件

image-20260806115609689

此时禁用其他服务,只保留邮件

image-20260806102458400

配置报警媒介

image-20260806115817218

启用触发器动作

image-20260806102526724

测试

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

出现问题并向邮箱发送

image-20260806103401275

邮箱收到的信息

image-20260806135100619

解决问题

[root@server2 ~]# fg
md5sum /dev/zero
^C

监控察觉到并再次向邮箱发送问题解决邮件

image-20260806103615529

image-20260806135245432

创建用户群组

组名

image-20260806105523465 授予权限

image-20260806105503638 创建普通用户wxh,填写群组、密码、语言

image-20260806105634687

给wxh用户添加报警媒介

image-20260806135548129 给wxh用户授予一定权限

image-20260806105801097

登录普通用户查看

image-20260806105935618 可以发现它的权限不够,比如查看不了模板仓库

image-20260806105935618

重新用管理员账号登录,为wxh用户授予模板权限

image-20260806110601097

再次登录wxh用户就可以看到模板啦

image-20260806110634497

用Admin账户给wxh添加自定义邮件通知

image-20260806112501638

启用自定义通知,关闭原有通知

image-20260806112519427

创建监控模板

定义模板名称,选择群组

image-20260806113504602

搜素到自定义的模板后可以向里面添加监控项、触发器,图形等,我是将server2上添加的复制了过来

image-20260806113441486

自动发现

删除server2,启用发现动作

image-20260806113609156

启用自动发现规则(注意顺序不能乱)

image-20260806113727222

点击自动发现就可以看到

image-20260806113810934

已为其自动添加了模板

image-20260806113859723

自动注册

名称、条件

image-20260806114125453

添加3个操作

image-20260806114348019

修改配置文件

#配置agent 主机元数据
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
HostMetadataItem=system.uname
#重启服务
[root@server2 ~]# systemctl restart zabbix-agent.service

自动注册成功

image-20260806114539218

服务监控

nginx服务安装

#安装
[root@server2 ~]# yum install nginx
[root@server2 ~]# vim /etc/nginx/nginx.conf
location /basic_status {
stub_status on;
access_log off;
}

#启动
[root@server2 ~]# nginx -t
[root@server2 ~]# systemctl enable –now nginx
#测试
[root@server2 ~]# curl localhost/basic_status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0

主机关联服务监控模板,换模板、更新

image-20260806142913898

已更新

image-20260806143019762

mysql服务监控

让 Zabbix 监控系统能够读取到 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
[client]
protocol=tcp
user='zbx_monitor'
password='westos'

主机关联服务监控模板

image-20260806144822950

  • 引入了 Percona(著名的 MySQL 性能优化与监控工具公司) 提供的专业监控脚本

首先导入模板,可以去网上搜索

image-20260806161123616

image-20260806151953335

然后在Centos7的虚拟机也就是server3上操作

[root@server3 scripts]# yum install -y php php-mysql
[root@server3 scripts]# yum install -y mariadb-server.x86_64
[root@server3 scripts]# systemctl enable –now mariadb
[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 scripts]# mysql -u root
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('westos');
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

[root@server3 templates]# cd /var/lib/zabbix/percona/scripts
[root@server3 scripts]# vim ss_get_mysql_stats.php
$mysql_user = 'root';#数据库管理员用户密码
$mysql_pass = 'westos';
...
[root@server3 scripts]# ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/
[root@server3 scripts]# su – zabbix -s /bin/sh -c "/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php –host localhost –items gg"
gg:1#有返回值表示成功

最后加入新模板

image-20260806161522935

  • 也可以在rocky9里操作,只是因为兼容性问题,其他操作与在Centos7里类似,只是要将原有的ss_get_mysql_stats.php文件里的内容替换掉,也不用装mariadb

[root@server2 ~]# yum install -y php php-mysqlnd
[root@server2 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server2 ~]# cd /var/lib/zabbix/percona/templates
[root@server2 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server2 templates]# systemctl restart zabbix-agent
[root@server2 templates]# cd /var/lib/zabbix/percona/scripts
[root@server2 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server2 scripts]# rm -f ss_get_mysql_stats.php
[root@server2 scripts]# ls
get_mysql_stats_wrapper.sh
[root@server2 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php#这里我拖入了写好的脚本,可以借助AI工具来撰写
[root@server2 scripts]# chmod +x ss_get_mysql_stats.php
[root@server2 scripts]# vim ss_get_mysql_stats.php
$mysql_user = 'zbx_monitor';
$mysql_pass = 'westos';
[root@server2 scripts]# su – zabbix -s /bin/sh -c "/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php –host localhost –items gg"
gg:0

加入新模板

image-20260807145853871

tomcat服务监控

部署server端服务

#安装jmx
[root@server1 ~]# yum install zabbix-java-gateway
[root@server1 ~]# systemctl enable –now zabbix-java-gateway

#查看端口
[root@server1 ~]# netstat -antlp|grep :10052

#配置zabbix server
[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.117.161#jmx服务所在主机地址
JavaGatewayPort=10052
StartJavaPollers=5

#重启服务
[root@server1 ~]# systemctl restart zabbix-server

agent上部署tomcat服务

[root@server3 ~]# yum install java-1.8.0-openjdk
[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 ~]# vim bin/catalina.sh
...
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'

#注意:tomcat9.0配置 需要添加换行符 (根据自己的情况任选一种即可)
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888 \\
-Dcom.sun.management.jmxremote.rmi.port=8889 \\
-Dcom.sun.management.jmxremote.ssl=false \\
-Dcom.sun.management.jmxremote.authenticate=false'

#添加主机名解析
[root@server3 ~]# vim /etc/hosts
192.168.117.139 server3#修改为主机agent的主机ip

#启动服务
[root@server3 ~]# /usr/local/tomcat/bin/shutdown.sh#关闭服务
[root@server3 ~]# /usr/local/tomcat/bin/startup.sh#启动服务

#查看端口
[root@server3 ~]# netstat -antlp|grep :8888

添加jmx接口,关联模板

image-20260806164846401 完成

image-20260806165136877

另一个以此类推

集成外部告警

注册睿象云,在智能告警平台里的集成中的监控工具中选择zabbix并配置

image-20260806173136527 安装探针

[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/
[root@server1 alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.5.tar.gz
[root@server1 alertscripts]# tar -xzf ca_zabbix_release-4.0.5.tar.gz
[root@server1 alertscripts]# cd cloudalert/bin
[root@server1 bin]# bash install.sh 4653702519ef4327910211804563d257

image-20260806173101644 资源自动创建

image-20260806173756486 image-20260806173832413

测试

[root@server2 tomcat]# systemctl stop zabbix-agent

image-20260806173940560

出现告警

image-20260806174013310

邮件通知

537689084d9a8dd99dc884fc2d4a3b2a

恢复邮件通知

4c6cd292ecf797c84726ca7aed029eae

zabbix api

获取token

[root@server1 ~]# vim zabbix-api.sh
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.117.161/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# chmod +x zabbix-api.sh
[root@server1 ~]# ./zabbix-api.sh
{
"jsonrpc": "2.0",
"result": "590fbf62e9c54bf6e508c3b7b87004b9",
"id": 1
}

获取主机列表

修改刚刚的文件

[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":"590fbf62e9c54bf6e508c3b7b87004b9"#填写上面获取的token
}' http://192.168.117.161/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api.sh

执行脚本,拉取监控的所有主机列表

image-20260807105423738

删除主机

比如删除server2

[root@server1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.delete",
"params": {
"10648"#填写上面指令获取的主机ID
},
"id": 1,
"auth":"590fbf62e9c54bf6e508c3b7b87004b9"
}'
http://192.168.117.161/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api.sh

image-20260807110534505

刷新,server2已经删除

image-20260807110623669

添加主机

要先停用之前的自动注册动作

[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",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "192.168.117.162",#agent主机IP
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"#主机组ID
}
],
"tags": [
{
"tag": "Host name",
"value": "Linux server"
}
],
"templates": [
{
"templateid": "10001"#模板ID
}
]
},
"id": 1,
"auth":"590fbf62e9c54bf6e508c3b7b87004b9"
}'
http://192.168.117.161/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api.sh

image-20260807111546161

刷新,server2已经加入

image-20260807111651723

赞(0)
未经允许不得转载:171主机测评 » zabbix 企业级监控平台(二)——进阶实战
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址