•  作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注
  •  座右铭:云端筑梦,数据为翼,探索无限可能,引领云计算新纪元
  •  个人主页:团儿.-CSDN博客

目录

前言:

zabbix介绍:

实验目标:

zabbix的配置

1.安装zabbix-server

2.启动数据库进入数据库创建账号

3.导入zabbix初始化数据

4.修改zabbix配置文件

5.修改httpd的时区

nginx的配置

1.修改agent配置文件,指向zabbix-server的ip地址

2.启动

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

4.重启服务:systemctl restart nginx

5.准备nginx监控状态脚本

 

mysql的配置

1.同8.6到2的配置

2.安装php环境

3.下载软件

4.查看目录

期待你的点赞收藏与关注


前言:

在信息技术飞速发展的今天,企业数据安全和运营效率成为了大家关注的焦点。 为了应对这一挑战,系统监控软件应运而生,而Zabbix作为一款开源的监控工具,凭借其强大的功能和高度的可定制性受到了广泛关注。

那么,Zabbix到底有哪些神奇的功能呢?它的优势又在哪里呢?接下来,让我们一起来探讨一下。


zabbix介绍:

Zabbix支持多种监控对象,包括但不限于数据库(如MySQL, MariaDB, Oracle, SQLServer)、应用软件(如Nginx, Apache, PHP, Tomcat)、虚拟化平台(如VMware, KVM, XEN, Docker, K8s)以及硬件设备(服务器,存储,网络设备IPMI)。

这种广泛的支持确保了无论企业规模如何,Zabbix都能提供相应的监控需求。

进一步地,Zabbix的优点在于其强大的分布式监控能力和自动发现功能,可以有效降低手动配置的复杂性和出错率。

它对设备性能的要求较低,即使是配置较低的服务器也能承载监控任务,这对于资源有限的中小企业来说尤其重要。

Zabbix的另一个亮点是支持主被动监控模式,这意味着即使在高负载情况下,系统也能够稳定运行,通过被动模式减轻服务器压力。


实验目标:

三台分布式安装,实现Zabbix模板监控mysql

实验拓扑:

192.168.8.5安装zabbix

192.168.8.6安装nginx

192.168.8.7安装mysql


zabbix的配置

1.安装zabbix-server

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent  mariadb-server

2.启动数据库进入数据库创建账号


3.导入zabbix初始化数据


4.修改zabbix配置文件

vim /etc/zabbix/zabbix_server.conf

添加:

DBPassword=zabbix

保存退出


5.修改httpd的时区

vim /etc/httpd/conf.d/zabbix.conf

定位20行:

php_value date.timezone Asia/Shanghai

保存退出


重启服务

systemctl restart httpd zabbix-server zabbix-agent

systemctl enable httpd zabbix-server

6.添加8.6,8.7主机

7.修改图形中文乱码情况

cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

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

zabbix_get -s 192.168.8.7 -k MySQL.table-cache

9.用zabbix_get取值

zabbix_get -s 192.168.8.6 -k nginx_status[accepts]

Nginx与mysql均安装zabbix-agent

nginx的配置

1.修改agent配置文件,指向zabbix-server的ip地址

vim /etc/zabbix/zabbix_agentd.conf

修改:

Server=192.168.8.5

保存退出


2.启动

systemctl start zabbix-agent

systemctl enable zabbix-agent

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

自定义模版监控nginx状态

4.重启服务:systemctl restart nginx

并测试


5.准备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;

        ;;7.

    *)

echo 'Invalid credentials';

exit 2;

esac

6.赋予执行权:chmod +x nginx_monitor.sh

7.编写zabbix监控配置文件

vim  /etc/zabbix/zabbix_agentd.d/nginx_status.conf

UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

8.重启配置文件

9.访问

10.第二台服务器网络发现

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

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

zabbix-server web管理界面--动作--事件源(自动发现)--修改现有自动发现操作--添加标题--添加主机、群组、模板


 

mysql的配置

1.同8.6到2的配置

2.安装php环境

yum install php php-mysql -y

3.下载软件

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

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

4.查看目录

进入安装目录会发现有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

5.为数据库设置密码

6.进入get_mysql_stats_wrapper.sh中修改密码

7.进入 ss_get_mysql_stats.php中修改

8.进入templates,复制自定义监控项配置文件到zabbix目录

cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

9.重启agent

systemctl restart zabbix-agent

zabbix-agentd  -p

10.自动注册:

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

步骤:

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

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


期待你的点赞收藏与关注

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐