资讯详情

Zabbix搭建以及使用

原理:

五个组件:

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.修改(注:如果不能选择,则安装 dnfinstalllangpacks-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))/p>

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 &

注意:需要隔段时间处理

标签: zax三线npn常闭直流传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台