从小白到大神之路之学习运维第64天--------Zabbix监控mysql、ftp服务以及自定义配置

第三阶段基础

时  间:2023年7月19日

参加人:全班人员

内  容:

Zabbix监控mysql、ftp服务以及自定义

 

目录

一、Zabbix监控mysql数据库

二、Zabbix监控ftp服务

三、Zabbix自定义监控项


      整体zabbix搭建完成,server端huyang1监控自己以及监控huyang3,切基于lamp平台,服务均开启

服务器整体设置:

主机名IP地址系统功能安装的服务
huyang1192.168.59.137linux

server

agent

mysql
huyang3192.168.59.140linuxagentftp,memory_used、du

一、Zabbix监控mysql数据库

为huyang1添加服务模板

创建mysql服务图形

添加图形的操作

Zabbix服务端:huyang1服务器操作:

cd /usr/local/zabbix/etc/

vim zabbix_agentd.conf

配置如下:

PidFile=/tmp/zabbix_agentd.pid

Server=127.0.0.1,192.168.59.137

ServerActive=192.168.59.137

Hostname=huyang1                  

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

UnsafeUserParameters=1

UserParameter=mysql.version,mysql -V

UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1

UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.59.137  ping | grep -c alive

解 释:

UnsafeUserParameters=1 //允许所有字符的参数传递给用户定义的参数。

UserParameter=mysql.version,mysql -V //定义键值mysql.version,以及键值的值mysql -V

UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1 //定义键值mysql.status[*]

UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.200.111  ping | grep -c alive ///定义键值mysql.ping,指定chk_mysql.sh脚本,使用此脚本检查mysql的运行状态,使用mysqladmin命令指定agent端的数据库连接用户密码ip地址,注意保证mysqladmin命令的链接

编辑chk_mysql.sh脚本

vim chk_mysql.sh

配置如下:

详细配置如下:(根据需要可以修改ip地址后直接使用)

#!/bin/bash

#FileName:    check_mysql.sh

# Revision:    1.0

# Date:        2015/06/09

# Author:      DengYun

# Email:       dengyun@ttlsa.com

# Website:     www.ttlsa.com

# Description:

# Notes:       ~

# -------------------------------------------------------------------------------

# Copyright:   2015 (c) DengYun

# License:     GPL

 

# 用户名

MYSQL_USER='root'

 

# 密码

MYSQL_PWD='123123'

 

# 主机地址/IP

MYSQL_HOST='192.168.59.137'

 

# 端口

MYSQL_PORT='3306'

 

# 数据连接

MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"

 

# 参数是否正确

if [ $# -ne "1" ];then

    echo "arg error!"

fi

 

# 获取数据

case $1 in

    Uptime)

        result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`

        echo $result

        ;;

    Com_update)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`

        echo $result

        ;;

    Slow_queries)

        result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`

        echo $result

        ;;

    Com_select)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`

        echo $result

                ;;

    Com_rollback)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`

                echo $result

                ;;

    Questions)

        result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`

                echo $result

                ;;

    Com_insert)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`

                echo $result

                ;;

    Com_delete)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`

                echo $result

                ;;

    Com_commit)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`

                echo $result

                ;;

    Bytes_sent)

        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`

                echo $result

                ;;

    Bytes_received)

        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`

                echo $result

                ;;

    Com_begin)

        result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`

                echo $result

                ;;

                   

        *)

        echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"

        ;;

esac

chmod 777 chk_mysql.sh   //为脚本加权

 mysql -u root -p123123     //mysql授权

grant all on *.* to 'root'@'server.zabbix.com' identified by '123123';

flush privileges;

exit

重启zabbix服务:

killall -9 zabbix_agentd

killall -9 zabbix_server

zabbix_agentd

zabbix_server

netstat -anpt | egrep ':10050|10051'

server.Zabbix.com测试

ln -s /usr/local/zabbix/bin/* /usr/local/bin/

命令优化

测试:

zabbix_get -s 192.168.59.137 -k mysql.ping

zabbix_get -s 192.168.59.137 -k

mysql.status[Com_update]

查看web效果

二、Zabbix监控ftp服务

FTP服务器:

监控agent的linux主机我们在之前已经做好了 现在直接安装ftp服务即可

yum install -y vsftpd

systemctl start vsftpd          //启动ftp服务

systemctl enable vsftpd //设置ftp服务开机自启

为ftp添加模板

为ftp添加图形

查看web出图效果

ftp服务开启的话,显示为1;没有开启的话,会变成0,如下:

再开启服务,如下:

监控成功!!!

三、Zabbix自定义监控项

实验思路过程:

创建项目、触发器、图形,验证监控效果

自定义简介:

    以上关联的Template OS Linux模板基本涵盖了所有系统层面的监控,包括了我们最关注的几项:ping、load、cpu使用率、memory、disk、网卡流量等等,当然有些触发器的阀值可能需要根据服务器的自身情况进行修改。

下面添加自定义服务器内存使用检测项,在此配置一个监控项为:内存使用250M进行警告提醒和磁盘使用率超过25报警:

   1.修改客户端(huyang3)zabbix_agentd.conf配置文件,最后一行添加:

UserParameter=memory_userd,free -m|grep Mem|awk '{print $3}'

UserParameter=du, df -Th |awk '/\/$/ {print $6}' |awk -F% '{print $1}'

语法:UserParameter=key,shell command

监控key值:memory_userd,key值可以随意编写,但是一会需要在web页面创建监控项时指定key值;

Shell命令或脚本:free -m|grep Mem|awk '{print $3}'

注:在zabbix_server端可以使用zabbix_get -s agent端ip地址 -p 10050 -k key名

通过此命令可以查看agent端key的监控值;

Agent(huyang3)端操作:

vim /usr/local/zabbix/etc/zabbix_agentd.conf

修改配置,重启服务

killall -9 zabbix_agentd

service zabbix_agentd start

Server端测试获取信息:

ln -s /usr/local/zabbix/bin/zabbix_get   /usr/local/bin/zabbix_get  命令优化

zabbix_get -s 192.168.59.140 -k du

zabbix_get -s 192.168.59.140 -k used

Web端添加agent监控项:

 

 

配置自定义触发器:

 

 

 

 

 

 

为自定义项创建图形

 

查看web出图效果:(当前为内存使用情况

同理可得:(磁盘使用率报警)

 

 

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

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

相关文章

SpringBoot中整合Sharding Sphere实现数据加解密/数据脱敏/数据库密文,查询明文

场景 为防止数据泄露,需要在插入等操作时将某表的字段在数据库中加密存储,在需要查询使用时明文显示。 Sharding Sphere ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈, 它由Sharding-JDBC、Sharding-Proxy和Shardi…

确认应答机制与超时重发机制【TCP原理(笔记一)】

文章目录 通过序列号与确认应答提高可靠性正常的数据传输数据包丢失的情况确认应答丢失的情况发送的数据 重发超时如何确定 通过序列号与确认应答提高可靠性 在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做…

iOS 中支持点击网页scheme超链接打开其他app

网页内容如图所示 思路,点击网页中一个href 超链接的时候,会执行 decidePolicyForNavigationAction 方法,我们在改方法中截获URL, 判断如果是URL scheme类型的,则执行 [[UIApplication sharedApplication]openURL:URL…

Tabby - 本地化AI代码自动补全 - Windows10

参考: https://github.com/TabbyML/tabby 为什么选择Tabby 已经有好几款类似强劲的代码补全工具,如GitHub Copilot,Codeium等,为什么还要选择Tabby? Tabby除了和其他工具一样支持联网直接使用之外,还支持本地化部…

椒图——靶场模拟

先查看ip,10.12.13.232模拟的外网ip,其他的模拟内网ip,服务里面搭建好的漏洞环境。 #第一个测试项目,web风险发现 新建,下发任务,点威胁检测,webshell,点扫描任务,点新…

Star History 月度开源精选|2023 年 6 月

上一期 Star History 月度精选是写给市场、运营人员的,而这一期回归到 DevTools 类别,我们六月发现了好一些开发者可以用的不错工具! AI Getting Started 还记得 Supabase “Build in a weekend” 的广告词吗!AI Getting Started…

消息队列——RabbitMQ基本概念+容器化部署和简单工作模式程序

目录 基本概念 MQ 的优势 1.应用解耦 2.异步提速 3.削峰填谷 MQ 的劣势 使用mq的条件 常见MQ产品 RabbitMQ简介 RabbitMQ的六种工作模式 JMS RabbitMQ安装和配置。 RabbitMQ控制台使用。 RabbitMQ快速入门——生产者 需求: RabbitMQ快速入门——消费者 小结 基本概…

S32 Design Studio for ARM(S32DS)下载和安装

1. S32 Design Studio for ARM 介绍 S32 Design Studio for ARM(下面简称S32DS),是 NXP 官方在 2014 年官方推出的,专门面向 S32K、KEA、MAC57D54H等系列微控制器的集成开发环境。 S32DS是由Eclipse和一些插件集成而来的开发平台…

MYSQL数据库-数据库的学习

MYSQL数据库-数据库的学习 MYSQL数据库一、数据库的基本概念二、常见的数据库三、MySQL数据库四、SQL操作五、SQL高级操作六、SQL函数(SQL 拥有很多可用于计数和计算的内建函数) MYSQL数据库 一、数据库的基本概念 1、数据库的英文单词:DataBase 简称 : DB 2、什么…

2023年经典【自动化面试题】附答案

一、请描述一下自动化测试流程? 自动化测试流程一般可以分为以下七步: 编写自动化测试计划; 设计自动化测试用例; 编写自动化测试框架和脚本; 调试并维护脚本; 无人值守测试; 后期脚本维…

MySQL中这14个小玩意,让人眼前一亮!!!

前言 我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。 1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出用户表中…

uniapp调接口出现跨域问题。

今天在写uniapp项目的时候,使用在线模拟接口的时候,出现跨域问题。 【问题描述】: ①在内嵌浏览器运行,不会出现跨域问题,好像是内嵌浏览器自动去掉了跨域问题。 ②在外部浏览器调用的时候会出现跨域问题。&#xf…

MIT 6.829 -- L2 The Internetworking Problem

MIT 6.829 -- L2 The Internetworking Problem 前言The Internetworking Problem: Many Different NetworksGateWays互联网设计原则通用性原则健壮性原则互联网缺点互联网协议标准流程 最早的TCP/IP今天的TCP/IP: IPv4地址分片和重组Time-to-live(TTL)Ty…

使用亚马逊(AWS)云服务在S3上实现图片缩放功能(CloudFront/S3[AccessPoint/LambdaAccessPoint])

亚马逊云服务中的S3对象存储功能和国内阿里云的oss对象存储使用基本一致。但是涉及到存储内容处理时,两家有些差别。 比如:对于云存储中的图片资源,阿里云比较人性化对于基本的缩放裁剪功能已经帮我们封装好了,只需要在url地址后…

11. 利用Tomcat服务器配置HTTPS双向认定

文章目录 Tomcat配置HTTPS1.为服务器生成证书2.为客户端生成证书3.让服务器信任客户端证书4.将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:5.查看证书库6.让客户端信任服务器证书7.配置tomcat8.验证 Tomcat配置HTTPS 1.启动cmd控制台&…

PostgreSQL考试难不难 ?

当涉及到PostgreSQL考试的详细难度,以下是一些可能涉及的主题和考点,这些主题在不同的考试中可能有所不同: 1.数据库基础知识:数据库的基本概念、关系型数据库模型、表、字段、主键、外键等。 2.SQL语言:对SQL语言的掌…

【力扣】543. 二叉树的直径

543. 二叉树的直径 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。两节点之间路径的 长度 由它们之间边数表示。 示例 1: 输入:root…

【智能交互】OPPO接入小布语音技能通关教程:个人开发者实现接口调用

目录 前言实际操作注册OPPO平台账号打开创建技能界面创建技能创建意图槽位解析对话管理对话测试接口代码编写接口创建新建意图对话管理测试猜想测试相关文档前言 适用人群:本教程适合大赛接入小布语音技能的同学以及初次使用小布助手的开发者 本篇文章是博主弄了多次测试才勉…

本地部署 Stable Diffusion XL Gradio Demo WebUI

StableDiffusion XL Gradio Demo WebUI 0. 先展示几张 StableDiffusion XL 生成的图片1. 什么是 Stable Diffusion XL Gradio Demo WebUI2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 Stable Diffusion XL Gradio Demo WebUI6. 启动 Stable Diffusion XL Gradio De…

excel文件导入或导出Java代码示例

1、excel文件导入 controller层接口内容 service层代码 serviceImpl内代码内容 OverrideTransactional(rollbackFor Exception.class)public void importCheckItemExcel(MultipartFile file, Long checkPkgId) throws Exception {if (file.isEmpty()){throw new IOException(…