zabbix-server监控mysql数据库及httpd服务、监控apache、监控ftp

news2024/10/7 8:30:11

目录

一、监控mysql数据库及httpd服务

1、为server.Zabbix.com添加服务模板

2、server.zabbix.com服务端 操作

3、编辑chk_mysql.sh脚本

4、server.zabbix.com测试

 二、监控apache

1、获取键值

2、服务器操作

3、zabbix监控web端导入监控模板

4、server.zabbix.com添加apache模板

 三、监控ftp

1、这里用agent.zabbix.com的主机

2、为ftp添加模板


一、监控mysql数据库及httpd服务

1、为server.Zabbix.com添加服务模板

 

 

 

 

 

 

2、server.zabbix.com服务端 操作

[root@server ~] cd /usr/local/zabbix/etc/
[root@server etc] vim zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
Server=127.0.0.1,192.168.147.135
ServerActive=192.168.147.135
Hostname=server.zabbix.com                  
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.147.135  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命令的链接;

3、编辑chk_mysql.sh脚本

[root@server etc] pwd
/usr/local/zabbix/etc
[root@server etc] vim chk_mysql.sh 
#!/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.147.135'
 
# 端口
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

[root@server etc] chmod 777 chk_mysql.sh   //为脚本加权
[root@server etc] mysql -u root -p123123     //mysql授权
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4111
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> grant all on *.* to 'root'@'server.zabbix.com' identified by '123123';
Query OK, 0 rows affected (0.10 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> \q
Bye

[root@server etc] killall -9 zabbix_agentd
[root@server etc] killall -9 zabbix_server
[root@server etc] /usr/local/zabbix/sbin/zabbix_agentd 
[root@server etc] /usr/local/zabbix/sbin/zabbix_server
[root@server etc] netstat -anpt | egrep ':10050|10051'
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      34683/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      34691/zabbix_server
tcp6       0      0 :::10050                :::*                    LISTEN      34683/zabbix_agentd 

4、server.zabbix.com测试

[root@server etc] zabbix_get -s 192.168.147.135 -k mysql.ping
1
[root@server etc] zabbix_get -s 192.168.147.135 -k mysql.status[Com_update]
452

 二、监控apache

1、获取键值

[root@server ~] vim /opt/check_httpd.sh

#!/bin/bash
#
netstat -lnpt |grep -q :80
if [ $? -eq 0 ]
then
        echo "1"
else
        echo "0"
fi

[root@server ~]chmod +x /opt/check_httpd.sh  
[root@server ~] vim /usr/local/zabbix/etc/zabbix_agentd.conf  
UnsafeUserParameters=1
UserParameter=httpd.status,/opt/check_httpd.sh    
[root@server ~]killall -9 zabbix_agentd
[root@server ~]zabbix_agentd
[root@server ~] ln -s /usr/local/zabbix/bin/zabbix_get /usr/local/bin/zabbix_get
[root@server ~] zabbix_get -s 192.168.200.111 -p 10050 -k httpd.status
[root@serve ~] which netstat
/usr/bin/netstat
[root@serve~] chmod u+s /usr/bin/netstat
[root@server ~] zabbix_get -s 192.168.200.111 -p 10050 -k httpd.status
[root@server ~]systemctl stop httpd

2、服务器操作

首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/master.zip 

zip包有apachememcacheredisvarnish模板,我们解压后使用其中的apache模板。

[root@server ~] wget https://github.com/rdvn/zabbix-templates/archive/master.zip
[root@server ~] ls
anaconda-ks.cfg              jdk-8u91-linux-x64.tar.gz  图片
apache-tomcat-8.5.16.tar.gz  master.zip                 文档
catalina-jmx-remote.jar      zabbix-3.4.11.tar.gz       下载
dead.letter                  公共                       音乐
grafana-4.2.0-1.x86_64.rpm   模板                       桌面
initial-setup-ks.cfg         视频
[root@server ~] mv master.zip /usr/local/src/        //该文件夹没有文件方便查看
[root@server ~] cd /usr/local/src/
[root@server src] unzip master.zip             //解压下载的zip压缩包
[root@server src] ls
master.zip  zabbix-templates-master
[root@server src] cd zabbix-templates-master/
[root@server zabbix-templates-master] ls
apache  memcached  README  redis  varnish           //apache中有我们需要的文件
[root@server zabbix-templates-master] cd apache/
[root@server apache] ls
apache_status.sh  apache.xml  README
//apache_status.sh 该文件时apache的agent监控需要的脚本文件
//apache.xml文件是zabbix需要的模板
[root@server apache] cp apache_status.sh /usr/local/zabbix/sbin/
[root@server apache] vim /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=apache[*],/usr/local/zabbix/sbin/apache_status.sh $1    
//末行追加引用apache_status.sh的监控脚本
[root@server apache] cd
[root@server ~] chmod +x /usr/local/zabbix/sbin/apache_status.sh   //为脚本加执行权限
[root@server ~] ll /usr/local/zabbix/sbin/
总用量 7264
-rwxr-xr-x 1 zabbix zabbix     248 8月   9 14:03 apache_status.sh
-rwxr-xr-x 1 zabbix zabbix 1477216 8月   7 15:00 zabbix_agentd
drwxr-xr-x 4 zabbix zabbix      84 8月   8 05:57 zabbix_java
-rwxr-xr-x 1 zabbix zabbix 5954120 8月   7 15:00 zabbix_server

 

 

3、zabbix监控web端导入监控模板

 

 

 导入

 自此模板就导入成功了 现在为server.zabbix.com添加我们导入的模板

4、server.zabbix.com添加apache模板

 

 三、监控ftp

1、这里用agent.zabbix.com的主机

[root@agent ~] yum install -y vsftpd
[root@agent ~] systemctl start vsftpd             //启动ftp服务
[root@agent ~] systemctl enable vsftpd			//设置ftp服务开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

2、为ftp添加模板

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

B072-项目实战-用户模块--前台登录 三方登录

目录 前台登录-账号登录前端完成左上角显示用户信息配置前置拦截器、后置拦截器和不受限资源拦截器 三方登录-微信登录概述流程图用法代码实现步骤分析:实现准备代码前端login.htmlcallback.html 后端LoginController-微信登录LoginServiceImpl-微信登录解决回调域名不能跨域绑…

【教程】VSCode配置C++环境踩坑记录

时隔一年终于在VSCode配置好了C环境[MinGW] 基础部分踩坑坑0坑1坑2坑3 基础部分 就是安装VSCode,然后再安装C插件之类的,咱这就不罗嗦了,如果不清楚可以参考这篇文章:VSCode配置C/C环境 毕竟解决后面一些棘手的问题更重要。 踩坑…

算法竞赛字符串常用操作大全

算法竞赛字符串常用操作总结来啦~ 👊 大家好 我是寸铁💪 考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~ 冲刺蓝桥杯省一模板大全来啦 💥 ~ 蓝桥杯4月8号就要开始了 🙏 ~ 还没背熟模…

一文带你了解Spring中存入Bean和获取Bean的方式

0. Spring中的五大注解 上图中就是五大类注解对应的层,通过源码可以看到其他四个注解都基于Conponent 1. 存入 Bean Spring既然是一个包含众多工具方法的IoC容器,它是一个控制反转的容器,所以就需要将Bean对象存入到容器中,需要…

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(…

CentOS 8 GLIBC升级失败系统崩溃抢修实战

CentOS 8 GLIBC升级失败系统崩溃抢修实战 1. 恐怖的问题2. 参考解决方案3. 抢修实战3.1 准备工作3.2 抢修流程3.3 解决启动后Permission Denied3.3.1 参考方案3.3.2 解决 4. 总结 服务器为CentOS 8,支持glibc版本为2.28,但编译一个工具的glibc需求版本为…

mysql中的行格式之compact格式分析

mysql中的行格式之compact格式分析 mysql行格式 所谓行格式,就是指mysql一行数据的存储格式。 InnoDB 储存引擎支持有四种行储存格式:Compact、Redundant、Dynamic 和 Compressed。 Redundant是很古老的行格式了,因为占用空间最多&#x…

Small Tip: 怎么找S4HANA所有的CDS View 以及跟BW相关的CDS View

1. 网页上找 1. SAP Business Accelerator Hub 到网址:https://api.sap.com 2. 到Categories底下找。如果没看见CDS View就去View all categories 3. 找到CDS Views之后,点击进去。 4. 按Package 分类来找: 2. 去help.sap.com找SAP S/4HA…

物理机传输大文件到虚拟机

物理机快速传输大文件到虚拟机 测试使用Tabby传输大文件到虚拟机 1.1 准备大文件 1.2 通过Tabby上传文件到Linux 总耗时约:7分钟 1.3 通过EveryThing配置服务 打开EveryThing,点击工具—> 选项—>http服务器 启用HTTP服务器,配置…

【基于 GitLab 的 CI/CD 实践】05、GitLab Pipeline 实践(下)

目录 needs 并行阶段 制品下载 include local 引入本地配置 file 引入其他项目配置 template 引入官方配置 remote 引入远程配置 extends 继承作业配置 extends & include trigger 管道触发 多项目管道 父子管道 image 准备环境 services environment inh…

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题 二、试说明 MAX-HEAP-INSERT(A,10)在堆A(15,13,9,5,12,8,7,4,0,6&#xf…

XR应用云流化,多方面提升 XR 扩展现实体验!

无论是使用户能够协作设计电动赛车,还是帮助观众通过数字世界与自然互动,越来越多的企业利用XR扩展现实为用户提供沉浸式逼真的虚拟环境。 下一代沉浸式技术的应用越来越广泛,图形和人工智能的最新突破正在扩展XR的功能。这四种技术正在XR生态…

网络安全在2023好入行吗?

前言 023年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建…

K12351 生日日期

题目描述 小科的生日是YY年MM月DD日,他想知道自己出生第10000天纪念的日期,出生日算第0天 输入格式 输入三个整数,分别表示YY,MM,DD,其中 1949≤YY≤2016 输出格式 输出小科身体第一万天以后的日期,格式为YY-MM-DD 输入输出…

Jmeter+Maven+jenkins+eclipse搭建自动化测试平台

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知&#xff0c…

Docker 基本管理与应用

目录 一、Docker介绍 1、docker概述 2、容器优势 3、Docker与虚拟机的区别 4、Docker核心概念 二: 安装 Docker 1、环境准备、安装依赖包 2、 设置阿里云镜像源,安装 Docker-CE并设置为开机自动启动 3、信息查看 ​三:Docker 镜像操作…

AHB协议理解

目录 Chapter1 AHB Block Diagram Ginput signal lnput signals Output Signal Chapter3 Transfers AHB接口Overview Chapter6 Data Buses HWDATA HRDATA Chapter1 Introduction AHB: Advanced High-performance Bus ( 高级高性能总线 ) 应用场景:针对高效率&#…

cancal报错 config dir not found

替换classpath中间封号两边的值

这款录音转文字工具让你的录音转写更加便捷

小明:小李,最近我一直在做一个听力练习,但是听力材料都是录音,手动转写真的好慢,有什么办法可以提高录音转写效率吗? 小李:当然有啦!我之前也遇到过这种情况,最后我是通…

边缘检测之loG算子

note // 边缘检测之loG算子:对高斯函数求二阶导数 // G(x,y) exp(-1 * (x*x y*y) / 2 / sigma / sigma) // loG(x,y) ((x*x y*y - 2 * sigma * sigma) / (sigma^4)) * exp(-1 * (x*x y*y) / 2 / sigma /sigma) /* [ 0,0,-1,0,0; 0,-1,-2,-1,0; -1,-2,16,-2…