Zabbix搭建以及使用

本文详细介绍了Zabbix的搭建过程,包括安装Zabbix仓库、配置数据库、启动服务,以及设置监控主机、配置钉钉告警、监控MySQL主从状态。还涉及到Zabbix-agent的安装和配置,以及通过ping监控网络连通性。
摘要由CSDN通过智能技术生成

原理:

五个组件:

1.server:核心引擎,负责收集和接收来自被监控设备的数据同事与其他组件进行通信,管理着所有

规则,包括触发器,告警,监控采集等

2.GUI:这是 web 管理界面

3.database:这是数据存储库

4.proxy:这是一个可选的组件,利用它来实现分布式监控架构或分担Zabbix Server的负载,提高

Zabbix Server的性能。它的主要功能是协助Zabbix Server从被监视的主机或设备收集数

据。Zabbix proxy收集的数据首先存放到本地临时数据库中,随后会定时发送到Zabbix

server中,即便Zabbix Server和Zabbix proxy的连接断开也不会导致数据的丢失(数据保

留的时间可在proxy的配置文件中设置)

5.agent:客户端

搭建以及使用:

1.安装 zabbix 仓库:rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-

release-5.4-1.el8.noarch.rpm

2.安装所需要的工具:dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent @httpd @mariadb -y

3.创建初始化数据库:

        1.mysql -uroot(账户) -p123456(密码)

        2.创建数据库:create database zabbix character set utf8 collate utf8_bin;

        3.创建本地用户:create user zabbix@localhost identified by 'password';

        4.赋予权限:grant all privileges on zabbix.* to zabbix@localhost;

        5.退出:quit;

4.导入初始架构和数据,然后输入刚刚创建用户的密码(password)

编辑:vim /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz

开头加入:use zabbix;

输入:zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -pzabbix

5.编辑配置文件:/etc/zabbix/zabbix_server.conf

DBPassword=password(刚刚的用户密码)

6.启动并开机自启:

systemctl restart zabbix-server zabbix-agent httpd php-fpm mariadb

systemctl enable zabbix-server zabbix-agent httpd php-fpm mariadb

7.进入 zabbix 界面:浏览器打开127.0.0.1/zabbix

8.默认账号密码是:Admin / zabbix

9.安装中文界面:dnf install langpacks-zh_CN.noarch glibc-common

10.编辑:vim /usr/share/zabbix/include/locales.inc.php ,找到zh_CN ,将 flase 改为 true

11.修改(注意:如果选择不了则安装 dnf install langpacks-zh_CN.noarch glibc-common -y)

12.有乱码的时候,复制 Windows 文件到这个路径:/usr/share/zabbix/assets/fonts

13.重命名:mv msyh.ttc msyh.ttf

14.编辑这两处:vim /usr/share/zabbix/include/defines.inc.php

监控主机:

1.被监控端安装 zabbix-agent:

        1.下载仓库:rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-

        5.4-1.el8.noarch.rpm

        2.安装:dnf install zabbix-agent -y

        3.编辑文件:vim /etc/zabbix/zabbix_agentd.conf

        Hostname=被监控主机 ip

        Server=zabbix服务器 ip

        4.启动:systemctl start zabbix-agent

        5.开机自启:systemctl enable zabbix-agent

        6.查看端口:netstat -tpln | grep 10050

2.创建被监控主机:

 

钉钉告警:

1.创建机器人

2.设置安全设置

3.保存链接

4.打开 zabbix-server,进入这个目录:cd /usr/lib/zabbix/alertscripts

5.编辑脚本:vim dingding.py

#!/usr/bin/env python

#coding:utf-8

#zabbix钉钉报警

import requests,json,sys,os,datetime

webhook="https://oapi.dingtalk.com/robot/send?access_token=fb93c68ef62a9ab9786520ccc259b0ccf6be6b867cf182302065cc645bfba8a8" #说明:这里改为自己创建的机器人的webhook的值

user=sys.argv[1]

text=sys.argv[3]

data={

"msgtype": "text",

"text": {

"content": text

},

"at": {

"atMobiles": [

user

],

"isAtAll": False

}

}

headers = {'Content-Type': 'application/json'}

x=requests.post(url=webhook,data=json.dumps(data),headers=headers)

if os.path.exists("/var/log/zabbix/dingding.log"):

f=open("/var/log/zabbix/dingding.log","a+")

else:

f=open("/var/log/zabbix/dingding.log","w+")

f.write("\n"+"--"*30)

if x.json()["errcode"] == 0:

f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))

f.close()

else:

f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))

f.close()

6.赋予执行权限:chmod +x dingding.py

7.创建日志目录:mkdir /var/log/zabbix/dingding.log

授权:chmod 755 /var/log/zabbix/dingding.log

8.授权:chown zabbix.zabbix /var/log/zabbix/dingding.log

9.主配置文件编辑:vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts(刚刚脚本的路径)

10.测试脚本:./dingding.py test gaojing "测试下"

11.创建 zabbix 报警媒介

 

12.给用户添加报警媒介

 

13.创建动作

 

14.测试成功

监控 mysql 的主从:

1.被监控端安装 zabbix-agent:

        1.下载仓库:rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-

        5.4-1.el8.noarch.rpm

        2.安装:dnf install zabbix-agent2 -y

        3.编辑文件:vim /etc/zabbix/zabbix_agent2.conf

        Hostname=被监控主机 ip

        Server=zabbix服务器 ip

        ServerAcite = zabbix服务器 ip

        ListenIP=0.0.0.0

        ListenPort=端口

        4.启动:systemctl start zabbix-agent2

        5.开机自启:systemctl enable zabbix-agent2

        6.查看端口:netstat -tpln | grep 10050

2.创建目录:mkdir /etc/zabbix/test

3.编辑脚本:vim /etc/zabbix/test/mysql_slvae_status.sh

#!/bin/bash

USER="test"

PASSWD="123456"

NAME=$1

function IO {

Slave_IO_Running=`mysql -u $USER -p$PASSWD -h 172.17.0.2 -P 33007 -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'`

if [ $Slave_IO_Running == "Yes" ];then

echo 0

else

echo 1

fi

}

function SQL {

Slave_SQL_Running=`mysql -u $USER -p$PASSWD -h 172.17.0.2 -P 33007 -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'`

if [ $Slave_SQL_Running == "Yes" ];then

echo 0

else

echo 1

fi

}

case $NAME in

io)

IO

;;

sql)

SQL

;;

*)

echo -e "Usage: $0 [io | sql]"

esac

注意:需先创建一个 mysql 登录的账号,-h 的 ip 为 docker 映射的 ip ,-P 则是端口

4.授权:chmod +x mysql_slvae_status.sh

5.编辑文件:vim /etc/zabbix/zabbix_agent2.d/userparameter_mysql_slave.conf

UserParameter=mysql.slave[*],/etc/zabbix/test/mysql_slvae_status.sh $1 #注意路径

6.防火墙放行:iptables -I INPUT -p tcp -m tcp --dport 10050 -m comment --comment

"zabbix_agentd listen " -j ACCEPT

7.保存以及重启:service iptables save && service iptables restart

8.重启:systemctl restart zabbix-agent2

9.重启 docker:systemctl restart docker

10.重启容器:docker restart mm

11.在 server 上测试,能否成功:zabbix_get -s 218.75.249.55 -k mysql.slave[sql]

12.配置监控主机的监控项:

13.配置触发器:

 

14.配置动作:

监控 mysql 的状态:

1.被监控端安装 zabbix-agent:

        1.下载仓库:rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-

        5.4-1.el8.noarch.rpm

        2.安装:dnf install zabbix-agent2 -y

        3.编辑文件:vim /etc/zabbix/zabbix_agent2.conf

        Hostname=被监控主机 ip

        Server=zabbix服务器 ip

        ServerAcite = zabbix服务器 ip

        ListenIP=0.0.0.0

        ListenPort=端口

        4.启动:systemctl start zabbix-agent2

        5.开机自启:systemctl enable zabbix-agent2

        6.查看端口:netstat -tpln | grep 10050

2.防火墙放行:iptables -I INPUT -p tcp -m tcp --dport 10050 -m comment --comment

"zabbix_agentd listen " -j ACCEPT

3.保存以及重启:service iptables save && service iptables restart

4.重启 docker:systemctl restart docker

5.重启容器:docker restart mm

6.配置模板:

ping 监控:

1.安装工具:yum install zabbix-sender -y

2.编辑脚本:vim ping.sh

#!/bin/bash

PINGCMD=/usr/bin/ping

SENDCMD=/usr/bin/zabbix_sender

CHECKHOST=15.235.132.1 #ping 的地址

ZABBIXSERVER=103.138.75.5 #zabbix 服务器

ZABBIXPORT=10051 #zabbix 侦听端口

LOCALHOST=194.233.77.26 #被监控主机,zabbix 的名称

PAG_NUM=1

ZAX_KEY=ping #键值

check_ping() {

$PINGCMD -c $PAG_NUM $CHECKHOST >/dev/null 2>&1

if [ $? -eq 0 ];then

RESPONSE_TIME=`$PINGCMD -c $PAG_NUM -w 1 $CHECKHOST |head -2 |tail -1|awk '{print $(NF-1)}'|cut -d= -f2`

echo $RESPONSE_TIME

else

echo 0

fi

}

send_data() {

DATA=`check_ping`

$SENDCMD -z $ZABBIXSERVER -s $LOCALHOST -k $ZAX_KEY -o $DATA

}

while true

do

send_data

sleep 0.5

done

3.在被监控的主机上创建监控项:

4.创建图形:

5.运行:nohup /bin/bash ping.sh &

注意:需要隔段时间处理

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix是一款开源的网络监控系统,用于监控服务器、应用程序和服务的性能和可用性。以下是Zabbix的基本搭建过程: 1. **安装依赖**: - 首先,你需要一个支持Linux或Windows的操作系统,并确保安装了基本的软件包管理器(如apt-get或yum)。 - 如果选择在Linux上部署,还需要PHP和MySQL/ MariaDB作为Web服务后端和数据库。 2. **下载并安装Zabbix Server**: - 可从官方GitHub仓库下载最新版本的Zabbix安装脚本(zabbix-AGENT、zabbix_SERVER、zabbix_proxy)。 - 使用脚本安装,根据提示配置安装路径和数据库连接信息。 3. **设置Zabbix Web界面**: - 安装Web前端部分,通常是Apache或Nginx,并配置好Zabbix web插件目录(如/usr/share/zabbix)。 - 创建一个Zabbix管理员用户,登录到Web界面并完成初始配置,包括主机模板、监控项等。 4. **配置主机监控**: - 在Zabbix中添加新的主机,输入IP地址、操作系统类型等信息。 - 根据需要安装Zabbix代理(zabbix_agentd),并配置其与Server通信的参数。 5. **创建监控模板**: - 建立监控模板,定义标准的监控规则,这些模板可以应用于多个主机,简化配置。 6. **数据收集与报警**: - Zabbix Agent定期发送系统及应用监控数据给Zabbix Server。 - 设定阈值和触发器,当检测到异常时,将发送通知邮件或短信。 7. **测试与调整**: - 启动监控并检查是否有错误报告,调试问题,可能需要调整配置以优化监控效果。 8. **安全设置**: - 确保Web界面和API的访问限制只有授权用户才能访问,保护敏感信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值