zabbix-监控应用程序(Mysql、Nginx)

  • 基础环境:zabbix服务端、两台zabbix被监控端、分别安装Mysql和Nginx
  • 环境拓扑图:
  • 实验目标:可以通过zabbix监控到被监控端上安装的mysql与nginx,通过zabbix实时检测mysql和nginx的数据。
  • 实验步骤:
  • 1.在8.7服务器上安装Mysql和zabbix-agent:
    • 将文件夹拖拽至8.7服务器上(需要软件可以私信博主)
    • 进入文件夹:cd mysql5.6-rpm/
    • yum -y localinstall *.rpm(开始安装)
    • 启动mysql:systemctl start mysqld
    • 修改密码:mysqladmin -uroot -p password
    • 安装agent修改配置文件:
      • vim /etc/zabbix/zabbix_agentd.conf
      • 启动anentd
  • 2.安装php动态程序识别mysql
    • yum install php php-mysql -y
  • 3.下载使用percona的模版(里面提供mysql的监控项)
    • 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
    • rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
    • 安装之后会提供两个目录,一个是脚本目录,一个是模板目录
    • 其中脚本目录里有2个脚本,用来获取数据库信息
  • 4.进入到脚本目录中修改数据库登录信息:
    • cd /var/lib/zabbix/percona/scripts/
    • vim get_mysql_stats_wrapper.sh
      • 修改第19行,添加mysql账号和密码
    • 修改第二个脚本:
      • vim ss_get_mysql_stats.php
      • 修改第30,31行
    • 5.复制自定义监控项配置文件到zabbix目录
      • cd /var/lib/zabbix/percona/templates/
      • cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
    • 6.重启agent:systemctl restart zabbix-agent
    • 7.查看mysql所有的监控项(导入的190个监控项):zabbix-agent -p
    • 8.测试监控项是否有数据:
      • 在监控端上测试(8.5):zabbix_get -s 192.168.8.7 -k MySQL.table-cache
      • 存在数据代表,被监控端上的Mysql可以被监控
    • 9.在zabbix的web界面上将模版导入(通过web界面来监控关于mysql的190个监控项)
      • 将提前准备好的模版导入进入(需要模版文件的可以私信小编)
      • 将聚合图形勾选上之后点击导入,模版就导入完毕了
    • 10.主机连接模版
      • 添加主机:
        • 最后将主机添加上去即可。
        • 查看190个监控项的数据:
        • 至此zabbix监控Mysql就完成了
    • 11.接下来配置8.6主机,安装nginx,监控nginx
      • 首先安装zabbix-agent
        • 修改配置文件,将Server指向192.168.8.5
        • vim /etc/zabbix/zabbix_agentd.conf
      • 安装nginx,可以使用yum安装也可以拖包本地安装:
        • yum -y install nginx
        • 修改nginx默认配置文件,将状态检测模块配置加入
        • vim /etc/nginx/conf.d/default.conf
          • 定位到11行下,添加:
          • location /nginx_status {
          • stub_status on;
          • access_log off;
          • }
      • 重启nginx:systemctl restart nginx
      • 本机上测试是否可以看到检测出的数据(也可以通过浏览器查看)
    • 12.编辑nginx状态检测的脚本:
      • cd /etc/zabbix/zabbix_agentd.d(存放监控项的目录)
      • vim 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 >$CACHEFILE 2>/dev/null
        • fi
        • # Check and run the script
        • TIMEFLM=`stat -c %Y $CACHEFILE`
        • TIMENOW=`date +%s`
        • if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ]; then
        • rm -f $CACHEFILE
        • fi
        • if [ ! -f $CACHEFILE ];then
        • $CMD >$CACHEFILE 2>/dev/null
        • fi
        • nginx_active(){
        • grep 'Active' $CACHEFILE| awk '{print $NF}'
        • exit 0;
        • }
        • nginx_reading(){
        • grep 'Reading' $CACHEFILE| awk '{print $2}'
        • exit 0;
        • }
        • nginx_writing(){
        • grep 'Writing' $CACHEFILE | awk '{print $4}'
        • exit 0;
        • }
        • nginx_waiting(){
        • grep 'Waiting' $CACHEFILE| awk '{print $6}'
        • exit 0;
        • }
        • nginx_accepts(){
        • awk NR==3 $CACHEFILE| awk '{print $1}'
        • exit 0;
        • }
        • nginx_handled(){
        • awk NR==3 $CACHEFILE| awk '{print $2}'
        • exit 0;
        • }
        • nginx_requests(){
        • awk NR==3 $CACHEFILE| 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
    • 13.编写zabbix监控配置文件(编写监控项,在监控项中引用脚本):
      • vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf
        • UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1
      • 重启zabbix-agent:systemctl restart zabbix-agent.service
    • 14.测试是否可以取到nginx监控项的值:
      • 在监控端上使用zabbix_get取值:zabbix_get -s 192.168.8.6 -k nginx_status [accepts]
    • 15.通过web界面可以监控zabbix:
      • 导入模版(与上方检测mysql导入模版步骤一致,只不过模版文件不一致)
      • 需要模版文件可以私信小编
      • 链接模板:
        • 添加主机、在主机模版中选择nginx模版
    • 16.查看数据:
    • 至此使用zabbix监控应用程序MYsql和Nginx就完成了,感谢观看!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/374728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Asp .Net Core 系列:Asp .Net Core 集成 NLog

简介 NLog是一个基于.NET平台编写的日志记录类库,它可以在应用程序中添加跟踪调试代码,以便在开发、测试和生产环境中对程序进行监控和故障排除。NLog具有简单、灵活和易于配置的特点,支持在任何一种.NET语言中输出带有上下文的调试诊断信息…

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序,如果把硬件想象成一个球体的中心,内核围绕在硬件的外层管理着…

基于Python机器学习算法农业数据可视化分析预测系统(完整系统源码+数据库+详细文档+论文+部署教程)

文章目录 基于Python机器学习算法农业数据可视化分析预测系统完整源码获取方式在文章末尾一、项目简介二、开发环境三、项目技术四、功能结构五、功能实现模型构建封装类用于网格调参训练模型系统可视化数据请求接口模型评分 0.5*mse 六、系统实现七、总结完整源码获取 基于Pyt…

Qt程序设计-自定义QLineEdit控件添加鼠标单击事件

本文讲解Qt自定义QLineEdit控件添加鼠标单击事件。 QLineEdit控件默认没有单击事件,但是项目开发中有时需要单击事件,比如单击QLineEdit控件弹出软键盘。具体实现过程如下: 创建项目,在项目中添加一个类,命名为MyLineEdit 输入继承QLineEdit #ifndef MYLINEEDIT_H #defi…

Redis(十二)Bigkey

文章目录 游标案例生成100万测试数据key生产上限制keys */flushdb/flushall等危险命令不使用keys *&#xff1a;scan Biigkey案例多大算大发现bigkey渐进式删除生产调优示例问题 游标案例 生成100万测试数据key shell: for((i1;i<100*10000;i)); do echo "set k$i v…

分享76个节日PPT,总有一款适合您

分享76个节日PPT&#xff0c;总有一款适合您 76个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1-j7toLaBUBAJbkd85xe4VQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

HiveSQL——设计一张最近180天的注册、活跃留存表

0 问题描述 现有一个用户活跃表user_active(user_id,active_date)、 用户注册表user_regist(user_id,regist_date)&#xff0c;表中分区字段都为dt(yyyy-MM-dd)&#xff0c;用户字段均为user_id; 设计一张 1-180天的注册活跃留存表&#xff1b;表结构如下&#xff1a; 1 数据分…

【知识整理】一文理解系统服务高可用

一、如何理解高可用 1、什么是高可用 高可用性&#xff08;英语&#xff1a; High Availability&#xff0c;缩写为 HA&#xff09;&#xff0c;指系统无中断地执行其功能的能力&#xff0c;代表系统的可用性程度&#xff0c;是进行系统设计时的准则之一。 2、决定可用性的两…

【Go】一、Go语言基本语法与常用方法容器

GO基础 Go语言是由Google于2006年开源的静态语言 1972&#xff1a;&#xff08;C语言&#xff09; — 1983&#xff08;C&#xff09;—1991&#xff08;python&#xff09;—1995&#xff08;java、PHP、js&#xff09;—2005&#xff08;amd双核技术 web端新技术飞速发展&…

前端学习第四天

目录 一、复合选择器 1.后代选择器 2.子代选择器 3.并集选择器 4.交集选择器 5.伪类选择器 1.伪类-超链接&#xff08;拓展&#xff09; 二、CSS特性 1.继承性 2.层叠性 3.优先级 1.优先级-叠加计算规则 2.emmet写法 三、背景属性 1.背景图 ​编辑2.背景图平铺方…

JDK和CGLIB动态代理原理

动态代理会在程序运行时&#xff0c;自动的为原对象生成一个代理对象。该代理对象的方法会有逻辑上的增强&#xff0c;其一方面会执行增强的逻辑&#xff0c;另一方面其实就是通过反射调用被代理类的方法&#xff0c;这个调用过程跟静态代理就很像了。 JDK动态代理Demo如下&…

day04.C++库函数(常用)

目录 一.常用数学函数 #include / #include 二.常用字符串处理函数 #include / #include 2.1常见的内存函数&#xff1a; &#xff08;1&#xff09;memcpy库函数 (2)memcmp库函数 (3)memset 2.2字符串常见库函数 &#xff08;1&#xff09;strlen (2)strcpy 三、其他常…

【Transformer-Hugging Face 06/10】 数据预处理实例

目录 一、说明二、自然语言处理2.1 Pad2.2 截断2.3 构建张量 三、TensorFlow四、处理语音五、计算机视觉六、填充七、Multimodal 一、说明 在数据集上训练模型之前&#xff0c;需要将其预处理为预期的模型输入格式。无论您的数据是文本、图像还是音频&#xff0c;都需要将它们…

Vulnhub靶机:hacksudoAliens

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;hacksudoAliens&#xff08;10.0.2.46&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.com…

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能&#xff0c;企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板&#xff0c;Log360是ManageEngine的统一安全信息与事件管理&#xff08;SIEM&#xff09;解决方案…

数字图像处理(实践篇)四十六 OpenCV-Python 目标定位(Features2D + Homography)

目录 一 单映射Homography 二 涉及的函数 三 实践 一 单映射Homography 在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。 单映射Homography 就是将一张图像上的点映射到另一张图像上的对应点的3x3变换矩阵。从下图中可以看出&#x

深兰科技陈海波出席CTDC2024第五届首席技术官领袖峰会:“民主化AI”的到来势如破竹

1月26日&#xff0c;CTDC 2024 第五届首席技术官领袖峰会暨出海创新峰会在上海举行。深兰科技创始人、董事长陈海波受邀出席了本届会议&#xff0c;并作为首个演讲嘉宾做了题为“前AGI时代的生产力革命范式”的行业分享。 作为国内顶级前瞻性技术峰会&#xff0c;CTDC首席技术官…

国考省考行测:判断推理,论证逻辑

国考省考行测&#xff1a;判断推理&#xff0c;论证逻辑 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能&#xff0c;附带行测和申论&#xff0c;而常规国考省考最重要的还是申论和行测&#xff0c;所以大家认真准备吧&#xff0c;我讲一起屡屡申论和…

Linux进程信号处理:深入理解与应用(3)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;its 6pm but I miss u already.—bbbluelee 0:01━━━━━━️&#x1f49f;──────── 3:18 &#x1f504; ◀️…

SQL 表信息 | 统计 | 脚本

介绍 统计多个 SQL Server 实例上多个数据库的表大小、最后修改时间和行数&#xff0c;可以使用以下的 SQL 查询来获取这些信息。 脚本 示例脚本&#xff1a; DECLARE Query NVARCHAR(MAX)-- 创建一个临时表用于存储结果 CREATE TABLE #TableSizes (DatabaseName NVARCHAR…