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

目录

一、监控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添加模板

 

 

 

 

 

 

 

 

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

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

相关文章

MediaType的常用类型-GPT问答

MediaType的常用类型-GPT问答 MediaType是一个枚举类,包含了常见的媒体类型。下面是一些常用的MediaType类型: APPLICATION_JSON:JSON格式的数据APPLICATION_XML:XML格式的数据APPLICATION_FORM_URLENCODED:表单格式的…

Baichuan-13B 介绍及微调

文章目录 Baichuan-13B介绍Baichuan-13B特点Baichuan-13B效果Baichuan-13B模型参数 推理和部署模型下载模型推理 微调和部署下载仓库配置环境微调数据微调过程 Baichuan-13B介绍 2023年7月11日,百川智能发布Baichuan-13B! github地址:https:…

【启发式算法】灰狼优化算法【附python实现代码】

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至&#…

【产品经理】小型团队通用工作流程SOP方案

:所谓SOP,即标准作业程序,指将某一事件的标准操作步骤和要求以统一的格式描述出来,用于指导和规范日常的工作。实际执行过程中sop核心是符合本企业并可执行,不流于形式。 一、跨部门工作流程 跨部门流程及职能如下图展…

6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文

6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文 一、捕获ICMP报文 打开Wireshark,选择网络接口并点击开始按钮。分组列表面板不断刷新抓渠道的数据包,为了过滤出我们所要分析的ICMP报文,我们在过滤框中输…

点大商城V2_2.5.0 全开源版 商家自营+多商户入驻 百度+支付宝+QQ+头条+小程序端+unipp开源前端安装测试教程

播播资源安装点大商城V2_2.5.0 全开源版测试后发现后台总体体验下来比较简洁,营销功能还是挺多该有的都有了,相比上一版优化很多细节。首页和会员中心均支持DIY装修,底部菜单也一样,安装测试中目前未发现BUG,小程序整体…

macOS 怎么安装redis数据库

1 访问redis数据库下载网址 http://download.redis.io/releases/ 访问上述的redis下载的网址,确定你想要的版本 然后下载即可 (我选则的是6.2.6) 然后下载 下载后 把这个文件解压,放在自己想要放在的位置 2 打开终端 输入对应的…

1770_VirtualBox下安装Debian

全部学习汇总: GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 作为我自己的日常使用,Debian基本上没有出现过。最多是让它运行在某个设备上作为一个服务的平台,因为很多东西我懒得去配置。 Debia…

mysql中的Innodb_buffer_pool_reads和Innodb_buffer_pool_read_requests

Innodb_buffer_pool_reads和Innodb_buffer_pool_read_requests是什么? mysql服务器维护了很多状态变量(status variables),这些变量提供了其相关操作的信息。 我们可以通过SHOW [GLOBAL | SESSION] STATUS 查看这些变量以及变量值。这些变量有很多&…

Linux--获取最近一次的进程退出码:echo $?

举例&#xff1a; #include <stdio.h> int main() { printf("hello world,pid: %d,ppid: %…

面试题:redis是单线程、StringBuffer是线程安全的

1、说明String 和StringBuffer的区别 类底层/ 可变&#xff1f;线程安全Stringfinal char[] 不可变是StringBuffer char[] 可变 是&#xff08;synchronized方法&#xff09;StringBuilder char[] 可变否 (4条消息) Java基础&#xff1a;String、StringBuffer、…

Linux 漏洞扫描

Linux 漏洞扫描程序会仔细检查基于 Linux 的系统&#xff0c;以减轻潜在的风险和漏洞。 什么是 Linux 漏洞扫描程序 Linux 漏洞扫描程序是一种专门的漏洞扫描工具&#xff0c;旨在识别基于 Linux 的系统中的安全漏洞和弱点,它会扫描配置错误、过时的软件版本和已知漏洞。 为…

TypeScript 学习笔记 环境安装-类型注解-语法细节-类-接口-泛型

文章目录 TypeScript 学习笔记概述TypeScript 开发环境搭建 类型注解类型推断 数据类型JS的7个原始类型Array数组object、Object 和 {}可选属性 ? 和 可选链运算符?. function函数TS类型: any类型 | unknow类型TS类型: void类型TS类型&#xff1a;never类型 &#xff08;几乎…

SQL 删除重复的电子邮箱

196 删除重复的电子邮箱 SQL架构 表: Person -------------------- | Column Name | Type | -------------------- | id | int | | email | varchar | -------------------- id是该表的主键列。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。 删除 所有重复的电…

深入学习 Redis - 深挖经典数据类型之 string

目录 前言 一、string 类型 1.1、操作命令 set / get &#xff08;设置 / 获取&#xff09; mset / mget&#xff08;批量 > 设置 / 获取&#xff09; setnx / setex / psetex &#xff08;设置时指定不同方式&#xff09; incr / incrby / decr / decrby/ incrbyfloat…

深度学习——CNN卷积神经网络

基本概念 概述 卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;是一种深度学习中常用于处理具有网格结构数据的神经网络模型。它在计算机视觉领域广泛应用于图像分类、目标检测、图像生成等任务。 核心思想 CNN 的核心思想是通过利用局部…

线程池学习(五)线程工厂、线程池工厂

Executors 定义的Executor, ExecutorService, ScheduledExecutorService, ThreadFactory和Callable类的工厂和实用程序方法&#xff0c;我们称为线程池工厂。ThreadFactory 为定制化创建新线程的对象,我们称为线程工厂 前面几期的学习中&#xff0c;我已经初步会使用线程池了&…

C++第三讲

思维导图 手动封装一个顺序栈类&#xff08;数据元素为整形&#xff09;&#xff0c;要求私有成员属性&#xff1a;堆区空间的指针&#xff0c;用于存放数据&#xff0c;和一个指向栈顶元素的变量 /* ---------------------------------author&#xff1a;YoungZorncreated on…

【全方位解析】如何写好技术文章

前言 为何而写 技术成长&#xff1a;相对于庞大的计算机领域的知识体系&#xff0c;人的记忆还是太有限了&#xff0c;而且随着年龄的增大&#xff0c;记忆同样也会逐渐衰退&#xff0c;正如俗话所说“好记性不如烂笔头”。并且在分享博客的过程中&#xff0c;我们也可以和大…

React初学者需要的库从哪里下载?

在react官网下载react.js的方法介绍 1、访问react的github官方页面 访问地址为&#xff1a;Downloads | Reacthttps://react-cn.github.io/react/downloads.html 2、点击Download页面中的"Download Starter Kit"按钮&#xff0c;进行下载 学react的时候用到了babe…