zabbix(4)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: zabbix(4)

创建图形:


配置--主机--web1--图形--右上角“创建图形”--填写“名称”--添加“监控项”--点击最后一行“添加”


查看图形:

监测--图形--选择“群组”--选择"主机"--选择“图形名称”



###########################################################################################

创建聚合图形:

监测--聚合图形--创建聚合图形--填写聚合图形“名称”--添加--选择新建聚合图形--编辑聚合图形



幻灯片演示:


聚合图形--创建幻灯片演示(把多个聚合图形,按照频率刷新演示)


###########################################################################################

zabbix模板文件下载:

https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates



###########################################################################################

percona模板监控mysql

环境:打开或安装一台mysql:192.168.8.20,并安装zabbix-agent,修改配置文件指向zabbix服务器


1.安装php环境


percona需要php环境

[root@mysql /data/soft]# yum install php php-mysql -y


2.下载软件

注意,安装完成后会有提示模版的路径位置

[root@mysql ~]# mkdir -p /data/soft
[root@mysql ~]# cd /data/soft/
[root@mysql /data/soft]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@mysql /data/soft]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm


3.查看目录


进入安装目录会发现有2个目录,一个是脚本目录,一个是模版目录


cd /var/lib/zabbix/percona/
scripts
  get_mysql_stats_wrapper.sh
  ss_get_mysql_stats.php
templates
  userparameter_percona_mysql.conf
  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

其中脚本目录里有2个脚本,用来获取数据库信息


cd scripts/
ls
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php

4.修改

get_mysql_stats_wrapper.sh

修改get_mysql_stats_wrapper数据库登陆信息

第19行添加mysql账号密码

vim get_mysql_stats_wrapper.sh

修改第19行:

 

RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n'

5.

修改ss_get_mysql_stats.php
vim ss_get_mysql_stats.php 
修改30,31行:
$mysql_user = 'root';
$mysql_pass = '123456';


6.复制自定义监控项配置文件到zabbix目录


cd /var/lib/zabbix/percona/templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

7.重启agent


systemctl restart zabbix-agent


8.测试key(IP是被监控端)


zabbix_get -s 192.168.8.20 -k MySQL.Select-scan



9.导入模版


配置--模板--导入--浏览导入文件--勾选“聚合图形”--最后“导入”


10.主机链接模版


配置--主机--创建主机--选择模板


#############################################################################################################

自定义模版监控nginx状态

环境:打开或安装nginx服务器:192.168.8.20,并安装zabbix-agent,修改配置文件指向zabbix服务器

   

yum -y install epel-release
       yum -y install nginx

   

1.开启监控页面并访问测试

[root@web01 ~]# vim  /etc/nginx/conf.d/default.conf

定位到11行下,添加:

location /nginx_status {
       stub_status on;
       access_log off;
   }

重启服务:systemctl restart nginx


[root@web01 ~]# curl 127.0.0.1/nginx_status/
Active connections: 1 
server accepts handled requests
 6 6 6 
Reading: 0 Writing: 1 Waiting: 0


2.准备nginx监控状态脚本

[root@web01 /etc/zabbix/zabbix_agentd.d]# cat nginx_monitor.sh 
#!/bin/bash
NGINX_COMMAND=$1
CACHEFILE="/tmp/nginx_status.txt"
CMD="/usr/bin/curl http://127.0.0.1/nginx_status/"
if [ ! -f $CACHEFILE  ];then
  CMD>CMD >CACHEFILE 2>/dev/null
fi
# Check and run the script
TIMEFLM=`stat -c %Y $CACHEFILE`
TIMENOW=`date +%s`
if [ `expr TIMENOW−TIMENOW - TIMEFLM` -gt 60 ]; then
    rm -f $CACHEFILE
fi
if [ ! -f $CACHEFILE  ];then
  CMD>CMD >CACHEFILE 2>/dev/null
fi
nginx_active(){
         grep 'Active' CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print NF}'
         exit 0;
}
nginx_reading(){
         grep 'Reading' CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print 2}'
         exit 0;
}
nginx_writing(){
         grep 'Writing' CACHEFILE | awk '{printCACHEFILE | awk '{printCACHEFILE | awk '{print 4}'
         exit 0;
}
nginx_waiting(){
         grep 'Waiting' CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print 6}'
         exit 0;
}
nginx_accepts(){
         awk NR==3 CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print 1}' 
         exit 0;
}
nginx_handled(){
         awk NR==3 CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print 2}' 
         exit 0;
}
nginx_requests(){
         awk NR==3 CACHEFILE| awk '{printCACHEFILE| awk '{printCACHEFILE| awk '{print 3}'
         exit 0;
}
case $NGINX_COMMAND in
    active)
        nginx_active;
        ;;
    reading)
        nginx_reading;
        ;;
    writing)
        nginx_writing;
        ;;
    waiting)
        nginx_waiting;
        ;;
    accepts)
        nginx_accepts;
        ;;
    handled)
        nginx_handled;
        ;;
    requests)
        nginx_requests;
        ;;
    *)
echo 'Invalid credentials';
exit 2;
esac

保存退出

赋予执行权:

chmod +x nginx_monitor.sh


3.编写zabbix监控配置文件

[root@web01 ~]# cat /etc/zabbix/zabbix_agentd.d/nginx_status.conf
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1
[root@web01 ~]# systemctl restart zabbix-agent.service


修改缓存文件权限:

chown zabbix:zabbix /tmp/nginx_status.txt


4.使用zabbix_get取值

zabbix_get -s 192.168.8.20 -k nginx_status[accepts]



5.导入模版


6.链接模版


7.查看数据


##################################################################################################

参考web1添加其他nginx服务器:

配置--主机--web1--点击web1--选择“全克隆”--填写新nginx的ip



------------------------

网络发现:

   加快Zabbix部署

   简化管理

   无需过多管理,也能在快速变化的环境中使用Zabbix

   一般通过网络ip范围自动发现agent主机

 

步骤:

   客户端安装zabbix-agent,配置文件Server指向zabbix-server

   zabbix-server web管理界面--配置--自动发现--修改Local Network--添加主机网段--修改间隔--启用

   zabbix-server web管理界面--动作--事件源(自动发现)--修改现有自动发现--修改触发条件--在线不在线60秒

   zabbix-server web管理界面--动作--事件源(自动发现)--修改现有自动发现操作--添加标题--添加主机、群组、模板--导入--浏览导入文件--勾选“聚合图形”--最后“导入”

 

----------------------------    

自动注册:

   Zabbix Active agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。


步骤:

   客户端安装zabbix-agent,配置文件Server,ServerActive指向zabbix-server,Hostname修改本机主机名

   zabbix-server web管理界面--动作--事件源(自动注册)--填写名称--触发条件主机名--操作(主机、群组、模板)


------------------------------

主被动模式(客户端):

被动模式:默认模式,由服务器向客户端发起监控项请求,每个监控项发一个请求,效率低

主动模式:由客户端主动向服务器申请监控项清单,一起发送给服务器,效率高,不占服务器太多资源


步骤:

客户端: zabbix-agent配置文件需要启用ServerActive指向服务器

        服务器上监控模板批量更新--类型--Zabbix客户端(主动式)


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
设计模式 前端开发 数据安全/隐私保护
前端必须掌握的设计模式——代理模式
代理模式(Proxy Pattern)是一种结构型设计模式,通过引入“替身”对象来间接访问真实对象,从而解耦并提升性能和安全性。例如,知名艺人复出后,经纪人作为代理筛选商单,确保只处理符合团队利益的请求。代码实现中,定义接口`IService`,艺人和经纪人都实现该接口,经纪人在访问时进行过滤和转发。代理模式常用于权限控制、性能优化等场景,如前端中的Tree-shaking和ES6的Proxy构造方法。
前端必须掌握的设计模式——代理模式
|
安全 算法 网络安全
IPsec VPN简介
IPsec VPN简介
1485 6
|
缓存 监控 测试技术
获取API接口数据的最佳实践详解
在开发过程中,与API进行交互是获取数据和服务的关键步骤。本文详细介绍了10个最佳实践,包括明确需求和文档、错误处理、数据验证、性能优化、安全性、日志和监控、版本控制、代码复用和维护、测试以及遵守法律和道德规范,帮助开发者更高效地从API获取数据,确保数据的准确性、安全性和性能。
|
安全 架构师 中间件
5个人如何1年交付了120+项目?分享我在阿里云做交付的工作手记
谨以此文,分享一些我加入阿里云后,我和我所在团队的成长经历。这里既有我个人如何从程序员成长为一个技术经理,也有我的团队如何把事情越做越大的过程和思考,希望能够帮到有需要的人。
5个人如何1年交付了120+项目?分享我在阿里云做交付的工作手记
|
JavaScript 前端开发 Java
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。
470 3
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
|
存储
strcpy、sprintf 与 memcpy 的区别
在 C 语言中,`strcpy`、`sprintf` 和 `memcpy` 是三个用于处理内存和字符串的函数,它们有不同的用途和特点
|
算法 C++
如何精确计算出一个算法的CPU运行时间?
如何精确计算出一个算法的CPU运行时间?
|
Web App开发 移动开发
视频教程 | 1分钟了解支付宝小程序发布流程
一分钟了解支付宝小程序发布流程。
6360 12
视频教程 | 1分钟了解支付宝小程序发布流程
|
机器学习/深度学习 机器人 TensorFlow
TensorFlow 智能移动项目:11~12
TensorFlow 智能移动项目:11~12
209 0

热门文章

最新文章